Frage zu Sinus und Cosinus (die 1.000.000ste)

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

funkmaster5000

Betreff: Frage zu Sinus und Cosinus (die 1.000.000ste)

BeitragDi, Jan 01, 2013 18:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi Community.

Ich bin gerade dabei ein bisschen mit Rotationen zu üben. Ich möchte zu einer bekannten Bewegung den korrespondierenden Winkel wissen. Ist der Winkel bekannt, mach ich das so:

bewegung_x = Cos(winkel) * geschwindigkeit_x
bewegung_y = Sin(winkel) * geschwindigkeit_y

Das addiere ich dann auf meine X, bzw. Y-Koordinate.

Jetzt habe ich eine Spielfigur, der eine Geschwindigkeit zugewiesen wird. Ganz easy mit:
Code: [AUSKLAPPEN]
If KeyHit(205) Then speedx = speedx + 1
If KeyHit(200) Then speedy = speedy + 1
If KeyHit(208) Then speedy = speedy - 1
If KeyHit(203) Then speedx = speedx - 1


Wie bekomme ich jetzt den korrespondierenden Winkel heraus?
Ist ja klar, wenn die Figur sich mit 2px auf der Y Achse bewegt und mit 5px auf der X Achse, weist sie in eine andere Richtung als bei 1px auf der Y Achse und 2px auf der X Achse.

In meinem Fall entspricht ja die bewegung_x auch der geschwindigkeit_x. Ist die Geschwindigkeit 2, dann addiere ich 2 auf die entsprechende Koordinate. Also hätte ich 2 = cos(winkel) * 2? Mein Problem ist dieses cos(winkel), denn genau darauf will ich ja hinaus Wink Ich muss es also irgendwie loswerden, auflösen...?

Danke im Voraus.

ZEVS

BeitragDi, Jan 01, 2013 18:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Dafür brauchst du (wie du schon erkannt hast) die umgekehrten Winkelfunktionen (Arkuswinkelfunktionen). Idealerweise nimmst du Atan2. Die Dokumentation erklärt alles.

ZEVS

Xeres

Moderator

BeitragDi, Jan 01, 2013 18:32
Antworten mit Zitat
Benutzer-Profile anzeigen
~VERSCHOBEN~

Ist im Beginners Corner besser aufgehoben.

Ich würde mich zwischen x/y Koordinaten oder winkel/geschwindigkeits Koordinaten entscheiden. Ist es wirklich nötig, zwischen beidem hin und her rechnen?
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)
 

funkmaster5000

BeitragDi, Jan 01, 2013 18:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Jep Atan2 ist genau das, was ich suche! Tausend Dank!

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group