
- •Часть I
- •Оглавление
- •Общее введение в компьютерную графику Предмет и область применения компьютерной графики
- •1. Отображение информации
- •2. Проектирование
- •3. Моделирование
- •4. Графический пользовательский интерфейс
- •Краткая история
- •Технические средства поддержки компьютерной графики
- •Вопросы и упражнения
- •Цвет в компьютерной графике о природе света и цвета
- •Цветовой график мко
- •Цветовые модели rgb и cmy
- •Цветовые модели hsv и hls
- •Пространство cie Luv
- •Вопросы и упражнения
- •Геометрические преобразования Системы координат и векторы
- •Уравнения прямой и плоскости
- •Аналитическое представление кривых и поверхностей
- •Пересечение луча с плоскостью и сферой
- •Интерполяция функций одной и двух переменных
- •Матрицы
- •Геометрические преобразования (перенос, масштабирование, вращение)
- •Переход в другую систему координат
- •Задача вращения относительно произвольной оси
- •Вопросы и упражнения
- •Представление геометрической информации Геометрические примитивы
- •Системы координат: мировая, объектная, наблюдателя и экранная
- •Однородные координаты. Задание геометрических преобразований в однородных координатах с помощью матриц
- •Вопросы и упражнения
- •Отсечение (клиппирование) геометрических примитивов
- •Алгоритм Сазерленда — Коэна отсечения прямоугольной областью
- •Отсечение выпуклым многоугольником
- •Клиппирование многоугольников
- •Вопросы и упражнения
- •Удаление невидимых поверхностей и линий
- •Удаление нелицевых граней многогранника Алгоритм Робертса
- •Алгоритм Варнока
- •Алгоритм Вейлера — Азертона
- •Метод z-буфера
- •Методы приоритетов (художника, плавающего горизонта)
- •Алгоритмы построчного сканирования для криволинейных поверхностей
- •Метод двоичного разбиения пространства
- •Метод трассировки лучей
- •Вопросы и упражнения
- •Проецирование пространственных сцен Основные типы проекций
- •Параллельные проекции
- •Центральные проекции
- •Математический аппарат
- •Ортогональные проекции
- •Косоугольные проекции
- •Центральные проекции
- •Специальные картографические проекции. Экзотические проекции земной сферы
- •Стереографическая проекция
- •Гномоническая проекция
- •Ортографическая проекция
- •Проекции на цилиндр
- •Проекция Меркатора
- •Проекции на многогранник
- •Необычные проекции
- •Вопросы и упражнения
- •Растровое преобразование графических примитивов
- •Алгоритм Брезенхема растровой дискретизации отрезка
- •Алгоритмы Брезенхема растровой дискретизации окружности и эллипса
- •Алгоритмы заполнения областей
- •Вопросы и упражнения
- •Закрашивание. Рендеринг полигональных моделей
- •Простая модель освещения
- •Закраска граней Плоское закрашивание
- •Закраска методом Гуро
- •Закраска методом Фонга
- •Более сложные модели освещения
- •Устранение ступенчатости (антиэлайзинг)
- •Вопросы и упражнения
- •Визуализация пространственных реалистических сцен Свето-теневой анализ
- •Метод излучательности
- •Глобальная модель освещения с трассировкой лучей
- •Текстуры
- •Вопросы и упражнения
- •Список литературы
Интерполяция функций одной и двух переменных
П
омимо
функций, заданных аналитически (т. е.
с помощью элементарных функций, значения
которых легко могут быть вычислены в
любой точке области определения) на
практике часто приходится иметь дело
с таблично заданными функциями. В этом
случае функция задается своими значениями
на некотором дискретном множестве точек
(узлов)из области определения.
Если необходимо получить значение
функции в какой-либо точке, не совпадающей
с узлом, используют различные методы
приближенного вычисления, которые
основываются на некоторых априорных
предположениях относительно этой
функции. При этом сама процедура
вычисления называется интерполяцией
в случае, когда точка принадлежит
заданной области, и экстраполяцией,
если она лежит вне области.
В
Рис. 3.3. Линейная интерполяция функции
одной переменной
Пусть на плоскости задана система
координат
и отрезок
на оси
,
на концах которого заданы значения
некоторой линейной
функции (рис. 3). Тогда для любой
точки
внутри заданного отрезка соответствующее
значение
вычисляется по формуле
,
где
.
О
Рис. 3.4. Линейная интерполяция функции
двух переменных
и заданы значения функции в этих точках
.
Тогда три точки
определяют в пространстве треугольник,
который является плоской фигурой.
Предполагается, что площадь треугольника
больше нуля, или, как говорят, треугольник
невырожденный. Для определения
значения функции в произвольной точке
,
лежащей внутри треугольника, воспользуемся
так называемыми барицентрическими
координатами
этой точки. Геометрический смысл этих
координат заключается в том, что они
равны отношению площадей треугольников,
изображенных на рис. 3.4:
Эти числа неотрицательны и удовлетворяют следующим соотношениям:
Эти соотношения будем рассматривать
как уравнения для нахождения чисел
.
Определитель этой системы уравнений есть
.
и он по модулю равен удвоенной площади
треугольника, поэтому
,
и следовательно, система имеет единственное
решение при любой правой части.
Воспользуемся формулами Крамера и
выпишем вид этого решения.
,
где
,
.
После того, как получены барицентрические
координаты точки
,
значение функции в ней рассчитывается
по формуле:
.
Существуют хорошо разработанные методы гладкой интерполяции функций. Особенно часто при интерполяции кривых и поверхностей используются сплайн-функции, которые гладко "склеиваются" из полиномов. Среди них следует выделить кубические сплайны, которые строятся из полиномов третьей степени. Они широко используются в инженерной геометрии благодаря простоте их вычисления и другим полезным свойствам. Мы их рассмотрим подробнее в последующих главах.