§ 7. Моделирование отражения от поверхности (затенение)
Допустим, рассчитывается затенение некоторой грани объек-та, имеющей k вершин.При моделировании освещения граней вначале по методам, изложенным выше, рассчитывают осве-щенность вершин (малых участков поверхности возле них) I1,...,Ik . Для расчета отражённого света от внутренних участков граней на практике используют следующие методы.
197
1. Плоское затенение (Flat). Освещенность грани принимают постоянной и равной освещенности одной из вершин Ii (1£ i £ k), либо среднему значению по всем вершинам
Метод прост и наиболее быстро реализуется, но гладкие поверхности при его применении выглядятнереалистично – состоящими из отдельных плоских участков, четко видны ребра на стыках граней .
2. Затенение по Гуро (Gouraud). Применяется для треуголь-ников. Используется двухуровневая линейная интерполяция. Рассмотрим последовательность вычислений на примере расчета освещенности некоторой произвольной внутренней точки грани G (Рис. 9.5).
Рис. 9.5
Шаг 1. По освещенности вершин IA, IB, IC, линейно интер-полируются освещенности ID, IE точек D и E, лежащих на пересечении прямой, проходящей через G параллельно осно-ванию BC , с прилежащими к нему ребрами AB,AC. Также приведена формула для интерполирования освещенности IF точки F, лежащей на ребре BC .
198
Шаг 2. По освещенностям ID, IE точек D и E на ребрах линей-но интерполируется освещенность пикселя, соответствую-щего рассматриваемой точке G внутри треугольника:
В том случае, когда yВ = yА либо yС = yА , yС = yВ (верши-ны треугольника лежат на одном уровне по оси y), у приве-денных интерполяционных формул появляются нули в знаме-нателях. Поэтому вместо них необходимо использовать анало-гичные формулы для интерполяции по оси x.
При расчётах по этому методу изображение значительно улучшается по сравнению с плоским затенением, однако наблюдается эффект звёздочных бликов- на гладких по-верхностях отражения точечных источников имеют вид мно-гоугольников.
3. Затенение по Фонгу (Phong). Расчёт содержит несколько действий.
1. По нормалям nA ,nB ,nC в вершинах треугольника ABC интерполируются нормали nD для внутренних точек тре-угольника D.
2. В каждой точке D по нормали nD , относительному поло-жению источника и наблюдателя рассчитывается отражение.
Этот метод является наиболее совершенным. Однако его реализация требует выполнения большого числа операций. Поэтому в системах реального времени он пока используется мало. Для упрощения расчётов затенения по Фонгу нормали к вершинам включают в геометрическую информацию модели.
Помимо отражения затенение граней формируется тенями, падающими на них от других граней. Учёт этого вида зате-нения производится методами, аналогичными методам удале-ния невидимых граней и рассматривается ниже.
199
- Глава 1. Основные виды геометрических объектов
- §1. Основные аналитические способы задания кривых
- §2. Виды кривых
- §3. Основные способы задания прямых
- §4. Способы задания окружностей и их дуг
- §6. Виды поверхностей
- Пример 2.Уравнение конуса второй степени
- §7. Основные способы задания плоскостей
- §8. Аналитические способы задания пространственных тел
- Глава 2. Интерполяция кривых и поверхностей алгебраическими полиномами
- §1. Основные способы моделирования кривых. Интерполяция и аппроксимация
- §2. Интерполирование кривых с помощью алгебраических полиномов канонического вида
- §3. Интерполирование по однократным узлам. Интерполяционные многочлены Лагранжа и Ньютона
- §4. Интерполирование по двукратным узлам. Интерполяционные многочлены Эрмита
- §5. Интерполирование поверхностей
- 5.1. Интерполирование по однократным узлам. Билинейные поверхности
- 5.2. Интерполирование по двукратным узлам
- Глава 3. Моделирование кривых и поверхностей при помощи сплайнов
- I. Построение локальных сплайнов.
- II. Построение интерполяционных сплайнов.
- §1. Интерполирование кривых и поверхностей с помощью локальных сплайнов
- 1.1 Построение сплайнов по однократным узлам
- 1.2 Интерполирование по двукратным узлам
- §2. Построение интерполяционных сплайнов.
- 2.2. Кубические интерполяционные сплайны
- §3. Интерполяция с помощью в-сплайнов
- Глава 4. Интерполирование поверхностей по линиям
- §1.Интерполирование по кривым (линейчатые или плазовые поверхности)
- §2. Линейные поверхности Кунса
- §3. Обобщенные поверхности Кунса
- Глава 5. Аппроксимация алгебраическими полиномами
- §1. Аппроксимация по методу наименьших квадратов
- §2. Аппроксимация алгебраическими многочленами по критерию наилучшего равномерного приближения
- § 3. Аппроксимация при помощи кривых и поверхностей Безье
- Глава 6. Модели объектов. Плоские и пространственные линейные преобразования
- §1. Модели (структуры данных) графических объектов
- §2. Задание плоских и пространственных линейных преобразований при помощи уравнений связи
- § 3. Однородные координаты. Матричные представления линейных преобразований
- Задачи. Записать прямые и обратные матрицы элемен-тарных преобразований, при помощи которых можно осу-ществить следующие действия:
- § 4. Составные линейные преобразования
- § 5. Линейные преобразования каркасных моделей
- Глава 7.Проективные изображения трехмерных объектов
- §1. Аксонометрические проекции
- 1.1.Ортогональные проекции
- 1.2 Диметрические проекции
- Куб Диметрическая проекция
- 1. 3. Изометрическая проекция
- §2. Перспективные проекции
- §3. Построение проективных векторных изображений трёхмерных объектов
- Глава 8. Графические базы данных (гбд)
- §1. Структура и схема функционирования типовых гбд
- §2. Постановка задачи проектирования гбд в графической системе AutoCad
- Точки привязки
- §3. Разработка структуры гбд
- §4. Пакетные файлы гбд
- §5. Параметрические функции гбд
- §6. Создание библиотек слайдов гбд
- §7. Модификация основного меню AutoCad 2000
- 7.1. Файл меню. Его разделы. Управляющие символы
- 7.2. Модификация всплывающего и падающего меню AutoCad2000
- 7.3. Модификация экранного меню AutoCad2000
- 7.4. Модификация графического меню AutoCad2000
- §8. Использование разработанной базы данных
- Глава 9. Создание реалистических изображений
- § 1. Пространственные модели
- §2. Геометрическое моделирование объектов сложной формы
- § 3. Текстуры
- § 4. Основные операции при построении реалистических изображений
- § 5. Моделирование источников освещения и расчёт освещённости малых участков поверхности объектов
- § 6. Моделирование отражающих свойств поверхностей
- § 7. Моделирование отражения от поверхности (затенение)
- § 8. Удаление невидимых граней. Расчёт теней
- §9. Создание стереоскопического эффекта
- §10. Анимация
- Порядок выполнения и примерные темы курсовых работ
- Литература