Hi. Ich suche einen Algorithmus, mit dem ich eine Dreieckspeilung berechnen kann. folgendes: wir haben ein koordinatensystem mit X=1000m
Y=1000m
wir haben drei sender A(250|250),B(640|480),C(250|700)
Die sender stehen also in einem gleichwinkligen dreieck zueinander in der entfernung |AC| = |AB| = |BC| = 450m
ich habe einen Punkt T(?|?) der von A 250m von B 200m und von C 365m entfernt ist. wie berechne ich die koordinaten des Punktes T der im dreieck ABC steht??
Vielen Dank für die Hilfe schonmal im vorraus, ich weiss dass es eine Extrem schwere Aufgabe ist.
mailto: Synthetic_codes@yahoo.de
Programmieren - alles kontrollieren 4.937 Themen, 20.662 Beiträge
Hallo synthetic_codes,
die notwenige Fromel kann man relativ einfach selbst herleiten:
A(250|250),B(640|480),C(250|700)
a(A, T) = 250LE
a(A, T) = 200LE
a(A, T) = 365LE
d(A, T) = SQRT((ax-tx)2+(ay-ty)2)
d(B, T) = SQRT((bx-tx)2+(by-ty)2)
d(C, T) = SQRT((cx-tx)2+(cy-ty)2)
<=>
(d(A, T))2 = (ax-tx)2+(ay-ty)2
(d(B, T))2 = (bx-tx)2+(by-ty)2
(d(C, T))2 = (cx-tx)2+(cy-ty)2
<=>
(d(A, T))2 = ax2-2axtx+tx2 + ay2-2ayty+ty2
(d(B, T))2 = bx2-2bxtx+tx2 + by2-2byty+ty2
(d(C, T))2 = cx2-2cxtx+tx2 + cy2-2cyty+ty2
<=>
(d(A, T))2 = ax2-2axtx+tx2 + ay2-2ayty+ty2
(d(B, T))2-(d(A, T))2 = bx2-2bxtx+tx2 + by2-2byty+ty2 - (ax2-2axtx+tx2 + ay2-2ayty+ty2)
(d(C, T))2-(d(A, T))2 = cx2-2cxtx+tx2 + cy2-2cyty+ty2 - (ax2-2axtx+tx2 + ay2-2ayty+ty2)
<=>
(d(A, T))2 = ax2-2axtx+tx2 + ay2-2ayty+ty2
(d(B, T))2-(d(A, T))2 = bx2-2bxtx + by2-2byty - (ax2-2axtx + ay2-2ayty)
(d(C, T))2-(d(A, T))2 = cx2-2cxtx + cy2-2cyty - (ax2-2axtx + ay2-2ayty)
Jetzt brauchen wir nur noch zwei Gleichungen (II & III) zum Weiterrechenn, mit der 3. (I) kann überprüft werden ob die Lösung richtig ist (die Kombination der 3 Entfernungen zu einander passt).
(d(B, T))2-(d(A, T))2 = bx2 -2bxtx +by2 -2byty -ax2 +2axtx -ay2 +2ayty
(d(C, T))2-(d(A, T))2 = cx2 -2cxtx +cy2 -2cyty -ax2 +2axtx -ay2 +2ayty
<=>
(d(B, T))2-(d(A, T))2 = -2bxtx +2axtx -2byty +2ayty + bx2 +by2 -ax2 -ay2
(d(C, T))2-(d(A, T))2 = -2cxtx +2axtx -2cyty +2ayty + cx2 +cy2 -ax2 -ay2
<=>
(d(B, T))2-(d(A, T))2 = 2tx(ax-bx)+2ty(2ay-by) + bx2 +by2 -ax2 -ay2
(d(C, T))2-(d(A, T))2 = 2tx(ax-cx)+2ty(2ay-cy) + cx2 +cy2 -ax2 -ay2
Dann noch eine der Gleichungen zu tx auflösen und in die Andere einsetzen, so das erst ty und anschliend tx gelöst werden kann - dann hast Du die notwendige Formel. Das sollte extrem einfach sein...
Mit der Formel I kann anschließen Geprüft werden ob die Angaben stimmen (wahre Aussage), die Anordnung der Punkte ABC ist dabei unerheblich.
CU Borlander