
ALL
.pdf07.
Отсечение
•Обычно графический пакет позволяет пользователю задавать, какую часть определенной картины нужно отобразить на экран, и где эта часть должна располагаться на дисплее.
1.Чтобы определить изображение, можно использовать любую удобную декартову систему координат, называемую внешней.
2.Для двухмерного изображения проекция выбирается следующим образом: задается область плоскости xy, которая содержит все изображение или его часть.
3.Пользователь может выбирать одну область для вывода на экран, одновременно может изображаться несколько областей или анимированные панорамы сцены.
4.Затем части изображения в выбранных областях отображаются в области, заданные в
координатах устройства.
•Если выбрано несколько областей наблюдения, их можно поместить в различных местах дисплея либо ввести фрагменты в большие участки.
•Двухмерное преобразование наблюдения из внешних координат в координаты устройства включает трансляцию (сдвиг), вращение и масштабирование, а также удаление тех частей изображения, которые лежат вне границ выбранной области сцены.
ДВУХМЕРНЫЙ КОНВЕЙЕР НАБЛЮДЕНИЯ
•Участок двухмерной сцены, выбранный для отображения на экране, называется отсекающим окном - все части вне участка, отсекаются, на экран выводится только часть сцены внутри окна.
•Сначала объекты сцены, находящиеся внутри окна, отображаются в поле просмотра, которое затем размещается в окне на экране дисплея.
•Отсекающее окно задает, что мы хотим увидеть, а поле просмотра указывает, где это будет располагаться.
–Меняя положение поля просмотра, можно представлять объект в различных местах экрана.
–Можно использовать несколько полей просмотра.
–Меняя размер полей просмотра, меняетя размер и пропорции отображенных объектов.
–Для эффектов масштабирования отсекающие окна разного размера последовательно отображаются в поле просмотра фиксированной величины.
–При уменьшении отсекающего окна мы увеличиваем некоторую часть сцены, и становятся видны детали, незаметные при больших отсекающих окнах.
–Больший обзор достигается за счет уменьшения масштаба участка сцены с помощью последовательно увеличивающихся отсекающих окон.
–Чтобы получить панорамный эффект, нужно перемещать отсекающее окно фиксированного размера вдоль различных объектов сцены.
•Обычно отсекающие окна и поля просмотра – прямоугольники стандартной ориентации, стороны параллельны координатным осям. Могут быть многоугольники и окружности, но их обработка занимает больше времени.



ОТСЕКАЮЩЕЕ ОКНО В КООРДИНАТАХ НАБЛЮДЕНИЯ
•Первый этап – сдвинуть начало координат системы наблюдения в начало внешней системы координат.
•Затем повернуть систему наблюдения, до совмещения с внешней системой координат.
•Для вектора ориентации V компоненты единичных векторов v = (vx; vy) и u = (ux; uy) для осей yview и xview соответственно используются для формирования первой и второй строки матрицы вращения R, переводящей оси системы наблюдения xviewyview во внешние оси xwyw.
•Рис. два этапа: а) перемещение начала системы наблюдения в начало внешней системы –T; б) совмещение осей двух систем используется матрица вращения R
• а) |
б |
•Затем положения объектов во внешних координатах переводятся в координаты наблюдения с помощью матрицы двухмерного преобразования
•M WC;V C = R T;
•где T матрица сдвига (трансляции), а R матрица вращения. Этапы описанного преобразования координат иллюстрируются на рис.

ОТСЕКАЮЩЕЕ ОКНО ВО ВНЕШНИХ КООРДИНАТАХ
•Если требуется получить повернутое изображение двухмерной сцены, выполняются те же самые действия, но без преобразований, связанных с системой наблюдения.
•Таким образом, объект вращением (и м.б. сдвигом) переводится в заданное положение, затем задается отсекающее окно все это во внешних координатах.
•Пример . Повернутое изображение треугольника (рис, а). По аналогии с преобразованием координат, сдвинуть треугольник в начало внешней системы координат и определить отсекающее окно вокруг треугольника. В этом случае нужно определить вектор ориентации и выбрать опорную точку, например, центр масс треугольника.
•
•Рис. Треугольник (а) с выбранным началом отсчета и вектором ориентации, сдвигом и вращением переводится в отсекающее окно (б)
•Затем эта опорная точка сдвигается в начало внешней системы координат, и вектор ориентации
поворачивается вокруг оси yworld с помощью матрицы преобразования . Имея треугольник искомой ориентации, можно использовать стандартное отсекающее окно во внешних координатах и получить изображение повернутого треугольника. Преобразованное положение треугольника и выбранного отсекающего окна показано на рис., б.


ОТОБРАЖЕНИЕ ОКНА ОТСЕЧЕНИЯ В НОРМИРОВАННОЕ ПОЛЕ ПРОСМОТРА
•Пусть поле просмотра, определено нормированными координатами между 0 и 1.
•Описания объектов переводятся в нормированное пространство с помощью преобразования, которое сохраняет то же относительное расположение точек в окне просмотра, которое было в отсекающем окне.
•Например, если точка находилась в центре отсекающего окна, она отобразится в центр поля просмотра. (рис. предыдущий слайд)
•Точка (xw, yw) в отсекающем окне переходит в точку (xv, yv) соответствующего поля просмотра. Чтобы преобразовать точку, заданную во внешних координатах, в соответствующее положение в поле просмотра:
xv xvmin |
|
xw xwmin |
|
yv yvmin |
|
yw ywmin |
||||||||
xv |
max |
xv |
min |
xw |
xw |
|
yv |
max |
yv |
min |
yw |
yw |
||
|
|
|
max |
min |
|
|
|
|
max |
min |
•Решая эти уравнения относительно точки в поле просмотра (xv, yv), получаем
•xv = sxxw + tx;
•yv = syyw + ty;
•где масштабные коэффициенты равны:
•а коэффициенты сдвига

ОТОБРАЖЕНИЕ ОКНА ОТСЕЧЕНИЯ В НОРМИРОВАННОЕ ПОЛЕ ПРОСМОТРА
•Точки с внешними координатами просто отображаются в поле просмотра, которое расположено возле начала внешней системы координат, можно использовать любую последовательность преобразований, переводящих прямоугольник отсекающего окна в прямоугольник поля просмотра.
•Например,
•1. Масштабировать отсекающее окно до размера поля просмотра, используя фиксированную точку (xwmin, ywmin).
•где sx и sy те же, что и ранее.
•2. Сдвинуть (xwmin, ywmin) в (xvmin, yvmin). :
•Матричное представление суммарного преобразования в нормированное поле просмотра
•Можно использовать в операциях масштабирования (трансляции) любую другую опорную точку отсекающего окна, например, правый верхний угол или центр окна.
•Можно вначале транслировать точку в отсекающем окне в соответствующую точку поля просмотра, а затем масштабировать ее положение относительно положения поля просмотра.