Wie funktioniert Atan2?

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Travis

Betreff: Wie funktioniert Atan2?

BeitragFr, März 26, 2010 11:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Die frage richtet sich an die Mathefreaks unter eucht. Mithilfe der Atan2-Funktion kann man sehr einfach Winkel ausrechnen um eine Bewegungsrichtung von PosA nach PosB zu bestimmen welche dann mit Hilfe von Cos und Sin in eine Koordinatenänderung umgewandelt wird.

Code: [AUSKLAPPEN]

Graphics 800,600,16,2
SetBuffer BackBuffer()

x1# = 100
y1# = 100

x2# = 700
y2# = 500

s# = 2

Repeat
 Cls

  Text 0,0, w#

  w# = ATan2(y2-y1,x2-x1)

  x1 = x1 + Cos(w) * s
  y1 = y1 + Sin(w) * s

  If Abs(x1-x2) + Abs(y1-y2) < 2 Then x2=Rnd(800): y2=Rnd(600)

  Color 0,255,0 : Oval x1-3, y1-3, 6, 6
  Color 255,0,0 : Oval x2-3, y2-3, 6, 6 

 Flip
Until KeyHit(1)
End


Dieses kleine Beispiel erzeugt zwei Kreise. Kreis A bewegt sich auf Kreis B zu, welcher ständig seine Position verändert.

Ich schnuppere gerade in Purebasic rein und da fehlt leider eine solche Funktion.
www.funforge.org

Ich hasse WASD-Steuerung.

Man kann alles sagen, man muss es nur vernünftig begründen können.

Noobody

BeitragFr, März 26, 2010 12:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Das hier sollte dir weiterhelfen. Du musst einfach beachten, dass auf der Wikipedia da im Bogenmass gerechnet wird. Wenn da also +Pi/-Pi steht, bedeutet das einfach +180/-180 im Gradmass.
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun

The Shark

BeitragFr, März 26, 2010 14:59
Antworten mit Zitat
Benutzer-Profile anzeigen
http://purearea.net/pb/CodeArc...y/ATan2.pb
Das Codearchiv von Purearea.net ist immer eine gute Anlaufstelle.
Rette deine Freiheit

Holzchopf

Meisterpacker

BeitragFr, März 26, 2010 19:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Nur so am Rande: Wieso rechnest du zuerst Koordinaten in Winkel um um danach den Winkel wieder in Koordinaten umzurechnen? Bei diesem Beispiel da wäre eine Lösung mit Vektoren eleganter (und auch schneller)...

mfG
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm

Travis

BeitragFr, März 26, 2010 20:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke für die Hilfe. Hab's jetzt geschafft das Programm in PureBasic zu übernehmen.

@ Holzchopf
Bin halt dran gewöhnt weil ich für meine Projekte eh immer den Winkel brauche um das richtige Bild (Raumschiffe, Raketen ect.) anzuzeigen.
www.funforge.org

Ich hasse WASD-Steuerung.

Man kann alles sagen, man muss es nur vernünftig begründen können.

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group