Benutzer-Werkzeuge

Webseiten-Werkzeuge


skript:bewegungen

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
skript:bewegungen [2016/05/19 13:55]
fbonowski angelegt
skript:bewegungen [2018/05/09 18:12] (aktuell)
d.golovko
Zeile 1: Zeile 1:
 ====== Simulation von Bewegungen ​ ====== ====== Simulation von Bewegungen ​ ======
  
 +Wir machen eine Zeichnung, die unseren Roboter darstellen soll, und lassen sie bewegen. Unser "​Roboter"​ sieht so aus:
 +
 +
 +{{:​skript:​robot-sketch.png?​70|}} ​
 +
 +
 +Programm, welches den Roboter vorwärts bewegen und drehen lässt. Version mit globalen Variablen ohne Klassen:
 +
 +<code java>
 +int radius = 25; // Radius des Roboters
 +float xPos = 300; // x-Position des Roboters
 +float yPos = 200; // y-Position des Roboters
 +float angle = 0; // Richtung des Roboters
 +
 +void setup() {
 +  size(600, 400);
 +}
 +
 +void draw() {
 +  clear();
 +  drawRobot();​
 +  move(4);
 +  turn(0.1);
 +}
 +
 +/*
 + * Zeichnet den Roboter
 + */
 +void drawRobot() {
 +  ellipse(xPos,​ yPos, radius*2, radius*2); ​
 +  // *2, weil die ellipse-Funktion den Diameter verwendet
 +  line(xPos, yPos, xPos + radius * cos(angle), yPos + radius * sin(angle));​
 +  // Linie zwischen dem Roboterzentrum und dem Roboterrand in die Bewegungsrichtung
 +}
 +
 +/*
 + * Bewegt den Roboter nach vorne in seine Richtung
 + ​*/ ​
 +void move(float distance) {
 +  xPos = xPos + distance * cos(angle);
 +  yPos = yPos + distance * sin(angle);
 +}
 +
 +/*
 + * Rotiert den Roboter
 + */
 +void turn(float angleDiff) {
 +  angle = angle + angleDiff;
 +}
 +</​code>​
skript/bewegungen.1463658911.txt.gz · Zuletzt geändert: 2016/05/19 13:55 von fbonowski