-2

Wie berechnet man den dritten Punkt des gleichschenkligen Dreiecks mit JAVA, mit seinen zwei Punkten und dem Umkreismittelpunkt. Dafür gibt es zwei Lösungen, und es genügt mir, wenn ich von den Punkten A und B den kürzesten bekomme.Finden Sie den dritten Punkt mit dem Umkreismittelpunkt und zwei Punkten eines Dreiecks

+3

Wenn durch _circumcenter_ man den Schnittpunkt der Mittelsenkrechten eines Dreiecks bedeutet, so wie es auch ist, Die Mitte des Dreiecks _circumcircle_ (der Kreis, der durch alle drei Eckpunkte des Dreiecks geht) Ich sehe nicht, wie du ** nur zwei ** Lösungen finden kannst: ** jeder ** Punkt auf diesem Kreis kann der sein dritter Punkt! –

+0

Es können nur 2 Lösungen erhalten werden, da der dritte Punkt des Dreiecks auf der Linie liegt, die den Mittelpunkt der beiden Punkte und den Mittelpunkt des Kreises verbindet. Diese Linie schneidet den Kreis zweimal. – Anand

+0

Sie denken also nur an [_isosceles_] (http://mathworld.wolfram.com/IsoscelesTriangle.html) Dreiecke. Gut, aber da dies nicht der [allgemeine Fall] (http://www.mathopenref.com/trianglecircumcenter.html) ist, sollte es in der Frage angegeben werden. –

Antwort

1

Wenn AB die Basis des gleichschenkligen Dreiecks (AC = BC) ist, dann ist die Lösung ziemlich einfach .

gegeben Punkte A, B, CC (circumcenter)

circumradius ist

R = Length(CC-A) = Sqrt((CC.X - A.X)^2 + (CC.Y - A.Y)^2) 

Edit: geändert Richtungsvektor Berechnung Unklarheiten zu vermeiden:

Mittelpunkt AB

M = ((A.X + B.X)/2, (A.Y + B.Y)/2) 

Richtungsvektor von CC nach Vertex C

D = (CC.X - M.X, CC.Y - M.Y) 

Normalized (Einheit) Richtungsvektor

uD = (D.X/Length(D), D.Y/Length(D)) 

Vertice C Koordinaten

C = (CC.X + R * uD.X, CC.Y + R * uD.Y) 
+0

Hallo, danke für die Lösung. Es sollte jedoch 2 Lösungen für C geben. Kann ich die andere Koordinate durch CC.X bekommen - R * uD.X, CC.Y - R * uD.Y – Anand

+0

Mit den beschriebenen Bedingungen gibt es nur eine Lösung. – MBo