-
-
Moderator
Robotik Visionär
Hallo
Hauptsächliches Problem: Du verwendest nur Integervariablen für deine teilweise recht umfangreichen Berechnungen. Scheinbar ist dir nicht klar, das bei allen Ergebnissen (und auch bei den Zwischenwerten auf dem Rechenweg) die Nachkommastellen abgeschnitten werden. Du solltest zumindest den Datentyp "float" verwenden...
Noch ein Tipp zur Optimierung: Wiederkehrende Berechnungen sollte man einmalig ausrechnen, wenn die Berechnung mehrfach vorkommt oder sich das Ergebniss innerhalb der Schleife nicht ändert:
if(odolinks/odorechts < odoziellinks/odozielrechts) {vl++; vr--;}
else if (odolinks/odorechts > odoziellinks/odozielrechts) {vl--; vr++;}
Gruß
mic
Bild hier
Atmel’s products are not intended, authorized, or warranted for use
as components in applications intended to support or sustain life!
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen