Расчет 3d плоскости для двух 3d векторов - PullRequest
2 голосов
/ 30 июня 2010

Если у меня есть две координаты вектора, представляющие положения на поверхности земли, где центр Земли равен (0,0,0), а вектор Up равен (0,0,1); Как лучше всего рассчитать трехмерную плоскость, которая проходит вдоль двух векторов (направление v2 - v1), но обратно на заданное количество метров (просто представьте виртуальную плоскость отсечения, которая находится позади двух векторов и проходит параллельно им ).

Ответы [ 3 ]

0 голосов
/ 30 июня 2010

Плоскости обычно описываются нормальным вектором N, и, поскольку все точки x, y, z соответствуют уравнению Ax + By + Cz + D = 0. (A, B, C) является нормальным вектором. Его даже не нужно нормализовать (единичную длину), если вы выбираете D. Звучит так, как будто вы хотите плоскость, с которой параллельны v1 и v2 (и v2-v1 тоже). Для этого сделайте N перпендикулярным к v1 и v2, установив для него перекрестное произведение v2 x v1. Затем выберите точку в координатах (x, y, z), через которую, как вы знаете, должна пройти плоскость. Вставьте N и (x, y, z) в уравнение и вычислите D.

0 голосов
/ 30 июня 2010

1- Найти вектор нормали N = V1 X V2

2-Выберите точку, которую вы хотите, чтобы ваша плоскость была P0 ==> R0

3- Все остальные точки (P==> R) в плоскости следуйте N (R-R0) = 0

См. Ссылку

0 голосов
/ 30 июня 2010

хорошо, вы делаете перекрестное произведение v1 и v2, чтобы получить нормаль вашего самолета (не забудьте нормализовать, если хотите), тогда 4-й элемент вашего самолета будет просто 0 (потому что он пересекает 0, 0,0).

и затем вы хотите спроецировать плоскость в определенном направлении, основываясь на векторе UP, а не на плоскости?

в этом случае, я думаю, вы просто получитепроизведение точки на нормаль и вектор вверх, затем умножьте инверсию точки (1 / точка) на количество единиц, которые вы хотите проецировать вдоль вектора вверх, и установите это как свой 4-й элемент?

, чтобы уточнить, что создает плоскость, в которой два вектора и центр Земли являются точками на плоскости, затем плоскость может быть спроецирована вверх или вниз на определенную величину в направлении ВВЕРХ.

...