designcoding
About Table of Contents Keywords Monthly Archive
Support designcoding!

Algorithms

259 posts

Interlocking Structure with Boolean

August 23, 2026

You are seeing the last of the interlocking system trials that I have previously tested in two exercises. If you remember, in our first trial, we were drawing interlocking joinery details on cross-sections using closed curves, without any solid modeling. And here is the most advanced one, I guess. In this exercise, however, we are creating a solid model that incorporates these interlocking details. This time, we will look at how to construct the same system using Boolean operations. Boolean…

Slope Map on Terrains

August 18, 2026

I previously shared the Grasshopper definition for terrain generation that we used in last year’s Basic Design studio. One of the goals of this project was to take the first step toward developing students’ skills in understanding, processing, and utilizing terrain data as a design input. To support this objective, we provided them with small supplementary tools. One of these tools was the slope map. As you can see, this is quite a simple Grasshopper definition. It computes the slope…

Designcoding WordPress Theme

August 14, 2026

Designcoding is a lightweight, content-focused WordPress theme built around simplicity, speed, and readability. It uses a clean desktop layout with a responsive mobile version and does not require any plugins, page builders, external frameworks, or third-party services. The theme has been tested with LocalWP on a clean WordPress installation and works as intended. The theme includes several built-in content discovery features. Explore uses tags to help visitors discover related topics, while individual posts can automatically display up to five Related…

Catenary Dome without Kangaroo

August 13, 2026

When thinking about serious and specific topics, I suddenly find myself looking back at the basics again. Catenary curves, are not the most beautiful one among those mathematical forms found in nature. However, it still tells us a lot about structures. The name apparently comes from catenaria, the Latin word for “chain”. This Grasshopper code was actually an example from our book 10 years ago (link here). It seems catenary curves could potentially be used in a type of dome…

Terrain Generator

August 13, 2026

Last year, for the midterm assignment in our first-year basic design studio, we gave our students a range of different, randomly generated contexts to work with. For this purpose, I developed a small Grasshopper tool that makes the graph of a function look as much like a terrain model as possible. This tool is not really a procedural terrain generator. I would genuinely like to build one, someday. What we have here is simply a function surface. At the inputs,…

Scary Patterns

August 6, 2026

While digging through my archives, I found an old animation I made in 2023. Back then, I was generating patterns with Parakeet. Thanks to this talented add-on, I managed to create a nice pattern by dressing a different component onto a Snub Square tiling base. However, for some reason, things started turning into a horror movie after that. MultiPipe was popular back then. So, I converted this pattern into surfaces using MultiPipe and attempted an animation using Rhino’s rendered viewport…

Dual Polyhedra in Grasshopper

October 7, 2025

Exploring dual polyhedra in Grasshopper is an interesting topic. In this post, I try to generate the dual of any polyhedron using Rhino Python and possibly Grasshopper. I developed this code for Rhino Python earlier here, and now I have converted it into a Grasshopper-Python component for better usability. I start the process by breaking the polyhedron into individual faces and gathering the corner points of each face. These points become the vertices of the dual polyhedron. Then, for each…

String Art in Rhino Python

June 19, 2025

String art is a cool art technique that combines geometry and aesthetics to recreate images using lines between pins. Here is a good reference to start studying it. In this post, I explored a custom Rhino Python script designed for Rhinoceros 7 and 8. It transforms a grayscale image into a dense web of threads. The algorithm analyzes the darkest areas of the image and connects pins in a circular layout to form compositions. The script begins by converting a…

Differential Growth

June 16, 2025

Differential growth is a process where different parts of a structure grow at different rates, leading to complex forms. After watching this, I decided to try it in Grasshopper. Here, differential growth mimics this behavior by applying rules such as Repulsion to avoid crowding or overlapping, Cohesion to keep parts connected or within a range, and Insertion to add new elements when a part stretches too far. The algorithm I present here simulates a differential growth process starting from a…

Socolar Tiling

May 10, 2025

An aperiodic tiling is a pattern that covers the plane without ever repeating itself (i.e., it is non-periodic). A few special shapes, arranged according to specific rules, can cover the entire plane, but the resulting pattern never repeats exactly. I challenged myself on a 3-day coding sprint to create a general-purpose script in Grasshopper that could generate these tilings. I set Socolar Tiling as my first target. This link contains great information about this and many other aperiodic tilings. Socolar…

1 2 3 4 5 6 7 8 9 10 11 … 24 25 26 »
  • Chapters

    • Algorithms
    • Discourses
    • Fabrications
    • Studios
  • Explore

    • All Keywords
    • Table of Contents
    • Monthly Archive
    • #dome
    • #fractal
    • #animation
    • #responsive
    • #optimization
    • #timer
    • #dodecahedron
    • #brick
    • #stone
    • #unity
    • #vector
    • #boolean
    • #3d-printing
    • #puzzle
    • #gyroid
    • #cuboctahedron
    • #dual
    • #chaos
    • #cube
    • #relief
  • 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