Существует ли алгоритм решения такой геометрической задачи реконструкции проекции? - PullRequest
11 голосов
/ 14 сентября 2010

У нас есть сетка с красными квадратами на нем.Это означает, что у нас есть массив из 3 квадратов (с углами == 90 градусов), которые, как мы знаем, имеют одинаковый размер, лежат в одной плоскости и с одинаковым вращением относительно плоскости, на которой они лежат, и не расположены на одной линии насамолет.

У нас есть проекция пространства, содержащего плоскость с квадратами.

im 1

Мы хотим повернуть нашу плоскую проекцию с квадратами, чтобы мы ее виделикак будто он обращен к нам, в общем, нам нужна формула для поворота каждой точки этой исходной плоской проекции так, чтобы она была обращена к нам, как показано на рисунке ниже.

Какие формулы можно использовать для решения такой задачи, какчтобы решить ее, кто-нибудь сталкивался с чем-то подобным раньше?

im 2

1 Ответ

6 голосов
/ 14 сентября 2010

Это особый случай поиска отображений между четырехугольниками, которые сохраняют прямые линии. Они обычно называются гомографическими преобразованиями. Здесь один из четырехугольников является квадратом, так что это популярный особый случай. Вы можете погуглить эти термины ("quad to quad" и т. Д.), Чтобы найти объяснения и код, но вот некоторые из них для вас.

Оценка преобразования перспективы

обсуждение игрового форума

извлечение четырехугольного изображения в прямоугольник

Проективная деформация и отображение

ProjectiveMappings для ImageWarping Пол Хекберт.

Математика не особенно приятна, но это не так сложно. Вы также можете найти код по одной из приведенных выше ссылок.

...