УДК 004.932.4
А.В. Кравцов, асп., (4872) 48-90-61, alexander.kravtsov@hotmail.com (Россия, Тула, ТулГУ)
ОБЗОР МАТЕМАТИЧЕСКИХ МОДЕЛЕЙ ОСВЕЩЕНИЯ ПРИ ПОСТРОЕНИИ ТРЕХМЕРНЫХ СЦЕН
В статье рассмотрены различные математические модели освещения. Даны сведения об основах математического и программного обеспечения при моделировании освещения.
Ключевые слова: равномерное освещение, диффузная модель освещения, бликовая модель освещения, реалистичное освещение, затенение, экранирование.
Основным принципом проектирования аппаратно-программных комплексов тренажеров военной техники является создание единой системы визуализации. Моделирование освещения на открытом пространстве играет немаловажную роль в имитации реальной окружающей обстановки с высокой степенью реализма.
На каждый объект трехмерной сцены падает свет от солнца или другого источника освещения. Этот процесс и является некоторой моделью освещения. Программная реализация всех физических принципов освещения довольно сложна, поэтому на практике используется множество моделей освещения, дающих реалистичный результат при малых расчетах.
Самой простой моделью освещения является равномерное освещение.
Равномерное освещение обеспечивает постоянное начальное освещение для всей сцены. При этом все вершины объектов освещены одинаково, независимо ни от каких других факторов освещения. Это самая простая и быстрая в реализации модель, дающая, однако, наименее реалистичный результат.
Математически модель равномерного освещения описывается формулой
Iambient ~ ka ' Ia, (
где ka - интенсивность освещения; Ia - исходный цвет объекта.
Для повышения реалистичности модели освещения необходимо вычислить бликовый и диффузный компоненты света. Для этого определяют три вектора (рис. 1):
- нормаль N к поверхности объекта;
- видовой V - вектор, который направлен на наблюдателя;
- позицию источника света L.
Рис. 1. Определение бликового и диффузного компонентов света
В диффузной модели освещение объекта зависит от положения источника освещения и от нормали к поверхности объекта. Поскольку излучение света одинаково во всех направлениях, видовой вектор не имеет значения, т.е. V = 0. Вычисления производятся для каждой вершины объекта, вследствие чего данная модель обеспечивает некую затененность объектов и придает им объем. Свет падая, заполняет одинаковым цветом не весь объект (как в случае с равномерным освещением), а создается впечатление, что освещена та или иная поверхность объекта.
Для расчета диффузной модели освещения используется формула
!с1фме = ‘ Л* ' > (2)
где kd - интенсивность освещения, ^ - исходный цвет объекта.
Интенсивность освещения зависит от угла а (рис. 2).
Рис. 2. Определение интенсивности освещения в диффузной модели освещения
Бликовая модель освещения Фонга характеризуется наличием бликов, существенно увеличивающих реалистичность изображения. Модель можно реализовать, направив источник света на гладкую (отполированную) поверхность объекта и посмотрев на нее под неким углом, не перпендикулярным к поверхности. Возникающие в результате блики являются отражением источника света от поверхности.
В бликовой модели освещения, помимо векторов позиции источника освещения и нормали (как в случае с диффузной моделью освещения), используются еще два вектора: видовой вектор V и вектор отражения Я (рис. 3).
Рис. 3. Определение интенсивности освещения в бликовой модели освещения
Чем больше угол Р между видовым вектором V и вектором отражения Я, тем ярче бликовое освещение (рис. 4).
Бликовая модель освещения вычисляется по следующей формуле:
(3)
где к„ - интенсивность освещения; - исходный цвет объекта,
Я = -Хг-2-
V
V
V
N ■ N; п - коэффициент яркости свечения.
Рис. 4. Зависимость яркости свечения от угла (3
С ростом параметра п отражение становится все более бликовым и все более концентрируется вдоль направления вектора отражения Я.
Джим Блинн предложил альтернативный способ вычисления бликового освещения, который устраняет ресурсозатратные вычисления над вектором отражения. Он ввел промежуточный вектор, который является средним значением между видовым вектором и вектором позиции источника
освещения: Н = {ь + ^)Д ^ ) •
Общая формула имеет вид
/ - -\П
h~>hn specular ~ kb s ' s > (4)
где ks - интенсивность освещения; Is - исходный цвет объекта; n - коэффициент яркости свечения.
Для ускорения вычисления яркости свечения Шлик предложил замену степени п. Пусть скалярное произведение
£> = (#•#),
тогда яркость свечения будет вычисляться следующим образом (рис. 5):
D
n - n • D + D
номер точки
Рис. 5. Сравнительные графики степенных законов
На самом деле физический смысл бликового отражения света намного сложнее, чем предполагается в модели освещения Фонга. В более реалистичной модели /л. зависит от длины волны / и от угла падения света
(АА • /*). Такая зависимость называется коэффициентом Френеля.
Комбинирование компонентов освещения. Теперь мы можем сложить три модели освещения (постоянное, диффузное и бликовое), чтобы вычислить суммарное количество света 1, получаемое глазом:
1 = ка-1а+ка-1а-(М.Е) + к5-1,-------(5)
' ’ п - п ■ D + D
Реалистичное освещение на основе модели Кука - Торренса. В наиболее приближенных к реальным моделях освещения основное внимание уделяется распределению энергии падающего света. Одна ее часть поглощается материалом и превращается в тепло, другая часть рассеивается в виде диффузного света, третья часть задает поверхности бликовую освещенность. Соответственно для различных материалов разделение падаю-
щего света на три составляющих происходит по-разному и зависит от следующих факторов:
- функции распределения нормалей;
- затенения и экранирования;
- коэффициента Френеля.
Функция распределения нормалей описывает возможное отклонение нормали к поверхности от идеальной нормали N. Чем эта функция более пологая, тем большие отклонения допустимы и тем большей величины пятно отраженного блика. Необходимые нормали расположены вдоль вектора Ь + У, видимы в направлении V и находятся под углом (^Й • Й^ к
зрителю. Кук и Торренс использовали формулу распределения Бекмана (рис. 6)
где 8 = Н •Й; т - степень шероховатости объекта (т = 0,2/ для гладкой поверхности, т = 0,6f для шероховатой поверхности; по умолчанию принимается т = 0,3 /).
Рис. 6. График распределения Бекмана
В модели Кука - Торренса учитываются и такие эффекты, как затенение и экранирование, которые определяют интенсивность бликовой составляющей (рис. 7).
Экранирование Затенение Рис. 7. Эффекты затенения и экранирования
Геометрическая составляющая, учитывающая неэкранированный
свет
От
Г еометрическая составляющая, учитывающая незатененный свет,
О?
(8)
(Я. V) '
Тогда финальный множитель
G=шт(1,а„,о,). (9)
Коэффициент Френеля определяет долю отраженного света и задается функцией
F (ф,ч) = 0,5
(я ~с )‘г («+СУ
і+
С • (я + с) -1 С • (я - с) +1
(10)
где <р - угол падения; с = со8(<^) = • //); г] - показатель преломления
I 2 2
материала, g = ^г + с -1.
Однако при программной реализации целесообразнее рассчитывать коэффициент Френеля с помощью аппроксимации Шпика:
/ —*• —*• \ Т1
^ = ^ + (1-^)-(1-£-.Дг) , (11)
где - бликовое отражение; Е - вектор наблюдателя; N - нормаль из карты нормалей.
Такая аппроксимация не учитывает <р и г компоненты, но имеет степень п, с увеличением которой можно добиться хороших результатов. Шлик предложил использовать п = 5.
Комбинирование всех множителей. Формула Торренса и Спэрроу объединяет три составляющих реалистичной модели освещения для подсчета количества бликового света:
(12)
Знаменатель к) введен для регулирования интенсивности света. Общая формула для расчета количества света в модели Кука - Тор-
ренса:
(13)
Список литературы
1. Поляков А. Ю., Брусенцев В. А. Программирование графики: GDI+ и DirectX. СПб.: БХВ-Петербург, 2005. 368 с.
2. Роджерс Д., Адамс Д. Математические основы машинной графики: пер. с англ. М.: Мир, 2001. 604 с.
3. Снук Г. Создание 3D-ландшафтов в реальном времени с использование C++ и DirectX 9: Пер. с англ. М.: КУДИЦ-ОБРАЗ, 2006. 368 с.
A. Kravtsov
The review of mathematical models of lighting at three-dimensional stages construction
The various mathematical lighting models are considered in this article. There are given mathematical and software bases at lighting modelling.
Keywords: ambient lighting, diffuse lighting model, specular lighting model, realistic lighting, shadowing, masking.
Получено 04.08.10
УДК 681.513
А.В. Сурков, инж., eeo@tsu.tula.ru (Россия, Тула, ТулГУ),
ОПТИМАЛЬНЫЕ БЫСТРОДЕЙСТВИЯ В ЭЛЕКТРОМЕХАНИЧЕСКИХ СИСТЕМАХ
Предлагается подход к решению задачи аналитического конструирования оптимальных регуляторов (АКОР) для автоматизированного электропривода по критерию быстродействия, основанный на использовании функций переключения. Он менее трудоемок (на порядок и более), чем стандартное решение задачи с использованием теоремы об n интервалах А.А. Фельдбаума.
Ключевые слова: оптимальное управление, быстродействие, электрический
привод
Для простоты рассуждений, не влияющих на суть рассматриваемого подхода ограничимся случаем электропривода с одним управляющим воздействием, уравнение возмущенного движения которого имеет вид:
X(t) = А(Х) + В(Х) • u(t), (1)
где X є Rn - вектор отклонений фазовых координат состояния объекта от заданной траектории движения; A(X) - матрица-столбец с нелинейными однозначными функциями щ (X) = щ (xi, X2,..., xn ), i = 1,2,..., n;
B( X) = (bi, b2,..., bn) - вектор столбец с элементами bi = 0, b2 = 0,..., bn = 1;