Как найти знак направленного расстояния? - PullRequest
3 голосов
/ 16 февраля 2009

У меня есть 2 точки, P и Q, на направленной линии AB в трехмерном пространстве. Они могут находиться где угодно на линии, то есть не обязательно между A и B.

Пифагор, очевидно, дает вам расстояние, но как мне вычислить знак направленного расстояния от P до Q?

Ответы [ 5 ]

5 голосов
/ 16 февраля 2009

Возьмите точечное произведение из AB и PQ . Положительный => то же направление, отрицательный => противоположное направление.

4 голосов
/ 16 февраля 2009

Рассматривая различия Q-P и B-A как векторы AB и PQ , знак дается знаком точечного произведения векторов.

знак (Sign_Distance) = знак ( PQ · AB )

где

[x, y, z] · [p, q, r] = x✕p + y✕q + z✕r

Если вы нормализуете вектор AB путем деления его на его величину (квадрат точечного произведения с самим собой),

N = AB / | AB |

Тогда подписанное расстояние вдоль направления AB будет

Sign_Distance = PQ · N

Это означает, что вам нужно выполнить sqrt только один раз, если A и B. не изменились.

0 голосов
/ 16 февраля 2009

Похоже, вы спрашиваете о векторах. Я не знаю, изучали ли вы их еще, но это величины, которые имеют величину и направление.

Если ваши две точки в пространстве (p1, p2, p3) и (q1, q2, q3), вы можете сформировать вектор, указывающий от P к Q в трехмерном пространстве, следующим образом:

V = (q1-p1) * i + (q2 - p2) * j + (q3 - p3) * k

где (i, j, k) - векторы величины 1 в направлениях x, y и z соответственно.

Величина (например, расстояние) от P до Q - это квадратный корень из суммы квадратов компонентов.

0 голосов
/ 16 февраля 2009

Точки находятся на линии A-B, и вы хотите расстояние от P до Q.

Линия направлена ​​от А к В, так что вы можете определить альфа так:

Point = alpha (B-A) + A

Вы найдете альфа P и Q, и если альфа P больше, чем Q, знак отрицательный.

0 голосов
/ 16 февраля 2009

Для каждого измерения (x, y, z) оно будет увеличиваться, уменьшаться или постоянно для A-> B. Это можно найти, выполнив B-A (xB-xA, yB-yA, zB-zA). Для ваших очков рассчитайте эквивалентное значение для Q-P. Если знак в x (или y или z) такой же, как и для B-A, то направление такое же, как в AB, в противном случае оно отличается.

Вам нужно только посмотреть на 1 из x, y или z, но если AB постоянна в x, y или z, вам нужно выбрать другое измерение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...