Benutzer-Werkzeuge

Webseiten-Werkzeuge


api:documentation:math: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:math:start [2021/01/28 20:27] – [Die Klasse Math] Martin Pabstapi:documentation:math:start [2022/01/10 07:25] (aktuell) Martin Pabst
Zeile 6: Zeile 6:
 </code> </code>
 um die Quadratwurzel von 12 zu errechnen und den Wert der Variable w zuzuweisen. Einen Überblick über alle statischen Methoden und Attribute der Klasse ''Math'' erhältst Du am einfachsten, indem Du in ein Programm tippst ''Math.''. Es öffnet sich dann das Fenster zur Code-Vervollständigung, in dem Du alle Methoden/Attribute siehst. \\ \\  um die Quadratwurzel von 12 zu errechnen und den Wert der Variable w zuzuweisen. Einen Überblick über alle statischen Methoden und Attribute der Klasse ''Math'' erhältst Du am einfachsten, indem Du in ein Programm tippst ''Math.''. Es öffnet sich dann das Fenster zur Code-Vervollständigung, in dem Du alle Methoden/Attribute siehst. \\ \\ 
-Natürlich kannst Du auch einfach in der [[https://www.mathe-pabst.de/java/api_documentation.html|API-Dokumentation]] nachsehen. \\ \\ +Natürlich kannst Du auch einfach in der [[https://www.online-ide.de/api_documentation.html|API-Dokumentation]] nachsehen. \\ \\ 
 Hier findest Du [[:einstieg:weiteredatentypen:start#die_klasse_math| ein paar Beispiele zur Verwendung der Klasse Math.]] Hier findest Du [[:einstieg:weiteredatentypen:start#die_klasse_math| ein paar Beispiele zur Verwendung der Klasse Math.]]
 </WRAP> </WRAP>
  
 ====== Die Klasse String ====== ====== Die Klasse String ======
 +<WRAP center round info 60%>
 +Variablen des Datentyps ''String'' können beliebige Zeichenketten speichern, [[:einstieg:weiteredatentypen2:start#string|Näheres dazu hier.]]
 +</WRAP>
 +
 +====== Die Klasse MathTools ======
 +Die Klasse ''Math'' der Java-API beschränkt sich auf die mathematischen Grundfunktionen (sin, cos, tan, pow, round, ...). Zusätzliche Funktionen, insbesondere zu Geometrie-Problemen, findest Du in der Klasse MathTools.
 +
 +==== MathTools.intersectCircleWithPolygon ====
 +<HTML>
 +
 +<div class="java-online" style="height: 300px; width: 90%" data-java-online="{'withBottomPanel': false, 'id': 'IntersectCircleWithPolygon', 'speed': 'max'}">
 +
 +<script type="text/plain" title="IntersectCircleWithPolygon.java">
 +println("Bewege den Kreis mit den Pfeiltasten!");
 +
 +Circle c = new Kreis1(400, 300, 100);
 +
 +class Kreis1 extends Circle {
 +   Polygon p;
 +   Group intersectionPoints = new Group();
 +   public Kreis1(double mx, double my, double radius) {
 +      super(mx, my, radius);
 +      p = new Polygon(false, 10, 10, 500, 300, 500, 550, 400, 400, 100, 200, 10, 10);
 +      intersectionPoints.bringToFront();
 +      calculateIntersections();
 +   }
 +
 +   void calculateIntersections() {
 +
 +      Vector2[] points = MathTools.intersectCircleWithPolygon(getCenterX(), getCenterY(), getRadius(), p.getHitPolygon());
 +      intersectionPoints.destroyAllChildren();
 +      for(Vector2 point : points) {
 +         Circle p = new Circle(point.x, point.y, 5);
 +         p.setFillColor(Color.red);
 +         intersectionPoints.add(p);
 +      }
 +
 +   }
 +
 +   public void act() {
 +      boolean calc = false;
 +      if(isKeyDown(Key.ArrowRight)) {
 +         move(3, 0);
 +         calc = true;
 +      } 
 +      if(isKeyDown(Key.ArrowLeft)) {
 +         move(-3, 0);
 +         calc = true;
 +      } 
 +      if(isKeyDown(Key.ArrowUp)) {
 +         move(0, -3);
 +         calc = true;
 +      } 
 +      if(isKeyDown(Key.ArrowDown)) {
 +         move(0, 3);
 +         calc = true;
 +      } 
 +      if(calc) {
 +         calculateIntersections();
 +      }
 +   }
 +}
 +</script>
 +
 +</div>
 +
 +</HTML>
 +
api/documentation/math/start.1611862056.txt.gz · Zuletzt geändert: 2021/12/29 11:29 (Externe Bearbeitung)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki