Benutzer-Werkzeuge

Webseiten-Werkzeuge


api:documentation:grafik3d:kamera:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
api:documentation:grafik3d:kamera:start [2025/01/17 19:39] martinapi:documentation:grafik3d:kamera:start [2025/01/17 21:12] (aktuell) – [Animation] martin
Zeile 52: Zeile 52:
  
 </HTML> </HTML>
 +
 +
 +===== PerspectiveCamera3d =====
 +<WRAP center round info 100%>
 +Der Konstruktor von ''PerspectiveCamera3d'' erwartet folgende Parameter:
 +<code java>
 +PerspectiveCamera3d(double fov, double aspect, double near, double far)
 +</code>
 +{{ :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
 +<code java>
 +void lookAt(double xTarget, double yTarget, double zTarget, Vector3 up, boolean keepTarget)
 +void lookAt(Object3d target, Vector3 up, boolean keepTarget)
 +</code>
 +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)
 +
 +</WRAP>
 +
 +
 +<HTML>
 +<div class="java-online" style="height: 500px; width: 100%" data-java-online="{'withBottomPanel': true, 'id': '3d-camera2', 'enableFileAccess': true}">
 +
 +<script type="text/plain" title="Test1.java">
 +Box3d box = new Box3d(0.5, 0.5, 1);
 +box.move(1, 1, 1);
 +
 +Icosahedron3d iso = new Icosahedron3d(0.2, 1);
 +iso.moveTo(-1, 0, -1);
 +iso.getMaterial().setColor(new Color(89, 89, 196));
 +
 +PerspectiveCamera3d camera = new PerspectiveCamera3d(75, 2.0, 0.1, 1000);
 +camera.moveTo(-1, -1, -1);
 +camera.lookAt(0, 0, 0, new Vector3(0, 0, 1));
 +World3d.getWorld3d().setCamera(camera); 
 +
 +</script>
 +
 +</div>
 +
 +</HTML>
 +
 +
 +===== OrthographicCamera3d =====
 +<WRAP center round info 80%>
 +Siehe die entsprechende [[https://threejs.org/docs/#api/en/cameras/OrthographicCamera|Dokumentation von three.js]]
 +</WRAP>
 +
 +
 +
api/documentation/grafik3d/kamera/start.1737142772.txt.gz · Zuletzt geändert: 2025/01/17 19:39 von martin