Altes Problem mit DeltaYaw

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

FreetimeCoder

Betreff: Altes Problem mit DeltaYaw

BeitragMo, Feb 02, 2009 23:03
Antworten mit Zitat
Benutzer-Profile anzeigen
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 Sad
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

BeitragMo, Feb 02, 2009 23:17
Antworten mit Zitat
Benutzer-Profile anzeigen
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?

Xeres

Moderator

BeitragMo, Feb 02, 2009 23:35
Antworten mit Zitat
Benutzer-Profile anzeigen
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
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

FreetimeCoder

BeitragDi, Feb 03, 2009 7:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Wuhu! Danke Xeres Very Happy
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 Wink

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

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group