Подгонка прямоугольника к 4 строкам в 3D - PullRequest
0 голосов
/ 25 мая 2018

У меня есть 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' на их линиях до , пока мы не получим почти прямоугольную форму .

Есть ли у вас лучшие идеи, чтобы получить координаты углов экрана?Как бы вы реализовали это как алгоритм?

...