designcoding
About Table of Contents Keywords Monthly Archive
Support designcoding!

Algorithms

259 posts

Perlin Noise Generator

August 20, 2023

Perlin noise is a gradient noise function that has been widely used in computer graphics, procedural generation, and various other applications to generate natural-looking patterns. Here is my brief exploration of the Perlin Noise Generator. Although I didn’t fully follow the traditional steps the result looks similar. I started with the square grid and generated random gradient vectors on every grid corner. Then, I implemented the original algorithm’s dot product method. To calculate the value of a point in this…

Tree of Life

August 12, 2023

This Grasshopper exercise is a special one. I used Hoopsnake components to develop the branching design I studied earlier here. This time I multiplied the number and orientations of several tree structures to generate my interpretation of the Tree of Life. The challenging part of the algorithm was to finalize every branch tangent to a predefined circle. Group 3 handles this issue by utilizing a Blend Curve component. There are many Number Sliders to play with the design. Thus, I…

Rhino Viewport Colors

August 8, 2023

Recently I found this VB.net component in an old Grasshopper project. I am not sure if it is mine or not, but I wanted to share it with you. This code modifies Rhino viewport colors quickly without entering the Rhino options window. I frequently modify the viewport colors and grid settings to create renders or animations within Grasshopper. This is why, this component might be useful in making quick modifications to the screen colors. Here is the VB.net code inside…

Open Nest

July 24, 2023

In this short trial, I will be testing the Open Nest add-on for Grasshopper. The add-on is available in food4rhino as of 2023. For this test, I will use the latest exercise on Interlocking structures I experimented with here. Nesting is an important topic, especially in today’s economic crisis. It reduces the waste materials on laser-cut plates. First, I should re-visit the interlocking structures Grasshopper definition here. The below image is the new definition for the interlocking structure: The new…

Terrain Modeling

July 19, 2023

Here is a short tutorial on getting help from Grasshopper in physical terrain modeling. It is a classical architectural terrain modeling process. Let’s see how Grasshopper can help us with this. Part 1: Terrain modeling for Laser cutter The terrain model entered in the Brep data store in this application is a closed/solid model. For now, you can also use ready-made components such as Cone or Sphere (Sph) to quickly produce a solid model. In this application, after we obtained…

Basic Grid Deformation

July 5, 2023

I am still trying to find the simplest solution to some geometric definitions. This is why I called this Grasshopper definition “Basic Grid Deformation”. Here you see the Curve Proximity (CrvProx) component in use. This component calculated the shortest distance between two curves. I think the underpinnings of this component are very interesting. I hope I can code it in Python one day. In order to see the result more clearly, the Previews of the Interpolate Curve (IntCrv) and Square…

Parametric Mug

June 30, 2023

Let’s have some fun with the parametric stuff! You may remember that we created many vases and glass alternatives that we could bake with a single Revolution (RevSrf) component in previous exercises. Since we were referencing the profile curve drawn in Rhino, it was also possible to create a one-component glass algorithm with some Rhino knowledge. Now, we will try to develop a parametric mug. In the application you see here, we carried out the drawing of the profile curve…

Attractor Basics

June 29, 2023

In this short tutorial, I want to give Grasshopper beginners the basics of how we create attractor systems. The Grasshopper definition you see in the below figure is the equivalent of array-type copying operations in CAD. However, unlike in CAD programs, here we are dealing with multiple generations of objects rather than transformations. Attractor Basics: Data Matching In the application you see in the figure below, each row of the hexagonal grid created with HexGrid has a different radius value….

Voronoi Cage

June 26, 2023

I have created a straightforward Grasshopper code that generates a Voronoi diagram on a surface. Then, it adds thickness to form a structure called a “Voronoi Cage.” In the initial step, I project a surface onto the ground plane (Z=0). The projected frame serves as the boundary for two operations: generating random points using the Populate 2D (Pop2D) function and calculating the Voronoi diagram based on these points. The resulting Voronoi cells are then slightly offset inwards. Moving on to…

Rhombille Tiling on Surface

June 13, 2023

This is an update on my 2012 exercise on rhombille tiling. This reminded me of the old-school subdivisions of surfaces again after 11 years. It was while reading about rhombic dodecahedron (the stackable solid), that I came across this cute tiling. It’s quite simple, just a hexagonal grid with a special reconstruction. I decided to recreate it by using well-known native Grasshopper components. I animated the result with a variation of the Breaststroke surface function (described here). Then I reconstructed…

« 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 … 24 25 26 »
  • Chapters

    • Algorithms
    • Discourses
    • Fabrications
    • Studios
  • Explore

    • All Keywords
    • Table of Contents
    • Monthly Archive
    • #archimedean-solid
    • #fourier
    • #vector-field
    • #cuboctahedron
    • #designcoding
    • #fractal
    • #gosper-curve
    • #macro
    • #truncated
    • #geodesic
    • #hotwire-cutting
    • #aluminium
    • #brick
    • #icosahedron
    • #space-syntax
    • #puzzle
    • #phyllotaxis
    • #kangaroo
    • #dürer
    • #data-flow
  • 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