2017-01-11 2 views
1

Ich möchte wissen, wie man drei Punkte auf eine Weise validiert, die ich wissen könnte, wenn diese Punkte richtig sind, um einen Kreis zu erzeugen. Ich würde gerne wissen, was die Ausnahmen sind, damit ich fortfahren kann, die Kreisgleichung zu generieren.Wie man Punkte validiert, um eine Kreisgleichung zu erzeugen

Zum Beispiel ist eine Ausnahme, dass Sie nicht drei Punkte in einer geraden Linie haben können. P1 (34,15) P2 (67,15) P3 (27,15)

Wie Sie sehen können sie den gleichen Wert auf 'Y' haben, so dass Sie nicht die Kreisgleichung für diejenigen finden Drei Punkte, es wäre ein Fehler.

Welche anderen Ausnahmen sollte ich berücksichtigen?

+0

Drei Punkte werden benötigt, um einen Kreis zu definieren. Wenn die Punkte nicht auf einer geraden Linie liegen, bilden sie immer einen Kreis. Sie können das Zentrum finden, indem Sie die Mittelsenkrechten der Linie, die P1 mit P2 verbindet, und die Linie, die P2 mit P3 verbindet, verwenden. Das Zentrum wird dort sein, wo sich die zwei Halbierenden kreuzen. Eine Möglichkeit, darüber nachzudenken, besteht darin, einen Kreis zu betrachten, der zwei der Punkte berührt und ihn bis zum dritten Punkt anwachsen lässt. –

Antwort

2

Punkte können nicht Kreis definieren, wenn sie auf der Geraden sind, so können Sie überprüfen, ob Kreuzprodukt von zwei Vektoren Null

if CrossProduct(P2-P1, P3-P1) <> 0 then 
    OK, circle is possible 

in coordinates: 
(P2.X - P1.X) * (P3.Y - P1.Y) - (P3.X - P1.X) * (P2.Y - P1.Y) 

Beachten Sie, dass Koinzidenz von Punkten auch Null-Ergebnis gibt, so können Sie diese trennen kann Fälle (es ist möglich, unendliche Anzahl von Kreisen durch zwei oder einen einzelnen Punkt zu bauen)

+0

Danke. :). Ich habe das Cross-Produkt komplett vergessen, aber ist das die einzige Ausnahme, die ich in Betracht ziehen sollte? Ich meine, nur Punkte in einer geraden Linie? Ich bin mir nicht sicher, ob ich meinen Standpunkt gut genug darlege. – PseudoHuman

+0

Ja. Bei der gleichen Linie - kein Kreis, zusammenfallende Punkte - unbestimmte Anzahl von Kreisen. Es gibt Theorem/Korollar, aber ich kenne seine englische Formulierung nicht - durch drei verschiedene Punkte, die nicht zur selben Linie gehören, kann man einen Kreis bilden. – MBo

Verwandte Themen