Bewegungsrichtung aus Winkel berechnen...

Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen

 

BB-Fan

BeitragDo, Jun 12, 2008 17:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
FUNCTION EntityPointTo: handle, target
LOCAL x,y,z,xdiff,ydiff,zdiff,yangle,dist

    x = EntityGetX(target)    //
    y = EntityGetY(target)    // Koordinaten target Entity
    z = EntityGetZ(target)   //

    xdiff = x-EntityGetX(handle) //
    ydiff = y-EntityGetY(handle) // Entfernungen
    zdiff = z-EntityGetZ(handle) //



    yangle=MOD((ATAN(xdiff,zdiff)+360),360)

    EntityRotate(handle, 0, yangle, 0)

ENDFUNCTION


so mal umgestellt, nicht wundern es ist nicht bb3d und auch kein bm.
hoffe es ist trotzdem verständlich.
handle bewegt sich trotzdem nicht.

aber du hast wohl recht, es liegt wohl an der x rotation, nur weiß ich nicht wie der code richtig lauten müsste.
aber ich geb mir ja schon voll mühe es zu lernen.

Nexhmije

Betreff: Re: Bewegungsrichtung aus Winkel berechnen...

BeitragDo, Jun 12, 2008 19:52
Antworten mit Zitat
Benutzer-Profile anzeigen
D2006 hat Folgendes geschrieben:
Nexhmije hat Folgendes geschrieben:
Ach, die Winkelberechnung stimmt wirklich. jedenfalls ist 3 Uhr 90 Grad, 6 Uhr 180 Grad und 9 Uhr 270 Grad.


Sie stimmt nicht. Korrekt wäre das hier:
Code: [AUSKLAPPEN]
x = x + cos(winkel)
y = y - sin(winkel)


Aber zu deinem Problem: Schau dir mal den Befehl ATan2 an.


Das ist jetzt noch verwirrter als vorher Confused

Bewegungsrichtung-Berechnung:
Code: [AUSKLAPPEN]
Self.X = Self.X + Cos(GetAngle(400, Self.X+8, 420, Self.Y+8))
Self.Y = Self.Y - Sin(GetAngle(400, Self.X+8, 420, Self.Y+8))

Winkelberechnung:
Code: [AUSKLAPPEN]
Return (ATan2(X1 - X2, Y1 - Y2) + 360) Mod 360

Jetzt bin ich wieder 2 Stunden dran gesessen und schon wieder matschig in der Birne. Huii~

Zur Winkelberechnung: Norden ist jetzt 180, Osten 90, Süden 0 und Westen 270 Grad. Die Objekte huschen jetzt nur noch an den Rändern rum.

Halp!
 

BB-Fan

BeitragFr, Jun 13, 2008 16:29
Antworten mit Zitat
Benutzer-Profile anzeigen
ich denke das hier verdeutlicht es am besten.
wie errechnet man den winkel alpha im einheitskreis, wenn man nur ankathete und gegenkathete hat.
vorallem winkel von 0-360 grad, gerade weil ja bei verschiebung von Punkt A nach links (quadrant II) die werte von x im negativen bereich liegen.

Schaut und verschiebt unten den winkel, den wir errechnen wollen.

http://kskue.educanet2.ch/klakuendigm/ekreis/

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group