Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Алгоритмы компьютерной графики Пешков Анатолий Тимофеевич, БГУИР 2006 (Мет пособие).doc
Скачиваний:
279
Добавлен:
15.06.2014
Размер:
1.95 Mб
Скачать

Xэ, Yэ - оси системы координат на плоскости проекции (на экране).

Из приведенного рисунка видно, что:

откуда:

Отсюда вытекает следующая зависимость координат точки на экране от координат этой точки в видовой системе координат:

(6.2-2)

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

      1. Точки и линии схода

При перспективной проекции точка схода прямой АА’ назыавется та точка на плоскости проекции, к которой стремится проекция точки, «убегающей» в бесконечность по прямой АА’. Для того, чтобы представить геометрический смысл точек схода, рассмотрим ниже приведенный рисунок (Рис. 6.2 -59).

На рисунке используются следующие обозначения:

Е - начало видовой системы координат;

«пп» - плоскость проекции (экран) с координатными осями X и Y.

Y

X d

dп с

сб

aп a

E

cп

bбп

bп b б b’

пп

Рис. 6.2‑59

Проведем через точку Е прямую Еа’, перпендикулярную плоскости проекции. Эта линия пересекается с плоскостью проекции в точке ап, которая будет являться точкой проекции всех точек прямой Еа’, в том числе и точки, убегающей по этой прямой в бесконечность. Следовательно, точка ап является точкой схода для линии Еа’.

Возьмем на плоскости проекции некоторую точку bп и проведем через нее линию bпb’, параллельную линии Еа’. Проведем через линии Еa’ и bпb’ плоскость, которая пересечется с плоскостью проекции по линии bпaп. Возьмем на линии bпb‘ точку bб и устремим ее по прямой в бесконечность.

По мере перемещения бегущей точки по прямой в бесконечность, ее проекция bбп будет перемещаться по прямой bпaп, стремясь к точке aп по мере стремления точки bп в бесконечность. Таким образом, точка aп будет являться точкой схода для прямой bпb‘.

Единственным условием для выбора прямой bb’ являлось то, что она параллельна прямой Еa’. Следовательно, для всех прямых, параллельных Еa’, точкой схода будет являться одна и та же точка aп.

Проведем в плоскости проекции через точку aп прямую, параллельную оси X плоскости проекции и возьмем на ней произвольную точку dп. Проведем прямую через точки E и dп . Затем возьмем на плоскости проекции еще одну произвольную точку cп и проведем через нее в видовой системе координат прямую cпc, параллельную прямой Edп.

Через полученные параллельные прямые проведем плоскость, которая пересечет плоскость проекции по прямой dпсп. Возьмем на прямой спс точку cб и устремим ее в бесконечность. Как видно из рисунка, по мере перемещения точки cб. в бесконечность, ее проекция будет перемещаться по прямой cпdп., стремясь к точке dп. Отсюда следует, что точка dп является точкой схода для прямой спс.

Рассуждая аналогично легко показать, что для всех линий, параллельных плоскости, проходящей через точку E и прямую dпап, точки схода будут находиться на линии, проходящей через точки dпап.

Из изложенного следует, что прямая dпап является линией схода для всех горизонтальных плоскостей. Эта прямая называется линией горизонта.

Из изложенного также можно заключить, что все параллельные линии, независимо от их положения, имеют одну точку схода. Сказанное относится и к вертикальным линиям, которые имеют единую точку схода, называемую точкой зенита.

Рассуждая аналогично, можно показать, что все параллельные плоскости, имеют единую линию схода.

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

Пусть необходимо построить проекцию параллелепипеда, с вертикальными боковыми гранями, имеющий верхнюю грань, заданную опорными точками 1, 2,3, 4, и нижнюю, заданную узловыми точками 5, 6, 7, 8 (Рис. 6.2 -60).

Отметим, что из свойства заданного объекта ребра, заданные узловымии точками 1,2; 3,4; 5,6; 7,8, параллельные, а, следовательно, несущие их прямые сходятся в одной точке (точка Тс1). Прямые, несущие боковые ребра 3,7; 4,8; 2,6 и 1,5, так же имеют одну и ту же точку схода ( точка Т3). То же самое можно сказать о ребрах 1,3; 2,4; 5,7; 6,8 – несущие их прямые параллельны друг другу, а следовательно, имеют единую точку схода (точка Тс2).

Для однозначного построения проекции заданного объекта достаточно на проекции определить три выше упомянутые точки схода (Т3, Тс1, Тс2), и проекции точек 2,5,6,8 ( ).

Рис. 6.2‑60

Построение проекции можно вести в следующей последовательности.

Через точки 5 и Тс2 проведем прямую линию, несущую ребра 5,7. Ее пересечение с линией, проходящей через точки Тс1 и 8 (прямой линии,

Рис. 6.2‑61

несущей ребро 7,8), является точкой 7. Несущие для боковых ребер 3,7; 4,8; 2,6 и 1,5 будут получены, если провести прямые через точку зенита Т3 и уже имеющиеся четыре узловые точки нижней грани параллепипеда (линии Т3,6; Т3,7; Т3,8; Т3,5).

Далее через точку 2 и Тс2 проведем прямую, пересечение которой с прямой Т3,8 определяет положение точки 4.

Затем проведем прямые Тс1,2. Точка ее пересечения с прямой Т3,5 будет являться точка 1. Проведем линии Тс1,4. Точка ее пересечения с прямой T3,7 будет являться точка 3.

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

Для того, чтобы при проецировании был получен образ объекта, близкий к тому, каким он субъективно воспринимается человеком, необходимо ограничивать угол проецирования (угол обзора наблюдателем трех мерного объекта из точки наблюдения, т.е. из точки начала видовой системы координат). Как правило, приемлемый результат проецирования получается, когда угол проецирования не превышает 30-40 градусов.

Рассмотренный метод проецирования приемлем лишь для сравнительно простых объектов.