Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Book_Sidenko.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
6.28 Mб
Скачать

11.4. Математическое описание перспективной проекции

Для простоты примем, что плоскость проецирования перпендикулярна оси z и совпадает с плоскостью z=d.

Рис. 11.10

Для каждой т. Р объекта т. изображения определяется как т. пересечения прямой линии ОР и экрана.

Рассмотрим подобные треугольники:

Расстояние d является в данном случае масшт-ым k. Фактором, приводящим к тому, что удаленные объекты выглядят мельче, является деление на z. Допустимы все значения z, кроме z=0.

Замечание 1: Т.к. т. О ( оси z) находится в центре объекта, а ось z совпадает с , то т. Q тоже будет находиться приблизительно в центре изображения объекта. Если расположить начало координат экрана (плоскости проецирования) в нижнем левом углу, а размеры экрана: а – по горизонтали, b – по вертикали, то

.

Замечание 2: Необходимо определить расстояние между т. наблюдения Е и экраном – d.

Рис. 11.11

Это выражение равно применимо для горизонтальных и вертикальных размеров. Его надо использовать лишь для приблизительной оценки d, т.к. 3-хмерный объект может иметь сложную форму и не всегда ясно, какие размеры надо включать в это уравнение.

Замечание 3: Особенность нашего глаза такова, что мы можем видеть только точки, расположенные внутри определенного конуса, ось которого совпадает с направлением взгляда ОЕ. Очень важный параметр этого конуса – угол .

Глаз, как и камера допускает только такие значения угла , которые не . При выборе рекомендуется пользоваться формулой:

.

Выбор слишком малого может привести к трудностям. Если же будет слишком большим, то будет мало, эффект перспективы уменьшится.

Оптимальный вариант .

Замечание 4: Рассмотрим случай, когда объект слишком длинный в направлении оси X (балка 200*2*2). Где лучше выбрать т. О? До сих пор мы выбирали ее в середине объекта. Всегда ли она будет и в центре объекта?

Рис. 11.12

Точка , которая находится в центре изображения, не лежит на середине объекта.

Очевидно, что точка О надо выбирать не на середине балки, а ближе к глазу.

11.5. Задание произвольных проекций. Видовое преобразование.

В рассмотренных алгоритмах получения проекций были допущены ограничения на расположение картинной плоскости, центра проекции, что часто свойственно многим графическим пакетам.

Рассмотрим алгоритм получения проекций, когда картинная плоскость может располагаться относительно объекта произвольным образом. По сути дела задача сводится к преобразованию СК.

Рис. 11.13

Пусть объект задан в МСК, причем ее начало находится в центре объекта (т. О). Объект наблюдается от точки Е к точке О. В точке Е расположим вторую СК – видовую СК. Вектор ЕО определяет направление наблюдения. Пусть точка Е задана в сферических координатах по отношению к мировым. Т.е. ортогональные координаты могут быть вычислены:

Ось z ВСК расположена по линии наблюдения, x – вправо; y – вверх.

МСК – правосторонняя; ВСК – левосторонняя

(обычно так выбирается) (позволит определить картинные оси в тех же направлениях)

Рис. 11.14

Видовое преобразование:

,

где V – матрица видового преобразования ( ).

V представляет собой четыре элементарных преобразования и получается путем их перемножения.

Перенос

Перенос начала координат из точки О в точку Е.

Точка Е становится новым началом координат.

Поворот 1

Поворот СК вокруг оси z на угол в отрицательном направлении (по часовой стрелке). В результате ось Y совпадает по направлению с горизонтальной составляющей отрезка ОЕ. Матрица такого изменения СК будет совпадать с матрицей для поворота точка на такой же угол в положительном направлении.

Поворот 2

Поворот СК вокруг оси X на угол в положительном направлении, чтобы ось z совпадала по направлению с ОЕ. Этот поворот соответствует повороту т. на угол .

Изменение направления оси X

После 3-х преобразований оси Y и Z имеют правильную ориентацию, а ось X д.б. направлена в противоположную сторону:

Результирующая матрица

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]