Итак, у меня есть 3D-плоскость, описанная двумя векторами:
P: точка, лежащая на плоскости N: нормаль поверхности для плоскости
И у меня очень большой плоский квадрат Polygon, который я хочу отобразить, чтобы представить этот Plane. Я могу легко перевести многоугольник в заданную точку, но тогда мне нужно найти правильное вращение, чтобы применить нормальную поверхность на самом деле как нормальную поверхность.
Я попробовал метод, упомянутый еще где-то:
1) Возьмем любой параллельный вектор (V) в нормаль (N) и возьмем поперечное произведение (W1)
2) Возьмем теперь перекрестное произведение (W1) и (N) (W2), а это вектор (V '), который лежит на плоскости
Затем я создаю матрицу вращения, основанную на (V '), лежащую на плоскости, так что мой многоугольник будет выровнен с (V'). это сработало, но ясно, что этот метод работает некорректно в целом. Полигон не идеально перпендикулярен нормали поверхности.
Любые идеи о том, как сгенерировать правильное вращение?