Another tutorial we’ve analysed together with ARCH362 students last week was the one that mimics Zaha Hadid’s Kartal Masterplan. Although the project of Zaha Hadid was pretty much controversial among Turkey’s architectural critics (and most of the people also), we’re not dealing with how successful of “ugly” it is, but the most simple version of the technique that generated such forms. We have a term “çakma” in Turkish that means “conscious imitation, possibly full of errors”. But however, this “çakma Kartal Project” example has a pedagogical intention that a technique or concept could […]


This was the initial example of image processing at our Parametric Modeling class. I saw this design at Maxthreads Architectural Design’s website (especially here). Hand-drawn and digital diagrams can also be digitized and used in order to describe certain parameters for design formation. Such algorithms would similarly use Image Sampler Component of Grasshopper. In the algorithm below, image data is used to capture black pixels as attractors of a Voronoi subdivision. A regular point grid is dispatched according to Brightness values so that the points lie on the lines of the drawing […]


Fracture is a simple effect experiment on Grasshopper. Although it is not the best tool for an interactive media installation regarding its performance, I tried to use it as a simple sketching tool for concept development. It is the sketch of a material system we are working on nowadays for an Exhibition. Initial diagram on Grasshopper includes a nested voronoi subdivision broken by moving attractor points. It is not fast enough for a real-time interaction yet, because of the time it takes to develop planar surfaces. I’ll continue with this […]


The story of Atatürk Cultural Center (in Turkish: Atatürk Kültür Merkezi – AKM) is dated back to 1930’s. The first project was commissioned to Auguste Perret, who started the construction in late 30’s. However, war and financial problems caused the construction to be halted. The project continued in the early 1950’s with major updates and extensions. Faruk Akçer and Rüknettin Güney were responsible for this second version. This version is partially built until 1960, the coup d’etat. The last AKM version was to be designed by Hayati Tabanlıoğlu, who studied […]


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 behaviour 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, number of samples, and the “grid blast” parameter, which is just a t value evaluation of force fields. The first animation below shows the travelling point […]


Back to serious business, I finally managed to make use of force fields in Grasshopper. It was a couple of updates ago, a new tool group emerged in vector tab, introducing different  types of vector fields to users. These fields could be merged together to form more complex effects. However, I created a very simple example of how we can use those components to create a distortion on a system (such as a regular tessellation).   Using attractor forces (usually in geometric forms) is one of the fundamental concepts of […]


Today’s Architectural Geometry course was about platonic solids and different attractor objects in introducing component-based design systems. Benay’s idea was both pedagogical and interesting to test in Grasshopper. I searched for the most fundamental type of attractor solid in creating a composition such as this; There is a subdivided sphere and an attractor sphere. Pull component works great here. You may use multiple attractor solids or different shapes such as platonic solids as attractors. It is a quite easy and funny definition to play with and to tell students about […]


This is my first try of DesignScript syntax. It is quite easy to understand and on-screen reference help seem to work well. It creates regular AutoCAD entities when you run. One of the most important concepts of this language is said to be a kind of associativity that updates objects when any parameter is changed while script is running. However such associativity is not possible after the script has finished running. If you want to use regular imperative style, you should use directive [imperative] in  the script to tell it […]


Today, we’ve finished first phase, the introduction to dataflow management in visual programming environments; and conducted “well defined” part of the mid-term examination. First two questions were designed to test technical skills of data matching, geometric evaluation. First one was a simple algorithm that calculates the area of ANY triangle in real-time. Tricky part of this problem was to research and find ways of calculating area and implementing it in Grasshopper. Most obvious formula, “a x h / 2” is used generally. In that scenario, finding “h” in any triangle […]


Today’s subject was closely related with the one last week; the data list and data tree management. Creating suitable data structures for our purposes is one of the tricky parts of whole Grasshopper experiments. We’ve developed a grid of objects, somehow associated with another one (a curve). Strong emphasis was on the way of thinking, getting back and forth on the process and re-definition of data-lists. Especially, this in-class exercise would help you understand basic design technique in such environments. Every design decision should be defined clearly and implemented to […]


This is the basic definition of one point attractor on a grid of points. [GHX: 0.8.0066] Here, fundamentals of data tree matching can be studied. A hexagonal grid is exploded into points and new polygons are created there. Instead of a standard point distance relation to polygon size, this time the distance factor effects rotational angle of these polygons. Although the structure of data trees are getting complicated, this has no difficulty on such definition, because the operational complexity is still very simple. This means, we might use complex data trees, however the […]


In this experiment, I’m trying to use data recorder to change components on a surface. The component part is a standart triangular construction, but the attractor points are defined by a 2D slider that is connected to a data recorder. Data recorder remembers last 15 points, while you move the 2d slider, last 15 points are projected on the base surface. This creates an illusion as if a “snake” game on a surface. Definition then uses the closes point distance method to calculate a parameter and uses it to amplify […]


This is a starting point of pattern generation study in a dataflow environment. Based on Hankin’s method of Islamic Pattern generations, I tried to simulate his process beginning with a basic regular tiling (regular hexagonal tessellation). This and other methods are explained in phD thesis of Craig S. Kaplan (here) Grasshopper definition can be downloaded here: [GHX file:0.8.0063] This approach is especially good at deformations from various attractors (without breaking linear stability). Further research should include other generation methods such as the rule-based approach that, at first sight seems to […]


This study includes three main topics related with the basics of Grasshopper. First one is the surface subdivision, parametric definition of a surface component, that is, in this case a simple pyramidal object. Second thing is the associative behaviour of surface component with an external parameter, that is another entity in space; a curve. Traditionally, this is simple demonstrated by 1)finding area controids of each surface panel, 2)finding the closest point on the attractor curve for each centroid, 3)calculate the distance between each centroid and it’s closest point on the […]