Это квадрат. Предполагается, что он лежит в плоскости, которая нормальна, и мы должны найти ее, потому что именно так мы должны разместить наш объект. Можно предположить, что все координаты y равны 0, и теперь мы имеем дело с аспектной проблемой. Может быть, мы могли бы начать с отображения его в диапазоне 0-1. Самая левая точка получает 0 на х, самая правая 1, то же самое будет на z - 0 ближайшего гетера и 1 дальнего.
мы можем определить это, проверив длину диагоналей. короче один соединяет переднюю и заднюю точку, а затем другой 2.
таким образом, мы получаем что-то вроде
x z
left: 0 ?
right: 1 ?
front: ? 0
back: ? 1
Я думаю, что это? мог быть вычислен аспектом сторон. Использование квадрата упрощает задачу. Если 2 линии, соединяющие передний правый и передний левый, совпадают, значения z слева и справа равны 0,5. Ну, и таким образом вы могли бы получить все 3 измерения и используя векторное кросс-произведение вычислить нормально. Затем вы можете взять ваши модели с осью y в качестве высоты, вычислить матрицу, используемую для поворота вектора 0,1,0 в нормаль, которую вы получите, а затем нарисовать 2D-изображение положения и масштабировать его должным образом. Ну, я не знаю, помог ли я вам, может быть, это не так, как это работает, но я надеюсь, что написал что-то полезное.