Winkel...

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

Der Eisvogel

Betreff: Winkel...

BeitragMi, Jan 14, 2009 16:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo
Also, ich habe ganz viel Waypoints, die immer zufällig erstellt werden.
Dann habe ich ein Auto, das diese abfahren soll. Jetzt muss das autp ja auch lenken. Wie kann ich jetzt rausfinden, ob das auto nach rechts oder links lenken sollte? Also ich hole mir den Winkel, mit dem das Auto den nächsten Waypoint erreichen soll, und passe den Fahrwinkel des Autos an. Wie kann ich jetzt sagen, ob ich dem Winkel etwas drauf legen soll (+1) oder abziehen soll (-1)? Also angenommen, der Winkel mit dem das Auto fährt beträgt -179°, und der Winkel in dem es fahren soll ist 170°.
Jetzt muss man dem Winkel etwas abziehen, da er von -180 auf 180 umspringt. Aber ich schaffe es einfach nicht das zu überprüfen, so das die Entscheidung immer stimmt. Ich hoffe man versteht mein Problem.

MfG
Der Eisvogel
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.

ChaosCoder

BeitragMi, Jan 14, 2009 17:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
Function angleDifference:Float(a1:Float, a2:Float)
   a1 = Mod2(a1, 360)
   a2 = Mod2(a2, 360)
   Return ((a2 - a1 + 540) Mod 360) - 180
End Function

Function Mod2:Int(x:Int, finis:Int)
   While x < 0; x:+finis; Wend
   While x >= finis; x:-finis; Wend
   Return x
End Function


Das mach ich, wenn angleDifference negativ ist, musste dich nach links drehen(gegen den Uhrzeigersinn), isser positiv drehst du nach rechts(Uhrzeigersinn). Am schnellsten isses, wenn die Winkel die du ünbergibst im Bereich von 0 bis 360 liegen.
Projekte: Geolaria | aNemy
Webseite: chaosspace.de

Der Eisvogel

BeitragMi, Jan 14, 2009 17:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Cool, danke!
Es geht. Könntest du mir das vlt etwas erklären? Weil verstehen tu ich nur die Function Mod2 die andere aber nicht. Also das eigentlich Kernstück.
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.

ChaosCoder

BeitragDo, Jan 15, 2009 0:37
Antworten mit Zitat
Benutzer-Profile anzeigen
woha, tut mir leid, kp was ich da geschrieben hatte. is schon n paar jahre her.
habs wahrscheinlich durch zufall oder probieren rausbekommen. die mathematik dahinter kann ich dir nicht erklären Wink

hauptsache es klappt, der hintergrund ist ja bei soner sache auch nicht gerade notwendig, glaub ich Rolling Eyes
Projekte: Geolaria | aNemy
Webseite: chaosspace.de

Der Eisvogel

BeitragDo, Jan 15, 2009 17:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Haste auch wieder recht.
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group