designcoding
About Table of Contents Keywords Monthly Archive
Support designcoding!

Algorithms

259 posts

Solar Position

May 6, 2012

Experimenting with various plug-ins for solar calculations, I found Daniel Da Rocha’s robust implementation of the solar position algorithm in vb.net. It calculates the solar angle of any place and time. Although it’s written in the old vb.net 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…

Shortest Path Generator

April 30, 2012

This is the continuation of my scripting experiment within Grasshopper. Like the minimum spanning tree algorithm, this is also a famous problem of computational geometry; the shortest path problem. I’m now coding faster and understanding the namespace more easily in Grasshopper. This time, the challenge was implementing Dijkstra’s algorithm for the Shortest Path Generator. Again, it’s a quite powerful algorithm, I even plan to use it in my current project. Although there is a faster alternative, Shortest Walk-in Food4Rhino and it…

Points by Curvature

April 26, 2012

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. I used my favourite surface equation definition (here) as implemented equation of cos(x)+cos(y) in the animation below.

Minimum Spanning Tree

April 26, 2012

This is the updated version of my MST code from 2012. After over a hundred hours of Rhinocommon and Grasshopper SDK studies, and lots of dead ends, I was finally able to calculate the minimum spanning tree of any given curve network in Grasshopper. Problems like these are interesting to me because of their clear logic and diverse areas of applications in design. I tried to simulate Dijkstra’s, Kruskal’s, and Prim’s algorithms, but no chance. There are similar solutions such…

Spatial Mapping made Easy

April 19, 2012

Trying to further improve my experience in 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 the “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…

Approximating Gyroid

April 14, 2012

Another famous shape of architectural geometry is a set of definitions creating minimal surfaces. I’ve found the trigonometric equation of the Gyroid and created a simple logic for approximating it as points in Grasshopper. However, when I searched the net for similar solutions, I found lots of them including the same approach as mine (Wynstan Wu’s definition). I was planning to develop a script in Grasshopper to take these estimated points and pull them to the Gyroid surface. Then, I…

Wind Tunnel in Vasari

April 13, 2012

When I was a student, 3D modeling and rendering on the computer was an advanced skill. I only managed to create my first rendering in the 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 expanded, reaching 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 technical skills…

Quadrilateral Surface Tessellation

April 9, 2012

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. 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. There are potential improvements to this definition such as finding…

Monkey Saddle Surface

April 8, 2012

This is another popular “math surface” being rediscovered by designers nowadays, in 2012. Saddle surfaces, seen above as mentioned earlier (here) have a special type named “Monkey Saddle Surface”. This surface was a dramatic example of how Grasshopper can control equations and instantly show graphical results. 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 add z values to them according to…

Icosahedron by Code

April 5, 2012

I tried different approaches to drawing platonic solids using Grasshopper’s native components. However, it seems impossible now. In geometric definition, a 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 building an icosahedron. One of them is very suitable to implement on Grasshopper’s VB component….

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

    • Algorithms
    • Discourses
    • Fabrications
    • Studios
  • Explore

    • All Keywords
    • Table of Contents
    • Monthly Archive
    • #music
    • #voronoi
    • #dürer
    • #text
    • #galapagos
    • #sinan
    • #octahedron
    • #terrain
    • #icosahedron
    • #tiling
    • #cycloid
    • #weaire-phelan
    • #maxscript
    • #golden-ratio
    • #optimization
    • #hexagon
    • #revit
    • #curvature
    • #hoopsnake
    • #chaos
  • 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