Нахождение координат точки между двумя точками?

Выполнение некоторого 3D материала в wpf-хочет использовать более простой тест, чтобы видеть, работает ли все (прежде чем перемещение в кривые).

Основному вопросу дают две точки x1, y1, z1 и x2, y2, z2 я вычислил расстояние между точками. Но как найти координаты другой точки (x3, y3, z3), который находится на той строке на некотором расстоянии?

Т.е. если моя строка равняется 100 долго между-50,0,0 и 50,0,0, каковы координаты точки в 100 * 0.1 вдоль строки?

Я думаю, что это - простая формула, но я еще не нашел его....

9
задан Nicros 21 May 2010 в 22:48
поделиться

4 ответа

Для каждого p от 0 до 1 это даст вам точку на отрезке линии:

(x1, y1, z1) + p * ((x2, y2, z2) - (x1, y1, z1))
15
ответ дан 4 December 2019 в 09:12
поделиться

Пусть t изменяется от 0 до 1. Используйте следующее:

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

Когда t = 0, вы получаете первое очко. При t = 1 получается второе.

Этот метод называется линейной интерполяцией .

1
ответ дан 4 December 2019 в 09:12
поделиться

линия, соединяющая точки в 3d, задается уравнением:

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

У вас есть значения x1, y1, z1, x2, y2, z2. Это даст вам уравнение для линии.

другое уравнение будет

((x-x1) ^ 2 + (y-y1) ^ 2 + (z-z1) ^ 2) ^ (1/2) = расстояние

Решите 2 уравнения чтобы получить значение очков.

0
ответ дан 4 December 2019 в 09:12
поделиться

Это связано с математикой, но ладно. Пусть P и Q будут двумя заданными точками, а X точкой, которую вы ищете.

P + r(Q - P) = X

r указывает коэффициент.

if 0 : точка x будет на линии между двумя точками.

Вот и все!

РЕДАКТИРОВАТЬ:

Чтобы найти точку на заданном расстоянии d от P (p1 / p2 / p3):

d² / euclidian_square_distance(P,Q) = r

Вставьте r в указанное выше уравнение, и вы поймете свою точку зрения! :)

P.S: Кстати: P-Q = (Px - Qx, Py - Qy, Pz - Qz) ... держу пари, вы уже знали это :)

7
ответ дан 4 December 2019 в 09:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: