/ Forside / Karriere / Uddannelse / Højere uddannelser / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Højere uddannelser
#NavnPoint
Nordsted1 1588
erling_l 1224
ans 1150
dova 895
gert_h 800
molokyle 661
berpox 610
creamygirl 610
3773 570
10  jomfruane 570
Perlin noise og integration gennem et støj~
Fra : Jakob Nielsen


Dato : 12-01-07 14:30

Hvis jeg har en gang 3D perlin noise og ønsker at få integralet af støjen
langs en linie igennem dette 3d støjrum, så burde det kunne gøres. Kender
nogen her en metode?

Som eksempel har jeg støjen og en observatør. Der ses i en retning langs en
vektor på et objekt lidt væk, og der dannes en linie. Nu vil jeg gerne have
integralet af støjen langs denne linie så jeg kan rendere objektet og
derefter for hver pixel overlejre støjen. Dette skal simulere at man ser et
objekt gennem skyer.

Hver 3d perlinstøj-oktav består af 8 målepunkter med en støjværdi. Disse 8
punkter er hjørnerne på en terning. Inde i terningen er støjværdien
defineret ved interpolation mellem hjørnerne. Hvis eksempelvis der bruges en
lineær interpolation, så bør man vel let (hmm) kunne finde integralet langs
en linie gennem terningen.

Hvis der sidder en matematiker som bare ikke lige kender perlin noise, så
lad mig forenkle spørgsmålet til

Man har en terning i 3D med 8 hjørnepunkter. Hvert hjørne har en værdi.
Enhver position i terningen har en værdi som er defineret ud fra lineær
interpolation mellem hjørnepunkternes værdier ...naturligvis baseret på
punktets afstand til hjørnerne.
Givet en linie der skærer igennem denne terning, hvad er så integralet af
støjfunktionen langs linien? Tegner man det op så afstanden langs linien er
x-aksen og den aktuelle støjværdi er y-aksen, så får man jo en kurve ud af
det. Jeg ønsker at integrere denne funktion så jeg har den samlede støj.



 
 
Jakob Nielsen (12-01-2007)
Kommentar
Fra : Jakob Nielsen


Dato : 12-01-07 14:49

> Man har en terning i 3D med 8 hjørnepunkter. Hvert hjørne har en værdi.
> Enhver position i terningen har en værdi som er defineret ud fra lineær
> interpolation mellem hjørnepunkternes værdier ...naturligvis baseret på
> punktets afstand til hjørnerne.
> Givet en linie der skærer igennem denne terning, hvad er så integralet af
> støjfunktionen langs linien? Tegner man det op så afstanden langs linien
> er x-aksen og den aktuelle støjværdi er y-aksen, så får man jo en kurve ud
> af det. Jeg ønsker at integrere denne funktion så jeg har den samlede
> støj.

Uhm...ok. den var vist ikke så svær. Jeg tænker tilsyneladende altid bedre
når jeg spørger andre. Så skal jeg bare lære at ikke trykke på "send".
Vil dette ikke virke?
Man finder positionen for liniens to skæringer med terningen, A og B. Der
findes man støjværdierne. Derefter ved man at da det jo er en lineær
interpolation mellem de to punkter, så vil midten have værdien
(n(A)+n(B))/2.. og alle andre punkter er efter samme model, så man har altså
en funktion hvor
f(0)=n(A) og f(1)=n(B) og den er lineær, så integralet er simpelt.

For at gøre det for en støj med flere oktaver, så finder man først summen af
al støjen langs en linie gennem de terninger der udgører en oktav, så tages
næste oktav og man lægger til. Man skal dermed reelt kun sample en gang per
terning linien skærer per oktav.

Ved ikke om det gav mening, men hvis ikke, så har jeg lige lavet helt to
ligegyldige indlæg. Det ser nu ok ud på papir.



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408925
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste