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 1.0 definition (GH)Download

Cite this post

Yazar, T. (2023, August 20). Perlin Noise Generator. designcoding. Retrieved November 13, 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…

Polyhedra Library

November 11, 2026

I would like to share my Polyhedra library, which I have used in many projects. Initially, I wanted to build this code based on the geometric constructions of polyhedra. However, because I urgently needed it for projects I was working on at the time, I took a simpler route and hardcoded the vertex coordinates directly inside. Yes, that wasn’t quite in the spirit of designcoding, which is why I called it a “library” rather than a “Polyhedra Generator.” Currently, the…

Voronoi Bubbles

November 11, 2026

Informal use of Voronoi diagrams can be traced back to Descartes in 1644 Peter Gustav Lejeune Dirichlet used two-dimensional and three-dimensional Voronoi diagrams in his study of quadratic forms in 1850. British physician John Snow used a Voronoi-like diagram in 1854 to illustrate how the majority of people who died in the Broad Street cholera outbreak lived closer to the infected Broad Street pump than to any other water pump. Voronoi diagrams are named after Georgy Feodosievych Voronoy who defined…

More Scary Patterns

November 11, 2026

I had previously shared a few pattern animations (here, here, and here) from 2023 that felt a bit unsettling. Here, I am presenting the last four remaining in the archive of Grasshopper 1.0. To me, they feel a bit eerie, and I don’t even know why I made them this way. But I am sharing them anyway, thinking that maybe they could be useful to someone for a completely different, cheerful purpose. It is possible, but difficult, to create these…

Adaptive Waffle System

November 10, 2026

Since I still haven’t been able to upgrade to Windows 11, I am continuing with Rhino 8 and Grasshopper 1. But I think, hopefully, I’ll be able to sort it out soon. In the meantime, I’ll be publishing the last pieces of my remaining archive related to GH 1. Regarding interlocking (waffle) systems, I finally learned how to use the Region Slits component in GH 1, which I had never been able to use until now. I’ve been doing various…

  • Chapters

    • Algorithms
    • Discourses
    • Fabrications
    • Studios
  • Explore

    • Table of Contents
    • Monthly Archive

    • All Keywords
    • #pattern
    • #rhino-python
    • #polyhedra
    • #design-education
    • #parametric-surface
    • #terrain
    • #kuka-prc
    • #robot
    • #parakeet
    • #sphere
    • #frege
    • #gauss
    • #voronoi
    • #interlocking
    • #laser-cutting
    • #parametric-curve
    • #fibonacci
    • #vector-field
    • #harmonic
    • #simulation
  • 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