Ориентация в пространстве - Задание аффинных преобразований 20 Координатные системы 21 Задание векторных примитивов...

Ориентация в пространстве - Задание аффинных преобразований 20 Координатные системы 21 Задание векторных примитивов...

^ Ориентация в пространстве
Случайная ориентация в пространстве определяется командой из дополнительной библиотеки qlu - gluLookAt. Итог выполнения данной команды аналогичен предшествующему - происходит перемножение текущей матрицы с матрицей видового преобразования, определяемой данной командой. Результирующая матрица становится текущей Ориентация в пространстве - Задание аффинных преобразований 20 Координатные системы 21 Задание векторных примитивов... матрицей. Синтаксис команды последующий:


gluLookAt(eyex GLdouble, eyey GLdouble, eyez GLdouble, centerx GLdouble, centery GLdouble, centerz GLdouble, upx GLdouble, upy GLdouble, upz GLdouble);

где

eyex, eyey, eyez – координаты точки наблюдения (VRP Ориентация в пространстве - Задание аффинных преобразований 20 Координатные системы 21 Задание векторных примитивов...).

centerx, centery, centerz – точка, определяющая центр сцены. Эта точка после проецирования окажется в центре поля вывода (ViewPort). При формировании видовой системы координат вектор, соединяющий VRP с данной точкой, будет рассматриваться как Ориентация в пространстве - Задание аффинных преобразований 20 Координатные системы 21 Задание векторных примитивов... VPN.

upx, upy, upz – точка, вместе с VRP определяющая VUP вектор (т.е. где будет верх проекции).

При исследовании основ проецирования мы гласили о 2-ух подходах к созданию проекций: с фиксированной проекционной Ориентация в пространстве - Задание аффинных преобразований 20 Координатные системы 21 Задание векторных примитивов... плоскостью (точкой наблюдения) и с фиксированной сценой. Так же рассматривали композицию преобразований, приводящую один подход к другому. Характеристики данной команды определяют произвольную видовую систему координат. Создаваемая матрица, представляющая собой композицию преобразований переноса и поворота Ориентация в пространстве - Задание аффинных преобразований 20 Координатные системы 21 Задание векторных примитивов..., приводит заданную систему к фиксированной системе координат, применяемой в OpenGL. Подобные композиции мы определяли сами при формировании обычных ортографических проекций (передней, вида сверху, сзади и др.).
^ Построение дополнительных плоскостей отсечения.
Для сотворения Ориентация в пространстве - Задание аффинных преобразований 20 Координатные системы 21 Задание векторных примитивов... разных особых эффектов в OpenGL предусмотрена возможность определения 6 дополнительных отсекающих плоскостей, уточняющих форму видимого объема.

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


glClipPlane(

plane GLenum,

const equation GLdouble

);


параметр plane – показывает Ориентация в пространстве - Задание аффинных преобразований 20 Координатные системы 21 Задание векторных примитивов..., какую из 6 плоскостей мы определяем,

equation – является указателем на массив, задающий коэффициенты уравнения плоскости.


glEnable and glDisable, and called with the argument GL_CLIP_PLANEi,


Ax+By+Cz+D= 0
^ Лекция 7. Освещение и свет Ориентация в пространстве - Задание аффинных преобразований 20 Координатные системы 21 Задание векторных примитивов....


1 Обычная модель освещения
Световая энергия, падающая на поверхность, может быть поглощена, отражена либо пропущена. Объект можно узреть, только если он отражает либо пропускает свет; если же объект поглощает весь падающий свет, то Ориентация в пространстве - Задание аффинных преобразований 20 Координатные системы 21 Задание векторных примитивов... он невидим и именуется полностью черным телом. Если объект отражает весь падающий свет, то он именуется безупречной отражающей поверхностью (зеркалом). Количество поглощенной, отраженной либо пропущенной энергии находится в зависимости от Ориентация в пространстве - Задание аффинных преобразований 20 Координатные системы 21 Задание векторных примитивов... длины волны света. При освещении белоснежным светом, если поглощается практически весь свет, то объект кажется черным, а если только маленькая его часть — белоснежным. Если поглощаются только определенные длины волн, то у света, исходящего Ориентация в пространстве - Задание аффинных преобразований 20 Координатные системы 21 Задание векторных примитивов... от объекта, меняется рассредотачивание энергии и объект смотрится цветным. Цвет объекта определяется поглощаемыми длинами волн.

Характеристики отраженного света зависят от строения, направления и формы источника света, от ориентации и параметров Ориентация в пространстве - Задание аффинных преобразований 20 Координатные системы 21 Задание векторных примитивов... освещаемой поверхности. Отраженный от объекта свет может быть диффузным либо зеркальным.
^ 1.1 Диффузное отражение
Диффузное отражение света происходит, когда свет вроде бы просачивается под поверхность объекта, поглощается, а потом вновь испускается. При всем этом положение Ориентация в пространстве - Задание аффинных преобразований 20 Координатные системы 21 Задание векторных примитивов... наблюдающего не имеет значения, потому что диффузно отраженный свет рассеивается умеренно по всем фронтам.

Свет точечного источника отражается от безупречного рассеивателя по закону косинусов Ламберта: интенсивность отраженного света пропорциональна косинусу угла меж направлением Ориентация в пространстве - Задание аффинных преобразований 20 Координатные системы 21 Задание векторных примитивов... света и нормалью к поверхности, т. е.

Id = Il Kd cos  0    /2

где Id — интенсивность диффузно отраженного света, Il — интенсивность точечного источника, Kd — коэффициент диффузного отражения (0  Kd  1),  — угол меж направлением света и нормалью Ориентация в пространстве - Задание аффинных преобразований 20 Координатные системы 21 Задание векторных примитивов... к поверхности (рис. 1).



Рис. 1 Схема диффузного отражения.

Если  > /2, то источник света размещен за объектом. Коэффициент диффузного отражения Kd находится в зависимости от материала и длины волны света, но в обычных Ориентация в пространстве - Задание аффинных преобразований 20 Координатные системы 21 Задание векторных примитивов... моделях освещения обычно считается неизменным.

Поверхность предметов, изображенных с помощью модели освещения с ламбертовым диффузным отражением, смотрится блеклой и матовой. Подразумевается, что источник точечный, потому объекты, на которые не падает прямой свет, кажутся темными Ориентация в пространстве - Задание аффинных преобразований 20 Координатные системы 21 Задание векторных примитивов.... Но на объекты реальных сцен падает к тому же растерянный свет, отраженный от окружающей обстановки, к примеру от стенок комнаты. Рассеянному свету соответствует распределенный источник. Так как для расчета таких Ориентация в пространстве - Задание аффинных преобразований 20 Координатные системы 21 Задание векторных примитивов... источников требуются огромные вычислительные издержки, в машинной графике они заменяются на коэффициент рассеяния — константу, которая заходит в формулу в линейной композиции с членом Ламберта:

Id = Ia Ka + Il Kd cos  0    /2 ,

где Ориентация в пространстве - Задание аффинных преобразований 20 Координатные системы 21 Задание векторных примитивов... Ia — интенсивность растерянного света, Ka — коэффициент диффузного отражения растерянного света (0  Ka  1).

Пусть даны два объекта, идиентично направленные относительно источника, но расположенные на разном расстоянии от него. Если отыскать их интенсивность по данной Ориентация в пространстве - Задание аффинных преобразований 20 Координатные системы 21 Задание векторных примитивов... формуле, то она окажется схожей. Это приводит к тому, что, в случае перекрытия предметов, их нереально различить.

Интенсивность света назад пропорциональна квадрату расстояния от источника, как следует, объект, лежащий далее от него, должен быть Ориентация в пространстве - Задание аффинных преобразований 20 Координатные системы 21 Задание векторных примитивов... темнее. В случае многообещающего преобразования сцены в качестве коэффициента пропорциональности можно взять расстояние d от центра проекции до объекта. Но если центр проекции лежит близко к объекту, то 1/d2 меняется очень стремительно Ориентация в пространстве - Задание аффинных преобразований 20 Координатные системы 21 Задание векторных примитивов..., т. е. у объектов, лежащих приблизительно на схожем расстоянии от источника, разница интенсивностей чрезвычайно велика. Как указывает опыт, большей реалистичности можно достигнуть при линейном затухании. В данном случае модель освещения смотрится Ориентация в пространстве - Задание аффинных преобразований 20 Координатные системы 21 Задание векторных примитивов... так:

Id = Ia Ka + Il Kd cos /(d+K),

где К — случайная неизменная, а d - расстояние от центра проекции до объекта.

Если подразумевается, что точка наблюдения находится в беско­нечности, то d Ориентация в пространстве - Задание аффинных преобразований 20 Координатные системы 21 Задание векторных примитивов... определяется положением объекта, наиблежайшего к точке наблюдения. Это значит, что ближний объект освещает­ся с полной интенсивностью источника, а более дальние — с умень­шенной. Для цветных поверхностей модель освещения применяется к каждому из 3-х Ориентация в пространстве - Задание аффинных преобразований 20 Координатные системы 21 Задание векторных примитивов... главных цветов.
^ 1.2 Зеркальное отражение
Интенсивность зеркально отраженного света находится в зависимости от угла падения, длины волны падающего света и параметров вещества отражающей поверхности. Зеркальное отражение света является направленным. Угол Ориентация в пространстве - Задание аффинных преобразований 20 Координатные системы 21 Задание векторных примитивов... отражения от безупречной отражающей поверхности (зеркала) равен углу падения, в любом другом положении наблюдающий не лицезреет зеркально отраженный свет (рис. 2). Это значит, что вектор наблюдения S совпадает с вектором отражения R, и угол  равен Ориентация в пространстве - Задание аффинных преобразований 20 Координатные системы 21 Задание векторных примитивов... нулю. Если поверхность не безупречна, то количество света, достигающее наблюдающего, находится в зависимости от пространственного рассредотачивания зеркального отраженного света. У гладких поверхностей рассредотачивание узенькое либо сфокусированное, а у шероховатых более обширное Ориентация в пространстве - Задание аффинных преобразований 20 Координатные системы 21 Задание векторных примитивов....



Рис. 2. Схема зеркального отражения

Благодаря зеркальному отражению на сверкающих предметах возникают световые блики. Из-за того, что зеркально отраженный свет сфокусирован повдоль вектора отражения, блики при движении наблюдающего тоже передвигаются. Более того, потому что свет Ориентация в пространстве - Задание аффинных преобразований 20 Координатные системы 21 Задание векторных примитивов... отражается от наружной поверхности (кроме металлов и неких жестких красителей), то отраженный луч сохраняет характеристики падающего. К примеру, при освещении блестящей голубой поверхности белоснежным светом, появляются белоснежные, а не Ориентация в пространстве - Задание аффинных преобразований 20 Координатные системы 21 Задание векторных примитивов... голубые блики.

Потому что физические характеристики зеркального отражения очень сложны, в обычных моделях освещения обычно пользуются эмпирической моделью Буи-Туонга Фонга:

Is = Il w(,)cosn  ,

где w(,) — кривая отражения, представляющая отношение зеркально отраженного света к Ориентация в пространстве - Задание аффинных преобразований 20 Координатные системы 21 Задание векторных примитивов... падающему как функцию угла падения  и длины волны  (рис. 3), а cosn  — функция, аппроксимирующая пространственное рассредотачивание зеркально отраженного света (рис. 4.). Огромные значения n дают сфокусированные пространственные рассредотачивания черт металлов и других сверкающих Ориентация в пространстве - Задание аффинных преобразований 20 Координатные системы 21 Задание векторных примитивов... поверхностей, а малые — более широкие рассредотачивания для неметаллических поверхностей, к примеру бумаги.



Рис. 3. Кривые отражения




Рис. 4. Приближенные функции пространственного рассредотачивания для зеркального отражения.

Коэффициент зеркального отражения находится в зависимости от угла Ориентация в пространстве - Задание аффинных преобразований 20 Координатные системы 21 Задание векторных примитивов... падения, но даже при перпендикулярном падении зеркально отражается только часть света, а остальное или поглощается, или отражается диффузно. Эти соотношения определяются качествами вещества и длиной волны. Коэффициент отражения для неких неметаллов может быть всего 4%, в Ориентация в пространстве - Задание аффинных преобразований 20 Координатные системы 21 Задание векторных примитивов... то время как для железных материалов — более 80%.
^ 1.3 Общая модель
Объединяя формулы диффузного отражения и зеркального отражения, получим модель освещения:

I = Ia Ka + Il(Kd cos  + w(i,)cosn  )/(d+K).

Так как Ориентация в пространстве - Задание аффинных преобразований 20 Координатные системы 21 Задание векторных примитивов... функция w(i,) достаточно сложна, ее обычно подменяют константой Ks, избираемой экспериментально из эстетических суждений:

I = Ia Ka + Il(Kd cos  + Ks cosn  )/(d+K).

В машинной графике эта модель нередко именуется Ориентация в пространстве - Задание аффинных преобразований 20 Координатные системы 21 Задание векторных примитивов... функцией закраски и применяется для расчета интенсивности либо тона точек объекта либо пикселов изображения. Чтоб получить цветное изображение, необходимо отыскать функции закраски для каждого из 3-х главных цветов.

Если есть некоторое Ориентация в пространстве - Задание аффинных преобразований 20 Координатные системы 21 Задание векторных примитивов... количество источников света, то их эффекты суммируются. В данном случае модель освещения определяется как

,

где m – количество источников.

Косинусы углов, входящие в формулу, можно представить как произведения 2-ух векторов

cos  = n*L / |n||L Ориентация в пространстве - Задание аффинных преобразований 20 Координатные системы 21 Задание векторных примитивов...| = n*L ,

где n и L – соответсвенно, единичные векторы нормали к поверхности и направления на источник. Аналогично

cos  = R*S / |R||S| = R*S ,

где R и S – соответсвенно, единичные векторы, определяющие направление Ориентация в пространстве - Задание аффинных преобразований 20 Координатные системы 21 Задание векторных примитивов... отраженного луча и наблюдения. Общее уравнение модели освещения обусловится последующим образом:

I = Ia Ka + Il(Kd (n*L) + Ks (R*S)n)/(d+K).


organomineralnie-smesi.html
organov-gosudarstvennoj-vlasti-v-etih-elementah.html
organov-prokurorskogo-nadzora.html