Simuleringsljud
Simuleringsbrus är en funktion som skapar ett divergensfritt vektorfält. Denna signal kan användas i konstnärliga simuleringar i syfte att öka uppfattningen av extra detaljer.
Funktionen kan beräknas i tre dimensioner genom att dela upp utrymmet i ett vanligt gallerrutnät. Till varje kant är associerat ett slumpmässigt värde, vilket indikerar en rotationskomponent av material som roterar runt kanten. Genom att följa roterande material in i och ut ur ytor kan man snabbt summera flödet som passerar genom varje yta av gittret. Fluxvärden vid gitterytorna interpoleras sedan för att skapa ett fältvärde för alla positioner.
Perlinbrus är den tidigaste formen av gitterbrus, som har blivit mycket populär inom datorgrafik . Perlin Noise lämpar sig inte för simulering eftersom det inte är divergensfritt.
Brus baserade på gitter, såsom simuleringsbrus och Perlin-brus, beräknas ofta vid olika frekvenser och summeras för att bilda bandbegränsade fraktala signaler.
Andra tillvägagångssätt utvecklade senare som använder vektorkalkylidentiteter för att producera divergensfria fält, såsom "Curl-Noise" som föreslagits av Robert Bridson, och "Divergence-Free Noise" på grund av Ivan DeWolf. Dessa kräver ofta beräkning av gitterbrusgradienter, som ibland inte är lättillgängliga. En naiv implementering skulle kalla en gallerbrusfunktion flera gånger för att beräkna dess gradient, vilket resulterar i mer beräkning än vad som är absolut nödvändigt. Till skillnad från dessa ljud har simuleringsbrus en geometrisk logik utöver dess matematiska egenskaper. Den simulerar virvlar utspridda i rymden, för att producera dess tilltalande estetik.
Vidare läsning
- Patel, M & Taylor, N. December 2005. Enkla divergensfria fält för konstnärlig simulering . Journal of Graphics Tools , volym 10, nummer 4.