Dies ähnelt in gewisser Weise den Mittelpunkten eines Dreiecks , hat jedoch einen anderen Punkt. Der Fermat-Punkt ist der Punkt P im Dreieck ABC, so dass der Wert von AP + BP + CP minimiert wird. Es gibt zwei Fälle:
Wenn ein Winkel größer als 120 Grad ist, ist dieser Scheitelpunkt der Fermatpunkt. Zeichnen Sie andernfalls gleichseitige Dreiecke an jeder Seite von ABC. Verbinden Sie den äußersten Scheitelpunkt jedes gleichseitigen Dreiecks mit dem gegenüberliegenden Scheitelpunkt des Dreiecks ABC. Wenn Sie dies für jedes der drei gleichseitigen Dreiecke tun, erhalten Sie einen gemeinsamen Schnittpunkt für alle drei Linien, den Fermat-Punkt.
Es sollte innerhalb von 5 Sekunden auf einem vernünftigen Computer ausgeführt werden.
Eingabe : Ein Satz von 3 Punkten, nicht unbedingt ganze Zahlen. Dies kann als verschachteltes Array, als Zeichenfolge, als Liste von Tupeln usw. verwendet werden (je nachdem, was für Ihre Sprache geeignet ist).
Ausgabe : Die Koordinaten des Fermat-Punkts, jedoch behandelt Ihre Sprache Punkte am besten. Fließkomma-Ungenauigkeiten werden nicht mitgezählt.
Testfälle :
[[1, 1], [2, 2], [1, 2]] --> [1.2113248654051871, 1.788675134594813]
[[-1, -1], [-2, -1], [0, 0]] --> [-1, -1]
[[-1, -1], [1, -1], [0, 1]] --> [0, -0.42264973081037427]
[[0, 0], [0.5, 0.8660254037844386], [-5, 0]] --> [0, 0]
[[0, 0], [0, -5], [-0.8660254037844386, 0.5]] --> [0, 0]
Das ist Codegolf, also gewinnt der kürzeste Code!
-0.0anstelle einiger 0.0s ausgegeben wird ?
