Benutzer-Werkzeuge

Webseiten-Werkzeuge


api:documentation:grafik3d:animation: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:animation:start [2025/03/08 09:00] – [Animation] martinapi:documentation:grafik3d:animation:start [2025/03/08 13:47] (aktuell) – [Beispiel] martin
Zeile 6: Zeile 6:
  
 ==== Beispiel ==== ==== Beispiel ====
-<WRAP center round tip 80%> 
-</WRAP> 
- 
 <HTML> <HTML>
 <div class="java-online" style="height: 300px; width: 100%" data-java-online="{'withBottomPanel': false, 'id': '3d-animation1', 'enableFileAccess': true}"> <div class="java-online" style="height: 300px; width: 100%" data-java-online="{'withBottomPanel': false, 'id': '3d-animation1', 'enableFileAccess': true}">
  
 <script type="text/plain" title="Test1.java"> <script type="text/plain" title="Test1.java">
 +double rotationsPerSecond = 0.5;
 +new OrbitingSphere(new Vector3(1, 0, 0), new Vector3(0, 1, 0), 0, rotationsPerSecond).getMaterial().setColor(0xff0000);
 +new OrbitingSphere(new Vector3(0, 0, 1), new Vector3(0, 1, 0), 90, rotationsPerSecond).getMaterial().setColor(0x0000ff);
 +new OrbitingSphere(new Vector3(0, 0, 1), new Vector3(1, 0, 0), 90, rotationsPerSecond * 2).getMaterial().setColor(0x00ff00);
 +
 +
 +
 +class OrbitingSphere extends Sphere3d {
 +   Vector3 v1;
 +   Vector3 v2;
 +   double phaseShift;
 +   double omega;
 +
 +   public OrbitingSphere(Vector3 v1, Vector3 v2, double phaseShift, double rotationsPerSecond) {
 +      this.v1 = v1;
 +      this.v2 = v2;
 +      this.phaseShift = Math.toRadians(phaseShift);
 +      omega = Math.PI * 2 * rotationsPerSecond / 1000;
 +      scale(0.2);
 +   }
 +
 +   public void act() {
 +      double angle = phaseShift + System.currentTimeMillis() * omega;
 +      Vector3 position = v1.scaledBy(Math.cos(angle)).add(v2.scaledBy(Math.sin(angle)));
 +      moveTo(position);
 +   }
  
 +}
 </script> </script>
  
api/documentation/grafik3d/animation/start.1741424438.txt.gz · Zuletzt geändert: 2025/03/08 09:00 von martin