2016-08-15 8 views
0

In python habe ich zwei Punkte, A und B in 2D.Identifizieren von 90 ° Projektion zwischen zwei Punkten

Ich habe einen Benutzer, der zwischen diesen 2 Punkten reist (jetzt ein Vektor?).

Diese Punkte sind beliebig weit voneinander entfernt.

Ich möchte 2 Projektionen (?) Auf halbem Weg zwischen diesen 2 Punkten 100m von der ursprünglichen Linie, eine Projektion bei 90 Grad und die andere bei 180 Grad berechnen.

Better explained as a picture here

In dem obigen Bild habe ich die Punkte A und B, während ich mag Punkte berechnen C und D.

jemand mir mit dieser Mathe Berechnung helfen?

+0

Sorry, aber so ist keine analytische Geometrie Seite. –

Antwort

1

Betrachten wir die Richtungsvektor von A nach B:

ab = (x2 - x, y2 - y) 

der Vektor also, dass zu dieser Linie orthogonal ist:

orth = (y - y2, x2 - x) 

Die Länge dieses Vektors (und des Richtungsvektors) ist:

l = sqrt((x2-x)^2 + (y2-y)^2) 

der Mittelpunkt auf der Linie

m = 1/2 * (x + x2, y + y2) 

Schließlich sind die beiden Punkte C und D sind:

C/D = m +- orth * 100/l 
Verwandte Themen