Benutzer-Werkzeuge

Webseiten-Werkzeuge


skript:bewegungen

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
skript:bewegungen [2017/05/11 10:23]
d.golovko
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:
  
-Programm, welches den Roboter vorwärts bewegen und drehen lässt. ​Realisierung ​mit globalen Variablen ohne Klassen:+ 
 +{{:​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.1494491023.txt.gz · Zuletzt geändert: 2017/05/11 10:23 von d.golovko