hallo Slick,
also allgemein formuliert wird das allerdings ziemlich lang und kompliziert. Ich versuch’s mal.
Also der Anfangspunkt A ist (a1,a2,a3) wobei a1 der x-Wert, a2 der y-wert und a3 der z-Wert ist. (Diese Systematik gilt auch für alle anderen Punkte und Richtungen)
Der Zielpunkt Z ist (z1, z2, z3). (als Zielpunkt hab ich den Punkt bezeichnet, auf dem sich dein Objekt zubewegt, nicht den Punkt, an dem es stehen bleibt, diesen Punkt nenn ich mal Endpunkt E)
die Richtung zwischen Anfangs-und Zielpunkt ist somit
(r1, r2, r3) = (z1, z2, z3) - (a1, a2, a3)
D.h. für den x-Wert der Richtung gilt r1= z1 -a1 etc.
Die Strecke, die der Endpunkt vom Anfangswert weg liegt, ist s (in deinem Beispiel 5 cm)
Du mußt dich also um die Strecke s vom Punkt A in die Richtung r entfernen.
das heißt der Endpunkt E ist (e1, e2, e3)
(e1, e2, e3) = (a1, a2, a3) + s*x*(r1, r2, r3)
(du weißt ja noch nicht, wie lang dein Richtungsvektor ist. Der Faktor x sorgt dafür, daß er die Länge 1 bekommt.)
Zur Berechnung von x setzt du den Betrag von x*(r1, r2, r3) einfach gleich 1
1 = (x*(r1 ,r2, r3))^2
1 = x^2 *(r1^2 + r2^2 + r3^2)
daraus kannst du x berechnen
x = Wurzel aus(r1^2 + r2^2 + r3^2)
Jetzt hat deine Richtung die Länge 1 und du brauchst sie nur noch mit s mulitplizieren und zum Anfangspunkt dazurechnen und schon bist du am endpunkt
(e1, e2, e3)= (a1, a2, a3) + s*x*(r1, r2, r3)
D.h.
der x-Wert des Enpunktes ist
e1 = a1 + s*x*r1
der y-Wert
e2 = a2 + s*x*r2
der z-Wert
e3 = a3 + s*x*r3
Ich hoffe, du wirst aus dieser Rechnung schlau.
Grüßle,
Sandra