Wie kann ich diese Punkte mathematisch sortieren?

...komplette Frage anzeigen

1 Antwort

rechne doch über den Tangens den Winkel zum Punkt aus und sortiere die Punkte nach dem Winkel aufsteigend. Eventuell musst du jeden Quadranten gesondert berücksichtigen, da atan nicht eindeutig ist.

Antwort bewerten Vielen Dank für Deine Bewertung
Namno 05.01.2016, 15:33

Es tut mir leid, dass ich mich damit nicht auskenne, aber könntest du bitte den Begriff "Tangens" erklären? Wikipedia ist da mal wieder so aufschlussreich wie ein hybrid verschlüsselter Text...

0
Suboptimierer 05.01.2016, 15:38
@Namno

Ein Punkt wird normalerweise als x-y-Koordinate angegeben. Beispiel P(1|2)

Es gibt aber auch eine andere Darstellungsart, nämlich in Polarkoordinaten. (Ich schreibe mal jetzt so aus dem Gedächtnis, ohne nachzuschlagen:)

Dazu brauchst du nur die Entfernung zum Punkt und den Winkel.

Der Winkel berechnet sich so:

tan(alpha) = y/x
alpha = atan(y/x)

Im Beispiel ist atan(2) = alpha = 63,43°

Wenn nun zwei Punkte auf der gleichen Gerade durch den Ursprung liegen, kannst du sie über die Distanz sortieren.

Die Entfernung zum Ursprung ist Wurzel( x² + y² ).

Im Beispiel: Wurzel( 1² + 2²) = Wurzel(5) = 2,24

Wiki Polarkoordinaten: https://de.wikipedia.org/wiki/Polarkoordinaten

0
Namno 05.01.2016, 15:59
@Suboptimierer

Ich denke, das mit dem Winkel wird Reichen. Also wenn man davon ausgeht, dass die Mitte des Kreises auf dem Ursprung liegt und Ein Punkt, dessen Winkel ich dann berechnen will auf Q(2|2) liegt, müsste ich dann einfach so rechnen?

atan(2/2) = winkelergebnis

0
Suboptimierer 05.01.2016, 16:00
@Namno

Ja, prinzipiell schon, aber in deinem Beispiel sieht man sogar direkt, dass (2|2) auf der Halbierenden des Quadranten liegt, also bei 45°.

0
Namno 05.01.2016, 16:09
@Suboptimierer

Ok, Danke :) Mit direkt sehen kann ich leider in meinem Programm nichts anfangen, dem muss man mit Formeln kommen ;)

1

Was möchtest Du wissen?