Как рассчитать систему координат на основе вектора нормалей и координат центра? - PullRequest
0 голосов
/ 12 марта 2019

Я хочу рассчитать вектор направления X, который определяется вектором нормали (вектор направления Z) и координатами центра.

Например, для данного вектора направления Z (2, 5, 8), центркоординаты точки P (5, 10, 14)

Поскольку я понятия не имею, как это сделать, любая другая равнина может кому-нибудь дать мне подсказку о том, что мне теперь делать?

1 Ответ

1 голос
/ 12 марта 2019

Существует бесконечное количество возможных направлений X / Y.

Если вы хотите получить произвольный вектор, перпендикулярный данному Z, вы можете применить следующий подход:

Сравните величины компонент вектора Z. Замените наибольшие и последующие компоненты, отмените наибольшие, уменьшите наименьший компонент.

Например, если Abs(Z.z)>=Abs(Z.x)>=Abs(Z.y), то вектор X = (-Z.z, 0, Z.y) перпендикулярен (проверьте, что скалярное произведение равно нулю). Для вашего примера:

Z(2, 5, 8)
X(0, -8, 5)
Y = Z x X (vector product)
...