Altes Problem mit DeltaYaw
Übersicht

![]() |
FreetimeCoderBetreff: Altes Problem mit DeltaYaw |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
ich hab das Problem schon länger und irgendwie immer hin und her geschoben, aber jetzt brauch ich eine FailSafe Lösung... Code: [AUSKLAPPEN] rotation = DeltaYaw(CarPivot,CurWayPoint)-EntityYaw(CarPivot,true) TurnEntity CarPivot,0,rotation*0.1,0 MoveEntity CarPivot,0,0,1 Das Problem ist jetzt das es manchmal plötzlich springt: Debugger hat Folgendes geschrieben: 44
43 42 -318 -316 [...] -155 -146 -127 234 228 220 Was dann dazu führt das mein Autochen irgendwann nur noch Zickzack fährt ![]() Ich hab schon alles mögliche an Aufaddieren, Subtrahieren, Fallunterscheidung versucht aber irgendwie schaft es das Ding immer irgendwann ZickZack zu fahren oder gar nichtmehr das zu machen was es soll. Es muss doch möglich sein diese Sprünge irgendwie zu "berreinigen" oder? MfG A Concerned Citizen (hl2 comic ftw xD) |
||
"Wir haben keine Chance, aber wir werden sie nutzen!"
Projekte: Dexterity Ball (100%) Aquatic Atmosfear (22 % ca 4700 Zeilen) eingefrohren mangels OOP Fähigkeiten von Blitz (ehemals Uboot) PC: Intel D 3 GHz | NVidiaGforce 6700 256 Mb | 1024 Mb DDR RAM 400 Mhz | 2x160 GB S-ATA |
![]() |
NightPhoenix |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du meinst zum beispiel:
Drehung um +20° -> von y1=350°, zu y2=10° (EntityYaw) -> Differenz von 340° (falsch), statt 20° (richtig) Ja das nervt mich auch total. Ich hab sowas bisher immer über Vektoren gelöst, bzw. generell die gesamte Rotationsberechnung auf Vektoren umgestellt. Der Vorteil bei Vektoren ist, dass sie ihr eigenes Bezugssystem bilden, es gibt bei ihnen keine Winkel über 180°, nur -180<x<180. Immer ausgegend vom Vektor (also lokal) gibt es so keine Sprünge mehr. Der Nachteil ist wohl eindeutig die erhöhte Komplexität des Bewegungssystem mit Vektoren, aber sie sind eindeutig. Aber vielleicht gibt es ja eine bessere Lösung mit den Standard-Blitz-Befehlen? Kennt jemand eine? |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
ChaosCoder hat dazu was in BlitzMax geschrieben, sollte sich aber problemlos in BB verwenden lassen.
https://www.blitzforum.de/foru...hp?t=30496 |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
FreetimeCoder |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wuhu! Danke Xeres ![]() Das es Bmax ist, ist eher ein Vorteil da ich das Problem auch dort habe, nur benutze ich halt Minib3d und da habe ich halt hier gefragt. @NightPoenix: Ja, das wäre auch eine Möglichkeit, aber für das was ich vorhabe lohnt es sich nicht ein Vektorensystem aufzubauen. In Irrlicht (welches atm meine Hauptengine is) sind die eingebauten Vektoren Gold wert ![]() MfG |
||
"Wir haben keine Chance, aber wir werden sie nutzen!"
Projekte: Dexterity Ball (100%) Aquatic Atmosfear (22 % ca 4700 Zeilen) eingefrohren mangels OOP Fähigkeiten von Blitz (ehemals Uboot) PC: Intel D 3 GHz | NVidiaGforce 6700 256 Mb | 1024 Mb DDR RAM 400 Mhz | 2x160 GB S-ATA |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group