У меня есть 4 тройных угла Эйлера , которые описывают ориентацию прямоугольника (например, монитора) 4 угла (назовите это точками 'A', 'B', 'C' и 'D') из конкретная 'O' точка.
Я хочу получить координаты точек «A», «B», «C» и «D» (то есть углы экрана).
Сам экран может быть в любой ориентации,поэтому с точки «О» вы не обязательно видите его в виде прямоугольника.
Я не знаю их координат и не знаю их относительного положения относительно «О», но пусть Точка 'O' будет началом трехмерной системы координат.
Мы знаем форматное соотношение экрана (то есть отношение прямоугольника W / H) и Углы Эйлера точек «A», «B», «C» и «D» от «O».
Моя идея состоит в том, чтобы создать 4 3D v экторы по углам Эйлера углов. Затем создайте 4 строки с этими векторами в качестве векторов направления.Затем выберите фиксированную 'A' точку на одной из линий .После этого выберите 3 движущихся точки ('B', 'C', 'D') на других 3 линий .Затем попробуйте отрегулировать позиции 'B', 'C' и 'D' на их линиях до , пока мы не получим почти прямоугольную форму .
Есть ли у вас лучшие идеи, чтобы получить координаты углов экрана?Как бы вы реализовали это как алгоритм?