Пред.
След.
Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике 3-15 ПЕРСПЕКТИВНЫЕ ПРЕОБРАЗОВАНИЯ
Перспективное преобразование имеет место, когда не равен нулю любой из первых трех элементов четвертого столбца обобщенной -матрицы преобразования однородных координат. Как было упомянуто ранее (см. разд. 3-11), перспективное преобразование - это преобразование одного трехмерного пространства в другое. В отличие от обсуждавшихся ранее параллельных преобразований, в данном случае параллельные прямые сходятся, размер объекта уменьшается с увеличением расстояния до центра проекции, и происходит неоднородное искажение линий объекта, зависящее от ориентации и расстояния от объекта до центра проекции. Все это помогает нашему восприятию глубины, но не сохраняет форму объекта. Одноточечное перспективное преобразование задается равенством . (3-45) Здесь . Обычные координаты получаются делением на : . (3-46) Перспективное проецирование на некоторую двумерную видовую плоскость можно получить, объединив ортографическую проекцию с перспективным преобразованием. Например, перспективное проецирование на плоскость выполняется с помощью преобразований
(3-47) и . (3-48) Обычные координаты равны . (3-49) Чтобы показать, что равенство (3-47) выполняет перспективное проецирование на плоскость , рассмотрим рис. 3-26 с геометрическими построениями для перспективной проекции трехмерной точки на плоскость в точку и с центром проекции, лежащим в на оси .
Рис. 3-26 Перспективная проекция точки. Координаты точки проекции можно получить, используя подобие треугольников. Из рис. 3-26 следует:
или
и
или ? равно, конечно, нулю. Полагая , получим результаты, аналогичные полученным с помощью (3-47). Таким образом, уравнение (3-47) осуществляет перспективное проецирование на плоскость с центром проекции в точке на оси . Заметим, что при приближении к бесконечности, приближается к нулю и в результате получаем аксонометрическую проекцию на плоскость .
Рис. 3-27 Проекция прямой, параллельной оси . Заметим далее, что на точки, лежащие в плоскости проекции, т.е. , перспективное преобразование не действует. Отметим также, что начало координат остается неизменным. Следовательно, если плоскость проекции проходит через объект, то эта часть объекта изображается с правильным размером и формой. Все другие части объекта искажаются. Чтобы лучше понять действие перспективного преобразования, рассмотрим рис. 3-27. На нем показано перспективное проецирование на плоскость отрезка , параллельного оси , в отрезок на плоскости с центром проекции, расположенным в точке на оси . Преобразование можно разделить на два этапа (см. (3-47)). На первом этапе отрезок отображается в отрезок (см. рис. 3-27). Затем с помощью ортографического проецирования отрезок в трехмерном пространстве отображается в отрезок на плоскости . Центр проекции расположен в бесконечности. Исследование рис. 3-27 показывает, что прямые и пересекают плоскость в одной и той же точке. Прямая также пересекает ось в точке . Далее, перспективное преобразование (см. (3-45) и (3-46)) отображает расположенную в бесконечности точку пересечения параллельных прямых и оси в конечную точку на оси . Эта точка называется точкой схода. Заметим, что точка схода лежит на том же расстоянии от плоскости проекции, что и центр проекции, только с противоположной стороны от плоскости, например, если есть плоскость проекции, а центр проекции находится в , тогда точка схода находится в . Чтобы подтвердить это наблюдение, рассмотрим перспективное преобразование точки, находящейся в бесконечности на оси , т.е. . (3-50) Соответствующая ей точка теперь является конечной точкой на положительной оси . Это означает, что все полубесконечное положительное пространство отображается в ограниченную область . Далее, все прямые, параллельные оси , теперь проходят через точку - точку схода. Прежде чем перейти к примерам, для полноты изложения укажем одноточечные перспективные преобразования с центром проекции и точкой схода, расположенными на осях и . Одноточечное перспективное преобразование (3-51) с обычными координатами (3-52) имеет центр проекции и точку схода, расположенную на оси в . Одноточечное перспективное преобразование (3-53) с обычными координатами (3-54) имеет центр проекции и точку схода, расположенную на оси в .
Ниже приводится пример с простым кубом.
Рис. 3-28b не передает трехмерности куба. Как показано в следующем примере, более удовлетворительный результат можно получить центрированием куба.
Рис. 3-29 Одноточечная перспективная проекция центрированного единичного куба. К сожалению, результирующее изображение все еще не дает адекватного восприятия трехмерной формы объекта. Поэтому мы обратимся к более сложным перспективным преобразованиям. Если в четвертом столбце -матрицы преобразования два элемента из первых трех не равны нулю, то такое преобразование называется двуточечным перспективным преобразованием. Двуточечное перспективное преобразование (3-55) с обычными координатами (3-56) имеет два центра проекции: первый на оси в точке и второй на оси в точке , и две точки схода: на оси в точке и на оси в точке . Заметим, что заданное уравнением (3-55) двуточечное преобразование можно получить объединением двух одноточечных. Конкретнее, , где задается уравнением (3-55), - уравнением (3-53) и - уравнением (3-51). Более подробно двуточечная перспективная проекция рассмотрена в следующем примере.
И снова полученное изображение не дает адекватного восприятия трехмерной формы объекта. Поэтому обратимся к трехточечным перспективным преобразованиям. Трехточечная перспектива получается, если не равны нулю три первых элемента четвертого столбца -матрицы преобразования. Это трехточечное перспективное преобразование (3-57) с обычными координатами (3-58) имеет три центра проекции: на оси в точке , на оси в и на оси в , а также три точки схода: на оси в , на оси в и на оси в . Снова заметим, что трехточечное перспективное преобразование, заданное равенством (3-57), может быть получено конкатенацией трех одноточечных перспективных преобразований, по одному на каждую координатную ось. Создание трехточечной перспективы иллюстрируется на следующем примере.
И снова получившийся вид недостаточно информативен, хотя и математически корректен. Соответствующие методы генерации перспективных видов обсуждаются в разд. 3-16.
|
1 |
Оглавление
|