0

Es gibt ein Dreieck mit den Punkten P1(x1,y1), P2(x2,y2), P3(x3,y3) auf einer XY-Ebene.Ein Dreieck in einer Ebene transformieren

Die endgültige Position nach der Transformation sind uns bekannt, P1'(x,y) und P2'(x,y) Wie kann ich den dritten Punkt finden?

Die Formel für die Steigung (oder Entfernung) gibt zwei Lösungen (eine ist Spiegelbild einer anderen). Angenommen, die Transformation ist eine Kombination aus Translation und Rotation, wie bekomme ich die neuen Koordinaten des Endpunkts P3'?

Antwort

1

Wenn Sie bereits eine Lösung mit Abstandsformel haben, müssen Sie nur auswählen, welcher Spiegelpunkt benötigt wird. Um zu klären, finden Sie Zeichen des Kreuzproduktes von P1P2 Vektor und P1P3 Vektor. Dann finden Sie das Vorzeichen des Kreuzproduktes von P1'P2' Vektor und P1'Px Vektor. Wenn sich die Zeichen unterscheiden, holen Sie einen anderen Punkt.

CrossProduct = (P2.X - P1.X) * (P3.Y - P1.Y) - (P2.Y - P1.Y) * (P3.X - P1.X) 

Im allgemeinen Fall, dass Sie Koeffizienten Transformationsmatrix und gelten diese Matrix zum dritten Punkt

 c -s 0 
M = s c 0 
    dx dy 1 

Gleichungssystem

c * x1 + s * y1 + dx = x1' 
-s * x1 + c * y1 + dy = y1' 
c * x2 + s * y2 + dx = x2' 
-s * x2 + c * y2 + dy = y2' 

es für unbekannte c, s, dx lösen finden, dy (wirklich c und s sind nicht unabhängig)