Graphics Reference
In-Depth Information
' Startwerte links und oben auf Projektionsfläche
XvAnf = -0.5 * Horz
YvAnf = -0.5 * Vert
Dazwischen liegen HorzPix-1 -Abstände in X V - und VertPix-1 -Abstände in Y V -
Richtung; diese Abstände sind:
delX = Horz / (HorzPix - 1)
' Pixel-Abstände
delY = Vert / (VertPix - 1)
'
' Schleifen über alle Pixel
xv = XvAnf
Forh=1ToHorzPix
yv = YvAnf
Forv=1ToVertPix
hier RayTracing-Kern, liefert Farbe am Punkt (xv,yv)
yv += delY
Next v
xv += delX
Next h
Mit dieser Einrichtung der virtuellen Projektionsfläche lässt sich eine Zentralpro-
jektion ohne weitere Vorarbeiten realisieren. Der RayTracing-Kern sieht ähnlich
aus wie der nachfolgend beschriebene.
Mit den Vereinfachungen gemäß Abschn. 8.6 und 9.6.5.2 kann man die Zentral-
projektion vom RayTracing-Prozess trennen. Es sind zwar einige Vorarbeiten nötig,
aber die aufgewandte Rechenzeit spart man im Programmkern.
Im ersten Schritt wird die Szene in die Projektionsrichtung {v} transformiert.
Dies betrifft ohnehin nur die Knotenkoordinaten und verbraucht wenig Rechenzeit.
Ab Abschn. 8.3.1 sind die nötigen Erläuterungen und die entsprechende Transfor-
mationsmatrix für {v} gegeben:
Szene drehen in Projektionsrichtung, liefert Koordinaten im Viewsystem:
Œ
T GV Œ
P G D Œ
P V
[P V ] vormultiplizieren mit der Projektionsmatrix [Z P ] , darin der Betrachtungs-
abstand 1= d für die Z V -Richtung, führt zur Zentralprojektion:
ΠZ P ΠP V D ΠP ZP
Search WWH ::




Custom Search