Math Berechnung, um Winkel zwischen zwei Punkten zu erhalten? [Duplikat]

8

Ich suche schon seit Ewigkeiten danach und es nervt mich wirklich, also habe ich beschlossen, einfach zu fragen ...

Wenn ich zwei Punkte habe (nämlich x1, y1 und x2, y2), würde ich gerne den Winkel zwischen diesen beiden Punkten berechnen, vorausgesetzt, dass wenn y1 == y2 und x1 & gt; x2 der Winkel beträgt 180 Grad ...

Ich habe den folgenden Code, mit dem ich gearbeitet habe (mit Wissen aus der High School) und ich kann einfach nicht das gewünschte Ergebnis produzieren.

%Vor%

Vielen Dank im Voraus, ich bin so frustriert ...

    
Luke Joshua Park 15.10.2012, 08:04
quelle

1 Antwort

15
___ tag123c ___ C # (sprich "Cis") ist eine objektorientierte Programmiersprache auf hohem Niveau, die für die Erstellung einer Vielzahl von Anwendungen entwickelt wurde, die auf dem .NET Framework (oder .NET Core) ausgeführt werden. C # ist einfach, leistungsfähig, typsicher und objektorientiert. ___ tag123distance ___ Abstand ist eine numerische Beschreibung der Entfernung von Objekten. ___ qstntxt ___

Ich suche schon seit Ewigkeiten danach und es nervt mich wirklich, also habe ich beschlossen, einfach zu fragen ...

Wenn ich zwei Punkte habe (nämlich x1, y1 und x2, y2), würde ich gerne den Winkel zwischen diesen beiden Punkten berechnen, vorausgesetzt, dass wenn y1 == y2 und x1 & gt; x2 der Winkel beträgt 180 Grad ...

Ich habe den folgenden Code, mit dem ich gearbeitet habe (mit Wissen aus der High School) und ich kann einfach nicht das gewünschte Ergebnis produzieren.

%Vor%

Vielen Dank im Voraus, ich bin so frustriert ...

    
___ qstnhdr ___ Math Berechnung, um Winkel zwischen zwei Punkten zu erhalten? [Duplikat] ___ antwort12892493 ___

Nach dem, was ich gesammelt habe, möchten Sie, dass Folgendes gilt:

  • Horizontale Linie: P1 -------- P2 = & gt; 0 °
  • Horizontale Linie: P2 -------- P1 = & gt; 180 °

Drehen der horizontalen Linie im Uhrzeigersinn

Sie sagten, Sie möchten, dass der Winkel im Uhrzeigersinn zunimmt.

Wenn Sie diese Zeile P1 -------- P2 so drehen, dass P1 über P2 steht, muss der Winkel 90 ° betragen.

Wenn wir jedoch in die entgegengesetzte Richtung gedreht haben, wäre P1 unter P2 und der Winkel ist -90 ° oder 270 °.

Arbeiten mit atan2

Basis : Wenn Sie P1 als Ursprung betrachten und den Winkel von P2 relativ zum Ursprung messen, liefert P1 -------- P2 korrekt 0 .

%Vor%

atan2 lässt jedoch den Winkel in CCW-Richtung ansteigen. Rotiert in CCW-Richtung um den Ursprung, durchläuft y die folgenden Werte:

  • y = 0
  • y & gt; 0
  • y = 0
  • y & lt; 0
  • y = 0

Das bedeutet, dass wir einfach das Vorzeichen von y umkehren können, um die Richtung umzukehren. Da die Koordinaten von C # jedoch von oben nach unten zunehmen, ist das Vorzeichen bei der Berechnung von yDiff bereits umgekehrt.

    
___ tag123angle ___ Eine Form, die aus zwei Linien oder Strahlen besteht, die von einem gemeinsamen Punkt (dem Scheitelpunkt) abweichen. ___ tag123math ___ Mathematik ist das Studium von Quantität, Struktur, Raum und Veränderung. Alle mathematischen Fragen auf dieser Website sollten programmbezogen sein. ___
phant0m 15.10.2012, 09:12
quelle

Tags und Links