Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ALL

.pdf
Скачиваний:
278
Добавлен:
12.02.2018
Размер:
15.74 Mб
Скачать

РЕЗЮМЕ

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

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

Для создания замкнутого объема наблюдения используются ближняя и дальняя (передняя и задняя) плоскости.

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

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

Эффективные алгоритмы отсечения обрабатывают объекты сцены ограничивающими плоскостями нормированного объема наблюдения.

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

Затем однородные координаты преобразуются в трехмерные декартовы координаты проекции.

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

07-1

Трехмерное наблюдение

ОБЗОР КОНЦЕПЦИЙ ТРЕХМЕРНОГО НАБЛЮДЕНИЯ

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

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

Многие процессы в 3D наблюдении, как процедуры отсечения, аналогичны 2D наблюдению.

Несколько задач, отличных от 2D:

требуются процедуры проектирования, переводящие сцены в проекцию на плоской поверхности;

нужно определять видимые части сцены;

нужно учитывать эффекты освещения и характеристики поверхностей, для реалистичности изображения.

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

Данная система координат определяет положение и ориентацию плоскости наблюдения (или плоскости проекции)(рис.).

Описания объектов переводятся в координаты системы наблюдения и проецируются на плоскость наблюдения.

Проекция объекта может быть в каркасной форме

или с помощью методов эффектов освещения

и визуализации поверхностей в реалистичном виде.

Рис.. Система координат, в которой формируется выбранная проекция трехмерной сцены

НАБЛЮДЕНИЕ ТРЕХМЕРНОЙ СЦЕНЫ

ПРОЕКЦИИ

Способы получения проекции:

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

Рис. Три параллельные проекции объекта, из которых видны относительные пропорции с различных точек наблюдения

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

Сцена, генерируемая с использованием перспективной проекции, более реалистична

НАБЛЮДЕНИЕ ТРЕХМЕРНОЙ СЦЕНЫ

УПОРЯДОЧЕНИЕ ПО ГЛУБИНЕ

При построении трехмерной сцены важна информация о глубине (может возникнуть

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

Существует несколько способов.

1. На каркасных изображениях – меняют яркость отрезков согласно их расстоянию от точки наблюдения. Линии, ближайшие к точке наблюдения, более ярки, а линии, удаленные от точки наблюдения, более тускло. В данной схеме упорядочения по глубине выбираются max и min интенсивности и диапазон расстояний, в котором меняется интенсивность.

Используется также в моделировании влияния атмосферы на интенсивность объектов.

Рис. Каркасный объект с упорядочением по глубине, яркость линий уменьшается при переходе от передних граней объекта к задним

2 способ - подсветить видимые линии или изобразить их другим цветом.

3 метод, используемый в инженерных чертежах, - изобразить невидимые линии пунктиром.

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

а) б) в)

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

ВИЗУАЛИЗАЦИЯ ПОВЕРХНОСТЕЙ

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

Чтобы повысить реалистичность изображений, поверхности объектов визуализируются с использованием условий освещения сцены и заданных характеристик поверхности. Условия освещенности - цвет и положение источников света, эффекты фонового освещения. Поверхностные свойства объектов – степень прозрачности, гладкость.

РАЗОБРАННЫЙ ВИД И ВИД В РАЗРЕЗЕ

Можно определять объекты как иерархические структуры и хранить информацию о внутренних деталях объектов. Изображение таких объектов в разрезе или разобранном состоянии можно использовать для демонстрации внутренней структуры и связей между частями объектов.

Альтернатива – вид в разрезе, часть видимых поверхностей удаляется, чтобы показать внутреннюю структуру предмета.

ТРЕХМЕРНОЕ И СТЕРЕОСКОПИЧЕСКОЕ НАБЛЮДЕНИЕ

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

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

ТРЕХМЕРНЫЙ КОНВЕЙЕР НАБЛЮДЕНИЯ
Для размещения проекции 3D сцены на устройстве используется 2D поле просмотра, с помощью 2D отсекающего окна выбирается фрагмент, отображенysq в поле просмотра. Окно на экране задается в экранных координатах так же, как в двухмерных приложениях.
Отсекающие окна, поля просмотра и окна на дисплее задаются как прямоугольники, стороны которых параллельны координатным осям. При 3D наблюдении, отсекающее окно размещается на выбранной плоскости наблюдения, и сцены отсекаются замыкающим объемом пространства, который определяется набором плоскостей отсечения. Точка наблюдения, плоскость наблюдения, отсекающее
окно и плоскости отсечения задаются в системе наблюдения.
•Рис. 7.11. Конвейер общего трехмерного преобразования из
•модельных координат во внешние,
•затем в координаты наблюдения,
•координаты проекции,
•нормированные координаты
• и наконец в координаты устройства

Общие этапы обработки. После того как сцена смоделирована во внешних координатах, выбирается система наблюдения, и описание сцены переводится в координаты наблюдения. Система наблюдения определяет его параметры, включая положение и ориентацию плоскости наблюдения (проекции ).

На плоскости проекции определяется 2D отсекающее окно, и устанавливается 3D отсекающая область. Данная область называется объемом наблюдения или отображаемым объемом (view volume), форма и размер зависят от размеров отсекающего окна, выбранного типа проекции и мест ограничения вдоль направления наблюдения.

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

Операции отсечения можно применить после всех аппаратнонезависимых преобразований координат (из внешних координат в нормированные).

ТРЕХМЕРНЫЙ КОНВЕЙЕР НАБЛЮДЕНИЯ

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

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

Может потребоваться дополнительно, идентифицировать видимые поверхности и применить процедуры визуализации поверхностей.

Конечный этап - отображение координат поля просмотра в координаты устройства в выбранном окне на экране дисплея.

Описания сцены в координатах устройства иногда

выражаются в левосторонней системе координат.

Рис. Правосторонняя система наблюдения с осями xview, yview и zview, определенными в правосторонней внешней системе координат

Формирование трехмерной системы

наблюдения аналогично двухмерной.

В качестве начала координат выбирается

точка с внешними координатами P0 = (x0; y0; z0), (точкой наблюдения или положением наблюдения).

Затем задается вектор верха изображения V - определяет направление yview.

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

zview, вдоль этой оси идет направление наблюдения. (рис.).

ВЕКТОР НОРМАЛИ К ПЛОСКОСТИ НАБЛЮДЕНИЯ

Поскольку направление наблюдения обычно

выбирается вдоль оси zview, плоскость наблюдения (плоскостью проекции) перпендикулярна этой оси.

ориентация плоскости наблюдения, а также

положительное направление оси zview можно определить вектором нормали к плоскости наблюдения N, (рис. 1).

Дополнительный скалярный параметр используется для установки положения плоскости наблюдения при некотором

значении координаты zvp вдоль оси zview, (рис.

2).

Это значение обычно задается как расстояние от начала координат системы наблюдения по направлению наблюдения (часто это отрицательное направление оси zview).

плоскость наблюдения всегда параллельна

плоскости xviewyview, и проекция объектов на плоскость наблюдения соответствует проекции сцены на устройстве вывода.

Рис. Ориентация плоскости наблюдения и вектора нормали к плоскости наблюдения N

Рис. Три возможных положения плоскости наблюдения вдоль оси zview

ПАРАМЕТРЫ ТРЕХМЕРНОГО НАБЛЮДЕНИЯ

Вектор нормали N можно задать по-разному.

1 направление N вдоль прямой через начало внешней системы координат и выбранную точку.

2 N выбирается в направлении от опорной точки Pref к началу координат P0, (рис. ). Наблюдение ведется противоположно направлению N.

Вектор нормали к плоскости наблюдения, а также

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

Рис. Вектор нормали к плоскости

направляющие углы. Существует три угла и , которые

 

наблюдения N задается в

 

направлении от опорной точки Pref к

линия формирует с осями x, y и z соответственно.

 

 

началу координат системы

• V определяется выбором точки относительно начала внешней

наблюдения P0

системы координат, чтобы вектор верха был направлен от начала внешней системы координат к данной выбранной точке. Вектор нормали к плоскости наблюдения N определяет направление оси zview, вектор V должен быть перпендикулярным N. В общем случае сложно определить направление V, точно перпендикулярное N.

• процедуры наблюдения (проектирования) обычно подгоняют

заданную ориентацию вектора V, (рис. 2), чтобы вектор V

проектировался на плоскость, перпендикулярную вектору

 

нормали к плоскости наблюдения.

 

В качестве вектора V можно выбирать любое направление, если оно не параллельно N. Удобно направление параллельно

оси yw внешней системы координат; т.е. можно положить V =

(0; 1; 0).

Рис. 7.16. Входное направление вектора верха V подстраивается к ориентации перпендикулярно вектору нормали к плоскости наблюдения N

Соседние файлы в предмете Компьютерная Графика