10.3.2. ОБРАТНОЕ ПЕРСПЕКТИВНОЕ ПРЕОБРАЗОВАНИЕ

Обратимся теперь к обратному перспективному преобразованию. Вспомним, что, согласно нашему предположению, обратное преобразование определяет прямую линию, на которой должна лежать точка объекта, соответствующая данной точке изображения. Так как мы приняли, что прямое преобразование определено с помощью матрицы Р, обратное преобразование формально определяется матрицей т. е. из равенства (4) следует

где как легко убедиться, имеет вид

Предположим, что мы производим вычисления по формуле (6). Что нам следует использовать в качестве точки изображения Ур (и, следовательно, в качестве v^,)? Из основной модели рис. 10. 2 мы знаем, что компонента Y точки изображения равна нулю. Однако, если принять ^^,=0 и подставить {wXp, О, wZp, wY в формулу (6), мы найдем (после преобразования в обычные декартовы координаты), что ѵ= {Хр, О, 2рУ. Это вряд ли подойдет, поскольку мы хотим получить преобразование, которое переводит точку изображения в прямую линию, а не в одну точку. Выход из этого затруднения подсказывает выражение (5); из него следует, что вторая компонента точки изображения хотя и равна нулю физически, но математически она лежит в пределах интервала на оптической оси между плоскостью изображения и точкой объекта. Используя это наблюдение как подсказку, примем, что Ур— это свободная переменная, возьмем Ѵр= {Хр, Ур, ZpY и подставим в выражение (6) соответствующее однородное представление Ѵр= {wXp, ѵиур, wZp, wY. После вычислений по формуле (6) и перехода от однородных координат к обыкновенным с помощью обычного процесса деления мы по-

лучим

Мы знаем, что поскольку Ур— свободная переменная, для данных координат изображения Хр и Zp точка объекта ѵ вычерчивает некоторую кривую в пространстве по мере изменения Ур. Форму этой кривой проще всего найти, исключив параметр Ур из трех уравнений в выражении (8)

После того как это сделано, получим

что в точности соответствует уравнению (2), выведенному раньше. Следовательно, мы теперь знаем, что, если считать Ур свободной переменной, обратное перспективное преобразование в формуле (6) действительно переводит точку изображения в соответствующую прямую линию. Анализируя уравнения (9), мы видим, что при отрицательных значениях Ур точка объекта находится между объективом и плоскостью изображения; когда Ур=0, точка объекта совпадает с точкой изображения, и, наконец, если Ур приближается к величине /, точка объекта удаляется вдоль проектирующего луча в бесконечность.

Заметим попутно, что представление перспективного преобразования в однородных координатах имеет как свои преимущества, так и недостатки. С одной стороны, оно позволяет нам выразить нелинейное преобразование в линейном виде, а это обстоятельство имеет некоторые приятные последствия в дальнейших исследованиях. С другой стороны, результатом этой операции является потеря математической чистоты; матрица Р-*, конечно, переводит точку изображения в соответствующую прямую линию (при использовании Ур в качестве свободной переменной), но матрица Р переводит точку объекта в точку изображения только в том случае, если игнорировать вторую компоненту вектора. Мы могли бы, конечно, вычеркнуть вторую строку матрицы Р и получить более простое прямое преобразование, но тогда матрица Р~^ даже не существовала бы. Причина этого явления заключается в том, что матрица Р отображает точку объекта в трехмерный вектор (после перехода к обыч-

ным координатам), одна из компонент которого не имеет никакого отношения к физической точке изображения, а связана с расстоянием от камеры до точки объекта. Общий вывод заключается в том, что однородное представление пригодно для использования, но применять его надо осторожно.

Обратное перспективное преобразование может быть переведено в другую полезную форму с помощью следующего простого анализа. Пусть — положение центра объектива, т. е. ѵ,=(0, —f, 0)^ Затем непосредственно из рис. 10.2 мы видим, что для любой точки V, расположенной на проектирующем луче, может быть записано выражение

где Я,— свободный параметр, значение которого берется среди неотрицательных вещественных чисел, а \р— действительная точка картинки (Хр, О, ZpY. Мы можем выразить соотношение между Я и Ур, приравнивая любую компоненту векторногр уравнения (10) и соответствующую компоненту из формулы (8), для того чтобы получить

или

Таким образом, если двигаться по лучу от центра объектива (Я=0) через плоскость картинки (Х== 1) и далее во внешнее пространство, то значение Ур увеличивается монотонно от —оо до /, будучи отрицательным для точек позади плоскости картинки, нулевым для точек, расположенных на плоскости картинки, и положительным для точек, находящихся перед плоскостью картинки.

Подведем итоги нашему вводному обсуждению перспективных преобразований. Матрица Р, заданная формулой (3), переводит точку объекта в соответствующую ей точку изображения; при этом обе точки представлены в однородных координатах. Настоящие координаты изображения задаются первой и третьей компонентами формулы (5). Матрица Р~^ переводит точку изображения (представленную в однородных координатах) в точку объекта (также представленную в однородных координатах), которая прс^гает по проектирующему лучу при изменении свободной переменной у р. Уравнение этого луча представлено в параметрической форме выражением (2), Другой способ задания параметра, иногда более удобный, представлен в уравнении (10).

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