Wat je kunt proberen
- Sleep het monster of gebruik de regelaars x en y.
- Ga naar een hoek, verander de gradiënten en volg een rand.
Waar je op kunt letten: De tabel verbindt elk gradiëntinproduct met zijn fadegewicht. Op een roosterhoek is de ruis nul; langs een rand dragen alleen de twee aangrenzende hoeken bij.
Zo werkt het
Per monster wordt elke nabije roostergradiënt vermenigvuldigd met de verplaatsing vanaf zijn hoekpunt. Een gladde fadecurve mengt die bijdragen. Naburige posities hangen samen, anders dan onafhankelijke witte ruis. Waarderuis interpoleert juist willekeurige scalaire hoekwaarden.
Frequentie bepaalt hoe snel het veld ruimtelijk varieert. Octaven combineren velden op verschillende schalen. De Lab-implementaties gebruiken gezaaide gradiënten en een quintische fade. De seed kiest de realisatie; parameters bepalen de structuur.
Gebruik het in het Lab
Genereer een veld als bronlaag en drempel het, kleur het via een verloopkaart of neem het in een textuurketen op. Bewaar de seed om het resultaat te herhalen.
Grenzen & verschillen
Samenhangende ruis is geen fotografische textuur. Hoge frequenties kunnen aliasing geven; extra octaven zijn alleen nuttig zolang hun detail bemonsterbaar is.
Verdieping
Hoe het werkt
Uitgevonden door Ken Perlin in 1983 voor de film Tron, genereert Perlin-noise vloeiende pseudowillekeurige waarden door te interpoleren tussen gradientvectoren die op een regelmatig raster zijn geplaatst. Elk rasterpunt krijgt een willekeurige gradient toegewezen, en de noise-waarde op een willekeurig punt wordt berekend door de bijdragen van de omliggende rasterhoeken te mengen.
Kernalgoritme
Voor elk punt P bereken je het inwendig product tussen de gradient van elke hoek en de vector van die hoek naar P, en interpoleer je vervolgens met een vloeiende fade-curve: 6t⁵ − 15t⁴ + 10t³
Ruimtelijke coherentie
In tegenstelling tot witte ruis heeft Perlin-noise ruimtelijke coherentie — nabije punten leveren vergelijkbare waarden op. Deze eigenschap maakt het ideaal voor het simuleren van natuurlijke fenomenen: wolken, terrein-heightmaps, marmertexturen en organische flow fields.
// Perlin noise pseudocode
for each point (x, y):
x0, y0 = floor(x), floor(y)
g00, g10, g01, g11 = gradients at corners
d00 = dot(g00, (x-x0, y-y0))
d10 = dot(g10, (x-x0-1, y-y0))
// ... blend with fade curve
return lerp(fade(x-x0), lerp(...), lerp(...))Fractale Brownse beweging
In algoritmische kunst fungeert Perlin noise als een fundamenteel bouwblok. Meerdere octaves kunnen gestapeld worden — elk met dubbele frequentie en halve amplitude — een techniek die fractal Brownian motion (fBm) wordt genoemd. Dit levert rijke, gedetailleerde texturen op met structuur op elke schaal, van glooiende heuvels tot fijne oppervlaktekorrel.
Begin met 4–6 octaves en een persistentie van 0,5 voor natuurlijk ogende resultaten. Verhoog het aantal octaves voor fijnere details, verlaag de persistentie voor een gladder resultaat.
Verwante kunstwerken
Verwante Lab-categorieën
Bronnen & naslag
Gids bijgewerkt
