Ga naar hoofdinhoud
BVDART Logo
← Alle gidsenGeneratieve systemen

Domain warping

Domain warping verandert de coördinaten waarmee een andere functie wordt gelezen. Een ruisveld buigt het domein voordat waarden worden berekend.

Volg een coördinaat door een vervormde berekening

Coördinaten vóór het bemonsteren
Waar de functie wordt gelezenOpen: p · gevuld: p + w(p)
Een eenvoudige streepfunctief(q) = ½ + ½ sin(8πqₓ)
Volg één berekeningp = (0.40, 0.55) → q = p + w(p) = (0.480, 0.679)

De lijn in het rooster verbindt de uitvoercoördinaat met de bemonsteringscoördinaat. De functie blijft gelijk; de invoercoördinaten veranderen.

Probeer dit Zet de sterkte op nul. Het rooster wordt regelmatig en de strepen worden recht. Verhoog de sterkte met dezelfde seed en zie hoe hetzelfde coördinatenveld ze buigt.

Maak het huidige coördinatenrooster recht en buig het terwijl dezelfde streepfunctie haar verplaatste invoer volgt. Gebruik een regelaar om het over te nemen.

Wat je kunt proberen
  1. Zet Vervormingssterkte op nul en verhoog deze daarna.
  2. Verplaats het dradenkruis op het streepveld om de broncoördinaat te bekijken.
Open in het Lab ↗

Waar je op kunt letten: Het rooster toont waar coördinaten vóór bemonstering heen gaan. Het open en gevulde punt markeren p en p + w(p); de streepfunctie wordt op het laatste punt berekend.

Zo werkt het

Lees niet f(x, y), maar f(x + wx, y + wy), met verplaatsingen uit andere velden. Een gladde basis kan daardoor gevouwen, vloeiend of verstrengeld worden. Het beeld ontstaat uit gewijzigde coördinaten, in plaats van achteraf een vast raster te vervormen.

De warphoeveelheid bepaalt verplaatsingssterkte. Frequentie en octaven blijven de onderliggende schalen bepalen. Een vaste seed maakt duidelijk welke verandering uit de hoeveelheid komt en welke uit een nieuwe indeling.

Gebruik het in het Lab

Genereer een warpveld en benadruk de beweging met niveaus, drempels of een verloopkaart. Vergelijk met Golf of Twirl om te kiezen tussen nieuwe structuur en vervormd bestaand beeld.

Grenzen & verschillen

De generator gebruikt eigen procedurele verplaatsingsvelden en leest momenteel geen willekeurige tweede laag als displacementmap.

Bronnen & naslag

Gids bijgewerkt