Конвертация точек полигона из 3D в 2D
У меня есть набор точек (x, y, z), которые лежат на одной плоскости, которая задана точкий и вектором. Как преобразовать эти точки в 2D?
Ответы (1 шт):
Я полагаю, вектор, который задаёт плоскость - это вектор нормали к плоскости?
Поверните систему координат таким образом, чтобы ось Z стала коллинеарна этому вектору. Тогда в новой системе координат x',y',z' уравнение плоскости будет z' == const
Пусть вектор нормали к плоскости составляет с осью Z угол θ, а его проекция на плоскость XY образует угол φ.
Тогда переход от системы координат x,y,z к x',y',z' задаётся матрицей
Как выразить эти углы через координаты вектора нормали к плоскости.
Если у вектора нормали к плоскости координаты u,v,w, то обозначим длину этого вектора как R: 
Тогда синусы-косинусы через u,v,w выражаются так:
, 
Сама матрица в терминах u,v,w получается такой:
Для вычисления двумерных координат умножьте радиус-вектор (x,y,z) на эту матрицу справа и отбросьте значение Z.


