Самый простой способ найти нелинейную точку - PullRequest
0 голосов
/ 14 марта 2020

У меня есть линия в трехмерном пространстве: (x1, y1, z1), (x2, y2, z2) Мне нужно найти любую точку в любой плоскости, которая гарантированно НЕ является коллинеарной с этой линией. Какой самый простой и простой способ найти такую ​​точку?

1 Ответ

0 голосов
/ 14 марта 2020

Вам необходим неколлинеарный вектор для построения необходимой точки.

Существует подход для получения перпендикулярного вектора:

make vector d = (x2-x1, y2-y1, z2-z1)
choose component with the largest magnitude (say dy)
and component with the second magnitude (say dx)
make the third (smallest) component zero
exchange two larger components and negate the largest one
p = (-dy, dx, 0)

Он перпендикулярен первому (обратите внимание, что скалярное произведение равно нулю p.dot.d==0)

Добавьте этот вектор к любой конечной точке, чтобы получить неколлинеарную точку.

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