[GHX: 0.8.0066] This is the continuation of my scripting experiment within Grasshopper. Like minimum spanning tree algorithm, this is also a famous problem of computational geometry. I’m now coding faster and understanding the namespace easier in Grasshopper. This time, challenge was to implement Dijkstra’s algorithm of shortest paths. Again, it’s a quite useful algorithm, I even plan to use it in my current project. Although there is a faster alternative, Shortest Walk, I’m happy with this result. Like minimum spanning tree, this script also possibly contains bugs and miscalculations. E.g. in […]

A note about this blog; Should I feel comfortable with all these experiments? I learn so many things here, as I get deeper into this world. Trying to understand and construct a knowledge for myself and my undergraduate students, at the same time, trying to make it as a research diary also for anyone else; understandable, and open. designcoding.net tries to express things “as they are”. That’s why there are no “classy complex” renderings of “algorithmic beauty”, showing things as if they are something else, or more than themselves. Briefly, […]

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

This was a tough job for me to understand scripting in Grasshopper. After over a hundred hours of Rhinocommon and Grasshopper SDK studies, and lots of dead ends, I was finally able to tell Grasshopper to calculate minimum spanning tree of any given curve network. The problems of minimum spanning tree and shortest path in graphs are very interesting for me because of their clear logic and wide area of applications in design. However Grasshopper seems to be incapable of implementing such algorithms using it’s native components. I tried to […]

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

Searching for a meaning to today’s popular design methods and concepts we are all going after. Most of the abstract problems, today described within architectural domains, are very paralell to another field defined by M. Ian Shamos in 1978. Here is the introduction paragraph of his phD thesis; Geometry is a subject that has captured the imagination of Man for at least 2500 years. It is at the very foundation of Art, Architecture, and Mathematics, and plays a central role in a host of other areas. Computer Science, by contrast, […]

Another very famous shape for the new era of architectural geometry is a set of definitions creating minimal surfaces. I’ve found trigonometric equation of Gyroid and created a simple logic to estimate it as points in Grasshopper. However when I seached net for similar solutions, I’ve found LOTS of it including the same approach with me (Wynstan Wu’s definition). I was planning to develop a script in Grasshopper to take these estimated points and pull them to the exact positions a Gyroid equation requires. Then, I found that even there […]

When I was a student, 3D modeling and rendering on computer was an advanced skill. I only managed to create my first rendering at 4th year project. Then, it became a special talent for designers, even opening a freelance business. However that came to an end when that technology has expanded, reaching to everybody. Ten years ago, different ecological analysis methods on geometric designs were also another specialized field that everybody doesn’t have access to. Now it seems those technological skills are becoming more and more user-friendly, and free. Although […]

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

[GHX: 0.8.0066] This is another popular “math surface” being rediscovered by designers. Saddle surfaces, (on the right) as mentioned earlier (here) has another type named “Monkey Saddle” (on the left). This surface was a dramatic example of how Grasshopper is capable of controlling equations and showing graphical results instantly. The mathematical equations start with Z=… this makes it very easy for us to transform any x-y grid centers (a 2d data tree of 3d points) and adding z values to them according to that equation. Monkey Saddle’s center point (0,0,0) […]

QuickShaper (QS) an experimental computer utility for Shape Grammars. It aims to assist designers and students in creating and exploring rule-based designs. QS is first presented and published with Birgül Çolakoğlu at the 25th eCAADe Conference held at Frankfurt / Germany in September 29th, 2007. QS is a scripted utility, written in MaxScript, developed within Autodesk’s 3D Studio MAX version 9. It is not tested on earlier versions. QS works well with Max Design 2011 after modified 1.80 version. This tutorial document [PDF File] presents the basic features of QS. Also you […]

I tried different approaches to draw platonic solids using Grasshopper’s native components. However, it seems impossible now. In geometric definition, platonic solid is a set of points, distributed on a sphere with equal distances. If the set contains 12 points, then it’s an icosahedron. I found lots of information about these objects and mathematicians seem to love analyzing them. They created different approaches to build an icosahedron. One of them is very suitable to implement on Grasshopper’s VB component. They defined exact relative coordinates of each point. This was a […]

[RFA: Revit 2012] It seems simple at first sight, but creating a window definition in Revit requires a lot more time than I expected. A freelance job led me to create this parametric object, when I saw the architect’s sketch of all window types of the building side by side. There was a clear connection between all of them, leading me to define a single window object. Of course I’m not happy with the overall look of the window, those sills; but, what can I say? This first experiment is […]

Here are some results of fourth homework. An animate design sketch of a roof structure. Yağız, Deniz and Sacha created animated results; Derya and Sacha proposed conventional approaches to create “openings” by animating geometries. However, that does not meet the requirement of structural (and logical) intentions of the design problem. Unless some very high-tech materials were introduced to design. On the other hand, Yağız tried to create a structure that looks more like real. This exercise showed us that in any design process, animated approach does not simply refer to […]

This is another old-school approach to parametric modeling, today known better as part of Building Information Modeling fantasy. Revit started to take much of my time although it seems very limiting <still> in 2012 version. As I’m still at the “geometric” side of design, I tried to create parametric objects in order to understand and learn the capabilities of Revit. That was very useful for me in learning this interface. I specially chose Le Corbusier’s chair set as my first experiment of family creating in Revit. In his 100th anniversary […]

After Puzzling, I tried to establish more of Escher’s basic grid transformations using Grasshopper’s native components. This definition simulates Escher’s transformation of four-cornered grids. Postulate is based on the fact that every quadrilateral (or triangular) planar shape can create regular tessellations without gaps or overlaps. In traditional method, this tessellation is achieved by rotating the shape 180 degrees and copying afterwards. However, in Grasshopper we simply define a fifth point for each shape and divide subsurfaces into four triangular surfaces. There are also more complicated methods of Escher that should […]

After a reviewing a short story of digital architecture from Branko Kolarevic, we looked at the roots of the theory and the concepts derived from it such as digital fabrication, building information modeling and parametric modeling. After a short brief, we’ve discussed about the final projects. Next week, we’ll start studying final projects and start to look at individual problems developed from them. Final submissions will highly be related with their design problem; it might be only digital animations, or physical models derived from the parametric counterparts. Example definitions we’ve […]

Nowadays, I found myself back into the traditional hand sketching. Several failed attempts on Grasshopper led me back there. NURBS (and Grasshopper) somehow limits our conception of surfaces to four-cornered (or two directional) manifolds. Although it sounds like limiting our designs, having four-cornered component spaces has still lots of experimental fields for designers. Escher is a cult person, who transforms euclidean coordinate system to meet his design intentions. There are lots of interesting researches about him, while he shows us how it’s possible to manipulate some fundamental geometric systems, although […]

The method used here is inspired from a topic at the Rhino Python 101 Primer. This is a funny method on the recursive operation that creates tree-like shapes composed of arcs. These arcs are constructed by using Arc SED method, that requires start and end points and a vector that is tangent to the arc (at the start point). Therefore, overall look of a chain of these constructions create a smooth look, as all of ths arcs are tangent to previous ones. However, such constructions cannot be simulated (or at […]