@@Gunnar Bittersmann:
nuqneH
Oops, die Fußnoten vergessen.
- verschiebe das Koordinatensystem so, dass der Punkt S(xS, yS) im Ursprung liegt, rechne die Koordinaten aller Punkte in Polarkoordinaten um
- sortiere die Punkte nach aufsteigendem Radius ➝ Liste A
- wähle die ersten 3 Punkte aus der Liste P ➝ Liste B
Das deckt sich mit LX’ Ansatz, „dass Du eine Funktion benötigst, die die jeweilige Entfernung der x/y Werte eines Vektor-Objekts misst und damit die Liste Deiner Objekte sortierst; davon nimmst Du jetzt die ersten 3“.
- wenn der Punkt S (Urprung) innerhalb des aus den Punkten der Liste B gebildeten Dreiecks liegt, nimm dieses
andernfalls:
Die Fallunterscheidung hatte LX vergessen.
Die Prüfung sollte sich in Polarkoordinaten einfach einfach erledigen lassen: Eine der beiden Differenzen des Arguments eines Punkt des Dreiecks zu den Argumenten der beiden anderen Punkte (bei gleichem Drehsinn!) muss kleiner oder gleich π (180°) sein, die andere größer oder gleich π; wobei nicht bei beiden das Gleichheitszeichen gelten darf.
Qapla'
--
Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
(Mark Twain)
Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
(Mark Twain)