Winkel von Punkt1 zu Punkt2 ermitteln

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

Heather

Betreff: Winkel von Punkt1 zu Punkt2 ermitteln

BeitragSa, Jun 30, 2007 15:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Huhu, ich möchte herausfinden in welchem Winkel Punkt1 zu Punkt2 steht. Ich bin in Mathe echt nicht gut. Meine Suche hat ergeben dass ich wohl mit ATan2 arbeiten muss. Habe damit auch schon etwas rumexpermentiert aber komme zu keiner Lösung. Hat jemand einen Tipp?
 

ChristianK

BeitragSa, Jun 30, 2007 16:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hoffe, das hilft dir weiter:

Code: [AUSKLAPPEN]
Graphics 800, 600, 0

Local x:Int = 700, y:Int = 100

While Not KeyDown( KEY_ESCAPE )
   Cls
   
   ' Punkt1
   DrawRect 300, 500, 5, 5
   
   ' Punkt2
   If KeyDown( KEY_LEFT ) x = x - 4 ; If x < 300 x = 300
   If KeyDown( KEY_RIGHT ) x = x + 4
   If KeyDown( KEY_UP ) y = y - 4
   If KeyDown( KEY_DOWN ) y = y + 4 ; If y > 500 y = 500
   
   DrawRect x, y, 5, 5
   DrawText( "Winkel am Punkt links unten: " + ( ATan2( x-300, y-500 ) - 90 ), 10, 10 )
   
   ' Dreieck zeichnen
   DrawLine 300, 500, x, y
   DrawLine 300, 500, x, 500
   DrawLine x, y, x, 500

   Flip
Wend

End

ATan2 werden 2 Parameter übergeben, nämlich die Abstände der beiden Punkte auf der X- und Y-Achse.
  • Zuletzt bearbeitet von ChristianK am Fr, Jul 27, 2007 21:59, insgesamt einmal bearbeitet

Heather

BeitragSa, Jun 30, 2007 16:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Das funktioniert zwar gut, ist aber nicht das was ich brauche. Habe nämlich etwas vergessen zu erwähnen. Am Besten ein paar Beispiele:

Befindet sich der zweite Punkt genau über dem ersten sind es 0 Grad
Genau rechts daneben 90 Grad
Genau links daneben 270 Grad
Ist der zweite Punkt irgendwo dazwischen halt der entprechende Grad.

Jetzt habe ich extra so eine schöne Grafik gemacht um es besser zu erklären aber ich bekomme sie nicht wie rangehängt. Ich hoffe man versteht es auch so.

Heather

BeitragSa, Jun 30, 2007 16:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Kurz nachgedacht und dann geht's auch:

Code: [AUSKLAPPEN]
180 -( ATan2( x-300, y-500 ))


Dankeschön!

d-bug

BeitragSa, Jun 30, 2007 16:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Erstmal hallo und willkommen im BBP!

Dann auch schon die erste Zurechtweisung: Wink

Bitte keine Doppelposts. Benutze stattdessen lieber den Edit-Button. Der ist oben rechts über all deinen Posts. Es ist der mit dem schicken kleinen Schraubenschlüssel.

cheers

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group