designcoding
About Table of Contents Keywords Monthly Archive
Support designcoding!

Algorithms

263 posts

Truchet Tiling

March 13, 2013

This elegant and straightforward tiling geometry is credited to Dominican priest Sebastien Truchet in 1704 and was documented in a book titled “Memoir sur les Combinasions” (A Memoir on Combinations). After delving into the renowned Truchet Patterns in 2013, I revisited their three-dimensional tiling counterparts today. This served as a valuable exercise in geometry during my previous Design Geometry course. I believe it enhances one’s proficiency in mastering the technical aspects of Rhino software and in creating seamless tilings through…

Snub Square Surface

February 20, 2013

For the last 10 days, I’ve been searching for a proper algorithm for representing surfaces using planar shapes. It is obvious that triangulation is an answer but there is an interesting research topic of planar remeshing using shapes other than quads, hexagons, or any other regular polygons. Especially in computer graphics, such things refer to the optimization of models to decrease the load of GPUs. In the Grasshopper community, this has also been discussed and there is a great implementation…

Minimal Parquet Deformations

January 28, 2013

Is it possible to model a two-way parquet deformation using only native components of Grasshopper? In this definition, I limited myself to 10 of them. Parquet deformations are a very interesting and pedagogical topic to teach some of the basics of contemporary parametric modeling. This post explains a minimal parquet deformations algorithm in Grasshopper. However, this has its own limitations. You will see that the definition generates the attractor graph curve. Because the graph input tool creates the magic here….

Breaststroke Surface Revisited

January 24, 2013

Previous studies on trigonometric surface equations showed me an interesting alternative. This is the modification of the breaststroke surface definition. This time, I’m trying to fix the equation and change input values in a fashion that the waves of the surface are not symmetrical. Here are a few experiments on it; (Size, 44.8, X=10, Y=5, animating X’s from 0 to 32) (Size: 42, X=7, Y=5, animating X’s from 0 to 32) The equation is (cos(y²) – sin((x/5)-y²)) * 10. This…

Baklava

January 23, 2013

In Turkish, there is a strange word “baklava” that has many uses. According to Wikipedia: Baklava is a rich, sweet pastry made of layers of filo pastry filled with chopped nuts and sweetened with syrup or honey. It is characteristic of the cuisines of the former Ottoman Empire and those of Central and Southwest Asia. However, we should add that 150 gr. of baklava is 413 calories. Here is it (with pistachio): The other use of this word comes from…

Waterbomb Tessellation

January 23, 2013

It all started with my new passion for origami tessellations, not much of origami, but the tessellation part. I was too lazy to fold it physically, nor model them using an engine such as Kangaroo. That would also be very unnecessary (and yes, very boring) to simulate a folding effort on the computer unless we lose our connection with the real world. Instead, I tried to look at a much more abstract, silly, and basic part of it; the creasing…

Parametric Brickwork

January 7, 2013

You might recall this type of parametric brickwork from architectural classics, such as the Programmed Wall by ETH Zurich and Gramazio Kohler Research, or the facade of the Mulberry House by SHoP Architects. Initially, I explored the simplest method for placing boxes on a surface, but this approach didn’t yield the correct layout. To improve it, I introduced gaps, which not only liberated the wall’s design but also opened up exciting possibilities for manipulating the “gap” parameter and brick sizes….

Clustering

January 2, 2013

The famous “Deutsch limit” says, “you cannot have more than -say a hundred- components in a visual programming environment, that is why you cannot write an operating system with it.”; so it says, the perceptual and pedagogical advantages of visual programming are limited according to the size of your screen. However, there are two main oppositions to this argument. One of them says “textual programming environments have the same limitation, as you cannot have more than x lines of code…

Regenerating Random Numbers

January 2, 2013

Just a quick tip as I thought might be useful in some cases. Generating random numbers in architectural scripting is not a too catchy thing for designers. It is for sure, we want every parameter to be under our control (as if it were possible!). I was thinking about that in Grasshopper. A dataflow graph such as in Grasshopper regenerates whenever necessary (a change on an input value “fires” every connected component), therefore random number component requires your action (for…

Inflating Grids

December 28, 2012

After playing with vector fields in 2d (here) it was quite easy to create a 3d surface deformation. Here is my first experiment on a regular triangular grid’s three-dimensional behavior within a vector space, that includes a point charge of varying z coordinates. That makes field lines escape to a bounding box, instead of a bounding rectangle. Again, you may play with force decay, the number of samples, and the “grid blast” parameter, which is just a t-value evaluation of…

« 1 2 3 … 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 »
  • Chapters

    • Algorithms
    • Discourses
    • Fabrications
    • Studios
  • Explore

    • All Keywords
    • Table of Contents
    • Monthly Archive
    • #grid
    • #aperiodic
    • #regulations
    • #calculus
    • #tiling
    • #islamic-pattern
    • #rhombus
    • #photoshop
    • #gosper-curve
    • #art
    • #quad
    • #wood
    • #linear-algebra
    • #vbnet
    • #galapagos
    • #responsive
    • #deformation
    • #arduino
    • #stone
    • #parametric-curve
  • Search

  • Support designcoding!

  • Enjoying designcoding? Support me on Patreon to keep it growing. Thank you!

  • copyright 2026 designcoding.net | about | privacy policy | end user license agreement