Определить положение перед трехмерной плоскостью (декартова математика) - PullRequest
3 голосов
/ 23 сентября 2009

У меня есть плоский элемент в трехмерном пространстве, который я повернул по осям x, y и z. Я устанавливаю 3D-камеру перед плоскостью, но мне нужно найти способ вычислить x, y, z камеры.

Я пытаюсь выяснить, как разместить камеру на расстоянии х от лица плоскостей. Очевидно, что здесь задействовано немного триггера, но я не могу этого понять. Гах.

Dave

Ответы [ 2 ]

2 голосов
/ 23 сентября 2009

Если у вас есть плоскость, то у вас также есть нормальный вектор N и некоторая точка на ней P.
Если вы вычислите P'=P+x*N, вы получите точку P', которая на x единиц перед точкой P в направлении нормали.

2 голосов
/ 23 сентября 2009

Отношение расстояния от точки до плоскости равно

.

расстояние = (Aa + Bb + Cc + D) / sqrt (A ^ 2 + B ^ 2 + C ^ 2)

для расстояния до плоскости Ax + By + Cz + D = 0 от точки (a, b, c)

Может потребоваться умножить на -1, чтобы получить положительное расстояние.

Уравнения для прямой через точку (a, b, c), перпендикулярной той же плоскости, равны

х = а + ат; y = b + Bt; z = c + Ct

Так что, если у вас есть точка на плоскости, вы можете найти уравнение прямой, перпендикулярной этой плоскости. Затем вы можете использовать ограничение расстояния, чтобы определить для двух точек расстояние вдоль этой линии - одно над плоскостью, а другое ниже.

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