CAMERAPROJECT Kamera, x#, y#, z#


BeschreibungBlitz3D
Die Anweisung CAMERAPROJECT errechnet aus den absoluten 3D-Raumkoordinaten die 2D-Bildschirmkoordinaten.

Nachdem CAMERAPROJECT ausgeführt wurde, müssen noch Funktionen wie PROJECTEDX, PROJECTEDY und PROJECTEDZ benutzt werden. Die errechnete X- und Y-Werte sind dabei die 2D-Bildschirmkoordinaten. Der Z-Wert ist entweder 0 oder 1. Bei 0 liegt die Koordinate hinter der Kamera, bei 1 vor der Kamera.

Es gibt viele Anwendungsmöglichkeiten dafür. Mithilfe dieser Funktionen kann man z.B. einen Sonnenschweif simulieren.



Parameter
Kamera=Identität einer Kamera
X=X-Koordinate im 3D-Raum
Y=Y-Koordinate im 3D-Raum
Z=Z-Koordinate im 3D-Raum


Rückgabewert
Die PROJECTED-Funktionen liefern die errechneten Werte zurück.


Beispiel
Dieses Programm lässt einen Würfel drehen. Die 2D-Koordinaten des Objekts werden ermittelt:

GRAPHICS3D 640,480,0,2
SETBUFFER BACKBUFFER()
camera=CREATECAMERA()
light=CREATELIGHT()
pivot=CREATEPIVOT()
cube=CREATECUBE(pivot)
POSITIONENTITY camera,0,0,0
ROTATEENTITY light,90,0,0
POSITIONENTITY cube,0,0,3
POSITIONENTITY pivot,0,0,10
COLOR 255,0,0

WHILE NOT KEYDOWN(1)
   TURNENTITY pivot,-.2,2,-2
   TURNENTITY cube,.5,1,2
   CAMERAPROJECT camera,ENTITYX(cube,1),ENTITYY(cube,1),ENTITYZ(cube,1)
   RENDERWORLD
   OVAL PROJECTEDX()-10,PROJECTEDY()-10,20,20,0
   RECT PROJECTEDX(),PROJECTEDY()-15,1,30,1
   RECT PROJECTEDX()-15,PROJECTEDY(),30,1,1
   TEXT PROJECTEDX()+20,PROJECTEDY()-5,"Mitte Objekt"
   FLIP
WEND
END


Siehe auch
PROJECTEDX, PROJECTEDY, PROJECTEDZ