Jens Polsen wrote:
> Hm. Lyder spændende men jeg er nok ikke tilstrækkeligt
> med på fysikken til at implementere den del.
Du ved hvor langt lyset bevæger sig fra lyskilden til ethvert
punkt som lyset rammer i scenen, det er jo den ray du tracer.
Lad hver foton bære en fase exp(i phi(L) ), her er L
længden fra lyskilden til der hvor fotonen terminerer
i scenen.
Lyset er monokromt med bølgelængde lambda, hvad betyder at
fasen phi vokser med 2pi for hver lambda (i vacuum).
Altså er phi(L) = 2pi L/lambda. Du skal blot huske at justerer
L så det er den optiske vejlængde hvis f.eks. lyset bevæger
sig gennem glas med en højere brydningsindex L+=n_glas * L_glas
Hvert punkt i scenen kan jo modtage lysrays af mange forskellige
længder, og disse kan interferere konstruktivt eller destruktivt,
så den effektive intensitet i et punkt er <|exp(i phi(L) |^2> hvor
gennemsnit er over alle de mulige rays.
Husk exp(i phi)=cos(phi)+i sin(phi) derfor
<|exp(i phi)|^2> = <cos^2(phi)>+<sin^2(phi)>
I enden ender dette altså med at bestemme intensiteten af et punkt
i scenen når du viser den på skærmen. Husk at indtil her har det
været monokromatisk lys, så du har basalt set et grå-tone billed
og ikke et farvebilled.
Man kunne så gentage tricket med hvidt koherent lys - f.eks. ved at
trace rødt,grønt og blåt lys med 3 givne bølgelængder og ligger
resultatet sammen. Kunne være ret interessant at se. ;*)
> Jeg mener... mens den arbejder på computeren, så er scenen jo 3d
> og et hologram bidrager ikke med mere...?
Min idee var at hvis man har en raytracer, der kan udføre ovenstående
udregning, som ikke er noget særligt når man allerede har koden til
at trace rays, hvis tænker på skærmen som men fotografisk "glasplade"
i scenen og på et fint gitter optager intensiteten her.
Tænk på skærmen som det at optage et fotografi, men på glaspladen er
det nu brydningsindekset, der rumligt varierer alt efter hvor meget
intensitet ethvert punkt blev belyst med.
Hvis man nu tager en ny scene med lyskilden og glaspladen samme sted,
men flytter kameraet/skærmen, og igen belyser glaspladen den med
monokromatisk lys i en raytracing, så burde det spredte lys være
et hologram, der viser billedet af den oprindelige scene.
Og så har det lykkedes dig ikke kun at lave en raytracing, men hvor
du også har lavet en simulation af at optage og afspille et hologram.
Men som det nævnes så skal gitter opløsningen på hologrammet være
ganske høj for at få et godt hologram. Men størrelsen af hologrammet
er ikke lige så vigtig, så en lille patch med en høj opløsning er
vigtigere end en stort hologram med en dårlig opløsning.
En måde til at omgå dette problem på, kunne evt. køre optage og
afspille simulationerne parallelt. Det kræver lidt mere tænkning..
--
Mvh. Carsten Svaneborg
http://gauss.ffii.org softwarepatent database