designcoding
About Table of Contents Keywords Monthly Archive
Support designcoding!

Perlin Noise Generator

August 20, 2023 | Algorithms
#grasshopper #noise #perlin

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 2D space, I choose the four closest vectors. Plus, I created four more vectors that have tails on the corners and tips on the point in question. Then, I calculated the dot products between these four corners and four gradient vectors. After this, I quit using the traditional algorithm (the interpolation and ease function). Instead, I finished the algorithm by just calculating the linear interpolations of those dot products.

Perlin Noise Generator animation

This Grasshopper definition generates random terrain models by using my noise generator explained above. I used the Move and Mesh components to generate the result. You can play with the overall height multiplier to make it more mountainous or flat. The output is a single mesh surface in Rhinoceros. The code is using native Grasshopper components. Thus, no add-ons are necessary for it to work.

Perlin Noise Generator Grasshopper definition
Perlin Noise Generator grasshopper, noise
Grasshopper definition (GH)Download

Cite this post

Yazar, T. (2023, August 20). Perlin Noise Generator. designcoding. Retrieved October 3, 2026, from https://www.designcoding.net/perlin-noise/

Related Posts

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…

Tensile Fabric with Kangaroo

September 25, 2026

How much work we did last year for first-year architectural education! The tensile fabric study we carried out using Grasshopper Kangaroo in “Design Computing”, a first-year course I coordinated alongside my colleague Serkan Uysal, served as a baseline for the material research addressed in the Basic Design studio at that time. Such geometric optimizations in Kangaroo are no longer surprising or novel to anyone. However, experiencing these tools and possibilities in architectural education in the very first year offers a…

Generating Harmonic Motion

September 21, 2026

While trying to program the curves produced by Spirograph toys in Grasshopper, I took a slightly different path. The topic eventually led to a broader heading: harmonic motion, and from there, to the Fourier Series we looked at previously. This simple Python code models Fourier Synthesis, driven by circles of different radii in a very straightforward way. The Python component sets up a loop that calculates the effect of each circle to the x and y values, individually. In this…

Curvature Map on Terrains

September 17, 2026

This is the last of the site analysis tools we previously used in the midterm project of first-year architecture education. As you may recall, we previously introduced a tool that generates topographies based on specific parameters. Afterward, we examined two tools that perform slope and flow analyses on these topographies. Today, we are presenting a tool that analyzes curvature. This topic actually constitutes one of the interesting intersection points between architectural design and differential geometry. Curvature is not something architects…

Cantellation of Polyhedra

September 16, 2026

This project randomly stole an entire evening of mine. I didn’t know what the cantellation operation was. After doing some research, I realized it mirrors the process of the dual operation we had previously performed with polyhedra. It turns out to be the process of turning edges into new faces. I started looking for ways to do this in Grasshopper without using ready-made add-ons that include this and similar operations. As always, I had to solve many interesting geometry and…

  • Chapters

    • Algorithms
    • Discourses
    • Fabrications
    • Studios
  • Explore

    • All Keywords
    • Table of Contents
    • Monthly Archive
    • #rhino-python
    • #polyhedra
    • #design-education
    • #robot
    • #parametric-surface
    • #terrain
    • #tessellation
    • #kuka-prc
    • #curvature
    • #fourier
    • #computational-geometry
    • #visualization
    • #dual
    • #parakeet
    • #pattern
    • #simulation
    • #vector-field
    • #growth
    • #boolean
    • #sandblasting
  • 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