====== 3D-Grafik: Kamera ======
var camera = (PerspectiveCamera3d)t.getWorld3d().getCamera();
Sie bietet Methoden zum Setzen der Position (''setPosition''), Verschieben (''move'') und Drehen (''rotateX'', ...) wie jedes andere ''Object3d'' auch. Darüber hinaus lässt sich mit den Methoden
void lookAt(double xTarget, double yTarget, double zTarget, Vector3 up, boolean keepTarget)
void lookAt(Object3d target, Vector3 up, boolean keepTarget)
die Blickrichtung ändern. Dabei ist ''target'' das Objekt, zu dem die Kamera hinsehen soll (alternativ Angabe einer Position durch Koordinaten). Die Kamera wird zusätzlich um die Achse der Blickrichtung so gedreht, dass der ''up''-Vektor nach oben zeigt. Der Parameter ''keepTarget'' legt fest, ob die Blickrichtung der Kamera nach eventuell nachfolgenden Positionsänderungen der Kamera oder des Target jeweils automatisch so korrigiert werden soll, dass sie weiterhin zum Target blickt.
PerspectiveCamera3d(double fov, double aspect, double near, double far)
{{ :api:documentation:grafik3d:kamera:perspective_camera.svg?400 |}}
Dabei ist
* **fov** (//field of view//) das Sichtfeld in Grad. Das menschliche Auge hat ein Sichtfeld von fast 180°. Da der Computermonitor aber meist nur einen begrenzten Bereich dieses Sichtfeldes abdeckt, wird ein Sichtfeld von 45° bis 75° als "normal" empfunden.
* **aspect** das Breite:Höhe-Verhältnis des Bildschirms,
* **near** der Abstand der near-Ebene zur Kameraposition und
* **far** der Abstand der far-Ebene zur Kameraposition
**Vorsicht:** \\
''near'' und ''far'' müssen beide größer sein als 0.
Der Renderer zeichnet nur Objekte, die in den Bereich hineinragen, der durch die near-Ebene und die far-Ebene begrenzt wird (//frustum//).
Mit den Methoden
void lookAt(double xTarget, double yTarget, double zTarget, Vector3 up, boolean keepTarget)
void lookAt(Object3d target, Vector3 up, boolean keepTarget)
lässt sich die Blickrichtung und die up-Richtung festlegen, mehr dazu im obigen Kapitel (default-Kamera).
Die default-Kamera hat die Parameterwerte
* fov = 75
* near = 0.1
* far = 1000
* Position: (2, 2, 2)
* Blickrichtung: Zum Ursprung
* Up-Richtung: (0, 1, 0)