This is a useful tip both to solve some of the problems with custom surface subdivisions, and to explain the uses of parametric surface evaluations (the U,V,W thing) and the practical use of data lists. Step 1: Put your points inside 0,0,0 and 1,1,0 so that the resulting coordinates can easily be converted to U and Vs. In the example, we are putting some random points between 0,0 and 1,1 using Populate2d component. Step 2: Then make whatever you want with these points. For example we can create voronoi subdivision or delaunay […]


This year’s lanterns assignment was amazing. With very limited time and experience, Basic Design students created stunning compositions of polyhedra and unrolled complex surfaces. There are also some deviations of original lamp designs . Here are some of them:


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 […]


This is based on my failure of creating an optimum solution to planar polygonal subdivisions. There is a method called Tangent Plane Intersection (TPI), explained briefly here (sometimes similar algorithms are called “planar remeshing” and  “variational shape approximation”) which is effectively used in Trada pavilion (here). I tried to implement a similar method using only native Grasshopper components and no recursion, but it quickly became much more complicated than I thought. It was based on a simple idea that I can obtain the tangent plane of any point on a […]


Below is one of the fourteen final projects of freshman year Basic Design studio in İstanbul Bilgi University Faculty of Architecture. The component, made of folded aluminium sheets. Students insist that this is the most optimal solution to the problem of polyhedra in a component-based structure. They experimented with this shape a lot and tried their best to make one that has similar triangular faces on different sides, so the component would drive the macroform in diverse directions. Prototypes, trying to figure out the connection of multiple components to span […]


This group used aluminium expanded mesh in order to test it’s balance between structural capacity and weight. They folded different sized sheets to create components, then assembled them creating a span of 2,5 meters approx. They managed to control the macroform by manipulating the component precisely. This year, dominant discussion among the studio instructors was the context; how to include (or not include), manage, and think about the context, specifically the place these structures are built on. However for a freshman year Basic Design education, we act very carefully about […]


Today’s design computing class was about thinking simple. We explored how a small but smart design of a tiling system can generate diversity. Some patterns based on a system called “truchet tiling” are modeled in Rhino using patch and block commands. The example below shows the “prototile” of a hexagonal grid, while each edge is divided into two in order to generate a secondary blobish pattern. As the prototile is symmetric, design possibilities does not allow a hierarchical organization. Instead it refers to a homogeneous construction of minimal variations. Below […]


This was a couple of weeks ago, together with my six-year old son Mete, we decided to make a “ball” out of old memory cards. I was curious about a subdivision method, using only planar quadrilaterals to construct a sphere (named as Sixty Square Sphere. There are a couple of models on www. Of course look much better than mine :=). However my son was expecting a “ball” to play. Then, both of our expectations have been partially met, I think. You see the component configuration of squares that create triangular […]


Previous studies on trigonometric surface equations showed me an interesting alternative. This is the modification of the breatstroke surface definition (here). This time, I’m trying to fix the equation and change input values in a fashion that the waves of the surface is 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) (Size: 38.1, X=3, Y=5, animating X’s from 0 to 32) The equation is (cos(y²) – sin((x/5)-y²)) * 10. […]


After the unsuccessful event of the “tumbler wall” here, I decided to return to the brick wall study, but this time starting from easy steps. You may remember this project from 5-axis masonry terminator of ETH, recent shows of RobArch and the Mullberry facade of SHOP architects. First, I studied the easiest possible way to place boxes on a surface; However, this was not a correct layout, but worst of all, some bricks un-realisticly collide!. I tried to develop complex brick layouts several times, then decided to go back to the […]


This was before Spherical Fantasies, while I was tring to update my surface equation definition. In between designerly intentions and mathematical facts, it’s hard to maintain a process, while keeping the definition yet simple and open to exploration. Grasshopper definition is here: [GHX: 0.8.0066] A little tired of mathematical definitions, I started to give names to the animate surfaces I develop. Like the Spherical one, this is also a trigonometric equation of z = cos(x) + sin(x-y2) / 2. The most boring part of these are becoming the sliders. I wanted […]


This is about conforming distortions on surfaces and creating imperfect (say ugly) surfaces. I started with planar surfaces, however continued with spherical ones. There are interesting results when applying trigonometric functions to spherical surfaces. Example surface equations: W=(sin(x*y)) / 2 and W=(cos(x)+sin(x-y²)) / 2 Please be patient if animations are loading slowly. But they represent a way of creating free-form-looking surfaces, highly mathematical behind the scene. Here is the Grasshopper definition: [GHX: 0.8.0066] As you see, I used UVW coordinate system of the sphere, subdivided into 20 pieces. W represents […]


Digging out with Grasshopper, Rhinoscript and Paneling Tools, everything seems to be more and more automated and fast. However my colleagues Mete, Benay and Elif reminded me that, we can always do much with those high-end architectural geometry tools; but we still have to understand and follow the roots, probably best described by the “manual ways”. Sometimes using these methods would be much more intuitive as they are SLOW enough for designers to think about what is going on there… Here is a good example we experimented with our undergraduate […]


Experimenting various plug-ins for solar calculations, I found Daniel Da Rocha‘s powerful implementation of solar position algorithm in It calculates the solar angle of any place and time. Although it’s written in old component, it still works great. I’m trying to create a fast and easy workflow to optimize Grasshopper models based on solar directions. This is done by projecting faces to the solar planes and checking how much of their area is included in that direction. After this check I added a color gradient to see the […]


This is the basic form of a surface division, based on curvature. As each point on the surface has a curvature value, this might be used to dispatch those values and see the points at flat and curved parts of the surface. Here is the Grasshopper definition [GHX: 0.8.0066] (Please use right click + save target as to download ghx definitions in this site. Otherwise your browser may try to execute them as they are xml files). I used my favourite surface equation definition (here) as implemented equation of cos(x)+cos(y) in the animation […]


Trying to further improve my experience on parametric modeling, I’m mixing and joining old definitions to reveal different potentials. I’m experiencing spatial mapping, or morphing in Grasshopper. This is an equivalent form of “flow along surface” command in Rhinoceros. It re-builds a geometric composition over another space (from world XY coordinates onto a surface with UV coordinates here) This is especially useful in creating surface compositions from famous tessellations such as Voronoi. There are lots of things I can do with this functionality. Here is the first example of reconstructing […]


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 […]


As far as I understood, it is impossible to physically construct double curved surfaces from quadrilateral and planar faces. This definition tries to find an optimized alternative to this problem. Given any surface, single or double curved, is divided into standard sub surfaces. But this time, those surfaces are treated as planar surfaces, therefore one corner is moved to meet this requirement. The output consists of only planar surfaces ready for fabrication. Here is the initial definition [GHX: 0.8.0066]. There are potential improvements on this definition such as finding the […]


Today, we’ve studied fundamentals of component-based design methods. Using curves and surfaces as starting points, we’ve experienced ways of translating those entities via design criteria based on our purposes. First, a curve is used to construct a leaf structure. We’ve experienced dispatching data lists and combining them back together. Subdividing curves into points created further entities such as vectors and planes. We used those entities as inputs of regular drawing and modeling commands such as rectangles, or planar surfaces. This in-class exercise can be studied here. Second exercise was the […]


Here are the files of first week. Course introduction (English / Turkish) and first homework assignment. Today, we’ve seen examples and some basic techniques regarding the main concepts of design computing. Tried to create our first associative systems using recording history of events in Rhinoceros. First homework is design of an animated form, simulating the geometric and topological behaviour of a reptile skin. It is a component-based form-finding exercise, introducing some of the principal concepts of associative geometry and recursive [history-enabled] design process. You’ll analyse the formation of a reptile’s skin pattern, and try to […]