Koordinaten eines Punktes zwischen zwei Punkten finden?

8

Etwas 3D-Zeug in wpf- zu machen, wollen einen einfacheren Test verwenden, um zu sehen, ob alles funktioniert (bevor man in Kurven übergeht).

Die Grundfrage ist gegeben zwei Punkte x1, y1, z1 und x2, y2, z2 Ich habe den Abstand zwischen den Punkten berechnet. Aber wie findet man die Koordinaten eines anderen Punktes (x3, y3, z3), der in einiger Entfernung auf dieser Linie liegt?

i.e. Wenn meine Linie 100 lang zwischen -50,0,0 und 50,0,0 ist, wie lauten die Koordinaten des Punktes bei 100 * 0,1 entlang der Linie?

Ich denke, das ist eine einfache Formel, aber ich habe es noch nicht gefunden ....

    
Nicros 21.05.2010, 22:48
quelle

4 Antworten

13

Für jedes p zwischen 0 und 1 erhalten Sie einen Punkt auf dem Liniensegment:

%Vor%     
Mark Byers 21.05.2010, 22:57
quelle
6

Das hat mit Mathe zu tun, aber ok. Lassen Sie P und Q die zwei gegebenen Punkte und X den Punkt, den Sie suchen.

%Vor%

r gibt einen Faktor an.

if 0 < r < 1 : Der Punkt x befindet sich auf der Linie zwischen den beiden Punkten.

Das ist es!

BEARBEITEN:

Um einen Punkt in einem gegebenen Abstand d von P (p1 / p2 / p3) zu finden:

%Vor%

Fügen Sie r in die oben genannte Gleichung ein und Sie werden Ihren Standpunkt haben! :)

PS: BTW: P-Q = (Px - Qx, Py - Qy, Pz - Qz) ... Ich wette, du weißt es schon:)

    
Simon 21.05.2010 22:55
quelle
1

Lassen Sie t von 0 bis 1 variieren. Verwenden Sie Folgendes:

(x3, y3, z3) = (1-t)*(x1, y1, z1) + t*(x2, y2, z2)

Wenn t = 0 ist, erhalten Sie den ersten Punkt. Wenn t = 1, erhalten Sie die zweite.

Diese Methode wird lineare Interpolation genannt.

    
sigfpe 21.05.2010 22:59
quelle
0

Eine Linie, die die Punkte in 3d verbindet, ist gegeben durch die Gleichung:

  

(x - x1) / (x2 - x1) = (y - y1) / (y2 -   y1) = (z - z1) / (z2 - z1)

Sie haben die Werte von x1, y1, z1, x2, y2, z2. Dadurch erhalten Sie eine Gleichung für die Linie.

Eine andere Gleichung wäre

  

((x-x1) ^ 2 + (y-y1) ^ 2 + (z-z1) ^ 2) ^ (1/2) = Entfernung

Löse die 2 Gleichungen, um den Wert der Punkte zu erhalten.

    
Sridhar Iyer 21.05.2010 23:05
quelle

Tags und Links