Benutzer-Werkzeuge

Webseiten-Werkzeuge


klassen2:inheritance: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
klassen2:inheritance:start [2022/02/10 08:12] – [Aufgabe: Starfield] Martin Pabstklassen2:inheritance:start [2022/02/17 10:34] (aktuell) – [Aufgabe: Starfield] Martin Pabst
Zeile 254: Zeile 254:
 ``` ```
 vx = Math.randdouble(2, 10); vx = Math.randdouble(2, 10);
-vy = Math.randdouble(2, 10;+vy = Math.randdouble(2, 10);
 ``` ```
  
Zeile 266: Zeile 266:
 Die Formel zur zufälligen Bestimmung der Geschwindigkeit in Tipp 3 hat einen Nachteil: Die Geschwindigkeiten haben nicht nur verschiedene Richtungen (gut!) sondern auch sehr unterschiedliche Beträge (schlecht!), d.h. die Sterne fliegen unterschiedlich schnell. Viel besser ist es, mit **Poloarkoordinaten** zu arbeiten, das heißt: Wir bestimmen zuerst den Betrag ``v`` der Geschwindigkeit zufällig, dann den Winkel ``w`` (also ihre Richtung). Danach berechnen wir aus ``v``und ``w`` die benötigten Komponenten ``vx``und ``vy``. Die Formel zur zufälligen Bestimmung der Geschwindigkeit in Tipp 3 hat einen Nachteil: Die Geschwindigkeiten haben nicht nur verschiedene Richtungen (gut!) sondern auch sehr unterschiedliche Beträge (schlecht!), d.h. die Sterne fliegen unterschiedlich schnell. Viel besser ist es, mit **Poloarkoordinaten** zu arbeiten, das heißt: Wir bestimmen zuerst den Betrag ``v`` der Geschwindigkeit zufällig, dann den Winkel ``w`` (also ihre Richtung). Danach berechnen wir aus ``v``und ``w`` die benötigten Komponenten ``vx``und ``vy``.
 ``` ```
-double v = Math.random()*8 + 2; // Betrag der Geschwindigkeit zwischen 2 und 10 +double v = Random.randdouble(2, 10); // Betrag der Geschwindigkeit zwischen 2 und 10 
-double w = Math.random()*2*Math.PI; // Winkel zwischen 0 und 2*PI+double w = Random.randdouble(0, 2*Math.PI); // Winkel zwischen 0 und 2*PI
 vx = v * Math.cos(w); vx = v * Math.cos(w);
 vy = v * Math.sin(w); vy = v * Math.sin(w);
klassen2/inheritance/start.1644477170.txt.gz · Zuletzt geändert: 2022/02/10 08:12 von Martin Pabst

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki