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 24, 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…

Fermat’s Nightmare

October 14, 2026

Revisiting a specific mathematical phenomenon that I previously explored twice, here (in 2017) and here (in 2011), from a different angle in 2026 now. This was the final video (from 2023) that I found in my junk folder during the blog’s resurrection. Today, designers mostly know Fermat through the famous 137.5-degree angle of rotation, which is the mathematical formula used to describe the arrangement of sunflower seeds. However, today I will speculate on a nightmare of Fermat’s. Because Fermat, in…

Campanus Sphere

October 9, 2026

I want to introduce a concept I came across the other day, one I had never heard of before, along with a few fantastic websites. The Campanus Sphere is essentially a rather crude spherical representation, the kind I’m used to seeing in (very old) computer games, and it also makes a nice nod to 80s disco culture. I also recall that in many older CAD software packages, spheres and sphere-related Mesh objects were represented as polyhedra using this method. However,…

Field Deformation

October 8, 2026

Ever since I restructured designcoding, I’m still sorting through the trash folder. All 580 posts published on the blog have been reviewed, and their files have been uploaded as open source. The mysterious trash folder, where I couldn’t even tell where things belonged, is shrinking fast. While checking this folder yesterday, I found a video. This is probably a simple tutorial I prepared about 10 years ago for the parametric modeling elective course (probably related to this 2012 post). The…

Damped Harmonic Motion

October 7, 2026

Have you ever thought about making a damped pendulum in Grasshopper? I have no idea why, but I did. I just decided to transfer a Python snippet I found online into a Grasshopper definition. Here, the Initial Angle (Radians) Number slider sets the initial angle to any value from 0 to Pi. The letter G represents the acceleration due to gravity (approximately 9.81 m/s2). This is the primary force pulling the pendulum downward. As you know, pendulums wouldn’t swing without…

  • Chapters

    • Algorithms
    • Discourses
    • Fabrications
    • Studios
  • Explore

    • Table of Contents
    • Monthly Archive

    • All Keywords
    • #rhino-python
    • #polyhedra
    • #design-education
    • #pattern
    • #parametric-surface
    • #terrain
    • #tessellation
    • #kuka-prc
    • #robot
    • #sphere
    • #vector-field
    • #simulation
    • #fibonacci
    • #harmonic
    • #curvature
    • #fourier
    • #computational-geometry
    • #visualization
    • #dual
    • #parakeet
  • 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