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:09] – [Beispiel 2: Fliegende Rechtecke] Martin Pabstklassen2:inheritance:start [2022/02/17 10:34] (aktuell) – [Aufgabe: Starfield] Martin Pabst
Zeile 157: Zeile 157:
 <script type="text/plain" title="FlyingRectangle.java"> <script type="text/plain" title="FlyingRectangle.java">
 new World(800, 800); new World(800, 800);
 +SystemTools.setSpeed(200);
 +
 while(true) { while(true) {
    new FlyingRectangle();    new FlyingRectangle();
 } }
- 
  
  
Zeile 252: Zeile 253:
 Die Geschwindigkeit der Sterne in x- und y-Richtung ist zufällig. Eine Zufallszahl zwischen bspw. 2 und 10 erzeugt man folgendermaßen: Die Geschwindigkeit der Sterne in x- und y-Richtung ist zufällig. Eine Zufallszahl zwischen bspw. 2 und 10 erzeugt man folgendermaßen:
 ``` ```
-vx = Math.random()*8 + 2; +vx = Math.randdouble(2, 10)
-vy = Math.random()*8 + 2;+vy = Math.randdouble(2, 10);
 ``` ```
-# Erklärung: +
-``Math.random()`` erzeugt bei jedem Aufruf eine "frische" Zufallszahl im Intervall [0;1[. Multipliziert man diese mit 8, so erhält man eine Zufallszahl im Intervall [0;8[. Addiert man 2 hinzu, so erhält man eine Zufallszahl im Intervall [2;10[.+
 </script> </script>
 <script type="text/plain" title="Tipp 4" data-type="hint"> <script type="text/plain" title="Tipp 4" data-type="hint">
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.1644476969.txt.gz · Zuletzt geändert: 2022/02/10 08:09 von Martin Pabst

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki