designcoding
About Table of Contents Keywords Monthly Archive
Support designcoding!

#rhino-python

46 posts

Quick Parametric Curves

July 28, 2024

Here is the shortest possible way of generating quick parametric curves in Rhino Python. So, you may change the f, g, and h functions to test any function curve. In this Python code, the list comprehension [(f(t), g(t), h(t)) for t in [t0 + i*dt for i in range(int((t1-t0)/dt)+1)]] works by first generating a list of t values from t0 to t1 with an increment of dt using the inner comprehension. The outer comprehension then iterates over these t values,…

Wave Generator

April 17, 2024

Here is a wave generator code I developed using Grasshopper and Python. While searching for a solution to the realistic water simulations, I came up with the Gerstner Waves. I tried to implement it. However, I came up with this final result, which is not a Gerstner Wave generator, but a much simpler one. It combines many user-fed wave components and calculates the resulting single wave. I played with this code for hours with different components. So, it is worth…

Spherical Cycloid

April 2, 2024

Today’s beautiful curve is the spherical cycloid. It is a cycloid, rolling on a 3d circular path rather than a straight and 2d one. There are algebraic explanations of this curve. Therefore, I find it interesting to experiment with them, since it is more interesting than the regular planar cycloids, epicycloids, and hypocycloids. This curve is believed to have been studied first by Jean Bernoulli in 1732. The interesting and playful part of this is the resulting curve is always…

Modeling the Gyroid Solid

March 30, 2024

Gyroid is a popular triply-periodic minimal surface. Although it is a mathematical entity, designers and architects like its approximations very much. We used an interpretation of Gyroid in the rammed-earth structure: “Common-action Wall” in 2017. In that project, we utilized its spatial quality of dividing the space into two intertwining and symmetrical volumes. By making one of these volumes solid, I left the other void. So, in this tutorial, I am going to explain modeling the Gyroid Solid by utilizing…

Wandering Simulator

March 9, 2024

In 1986, Craig Reynolds developed an algorithm aiming to model the flocking behavior of birds, which remains a cult method used in flock simulations today. In my initial study, the bird-oids (boids) have no rules or limitations, just chilling randomly on the screen. I call this initial version Wandering Simulator. There are several reasons why this fundamental simulation is difficult in Grasshopper and Python, our parametric design interface. In Grasshopper (data flow modeling), pushing the back doors a bit is…

Coding the Dodecahedron

March 7, 2024

Here is a method for coding the dodecahedron and all its irregular variants in Grasshopper as quickly as possible. I utilized the golden ratio rectangles, usually used to construct the sister polyhedron, the icosahedron. However, the magic component of the Grasshopper, the Faceted Dome rescued me again to generate the dual of it, the dodecahedron. This is a special platonic solid, which has 12 regular pentagonal faces. There are several techniques that I generally prefer to use in Grasshopper. You…

B-Spline Construction

January 25, 2024

I have been studying the Bezier-De Casteljau algorithm for several years. Last week, I finally managed to understand and implement B-Spline Construction in Rhino and Grasshopper Python code, using the Cox-De Boor algorithm. This algorithm calculates the effect of control points on a B-Spline with many control points. After this, I am not limited to the degree+1 control points. This animation shows both algorithms working together. This Rhino Python code in a Grasshopper definition can handle three tasks. The first…

Hilbert Curve

January 16, 2024

The Hilbert Curve, also referred to as the Hilbert space-filling curve, was initially introduced by the German mathematician David Hilbert in 1891. It is a continuous fractal curve, presenting a variation of the space-filling Peano curves uncovered by Giuseppe Peano in 1890. After a study on the mathematical background of this curve, I implemented a Python code into Grasshopper Python. However, I wanted to explore more variations by playing with the algorithm. This is why, the resulting Grasshopper definition can…

Bezier Function Extractor

December 26, 2023

Today’s curve is the beautiful Bezier curve. A series of linear interpolations between the coordinates of control points describe a Bezier curve. So, I created a simple tool in Grasshopper called Bezier Function Extractor to experiment with this elegant construction. In the linear form (degree 1) the linear interpolation between 2 points (P1 and P2). The point at parameter t (0<= t <= 1); Q = tP1 + (1-t)P2. In the second degree, we need three points (P1, P2, and…

Parquet Deformations add-on

May 4, 2023

This is my first experiment on developing add-ons for Grasshopper. There are two components in the “Parquet Deformations” add-on. These are the ghuser files coded in Python. So, they can work by just dragging and dropping to the Grasshopper canvas. These first two components of the toolset are more like helpers while designing Parquet Deformations. I introduced some of my re-generations of classical parquet deformations here and here and in a book chapter here. The Loft Component of Parquet Deformations…

« 1 2 3 4 5 »
  • Chapters

    • Algorithms
    • Discourses
    • Fabrications
    • Studios
  • Explore

    • All Keywords
    • Table of Contents
    • Monthly Archive
    • #sphere
    • #parametric-wall
    • #kuka-prc
    • #polygon
    • #cnc-milling
    • #3d-max
    • #hexagon
    • #nesting
    • #delaunay-triangulation
    • #buckyball
    • #galapagos
    • #muqarnas
    • #golden-ratio
    • #tiling
    • #canopy
    • #vector
    • #3d-printing
    • #le-corbusier
    • #3d-model
    • #animation
  • 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