
- •1. Цвет в компьютерной графике 13
- •2. Геометрические преобразования 20
- •3. Представление геометрической информации 37
- •4. Удаление невидимых поверхностей и линий 45
- •5. Проекции пространственных сцен 55
- •5.4. Вопросы и упражнения 67
- •10.6 Вопросы и упражнения 108
- •12.4 Вопросы и упражнения 118
- •Введение Предмет и область применения компьютерной графики
- •1. Отображение информации
- •2. Проектирование
- •3. Моделирование
- •4. Графический пользовательский интерфейс
- •Краткая история
- •Технические средства поддержки компьютерной графики
- •Вопросы и упражнения
- •1. Цвет в компьютерной графике
- •1.1. О природе света и цвета
- •1.2. Цветовой график мко
- •1.3. Цветовые модели rgb и cmy
- •1.4. Другие цветовые модели
- •1.5. Вопросы и упражнения
- •2. Геометрические преобразования
- •2.1. Системы координат и векторы на плоскости и в трёхмерном пространстве
- •2.2. Уравнения прямой и плоскости
- •2.3. Аналитическое представление кривых и поверхностей
- •2.4. Пересечение луча с плоскостью и сферой
- •2.5. Интерполяция функций одной и двух переменных
- •2.6. Матрицы
- •2.7. Геометрические преобразования (перенос, масштабирование, вращение)
- •2.8. Переход в другую систему координат
- •2.9. Задача вращения относительно произвольной оси
- •2.10. Вопросы и упражнения
- •3. Представление геометрической информации
- •3.1. Геометрические примитивы
- •Полигональные модели
- •Воксельные модели
- •Поверхности свободных форм (функциональные модели)
- •3.2. Системы координат: мировая, объектная, наблюдателя и экранная
- •3.3. Однородные координаты
- •3.4. Вопросы и упражнения
- •4. Удаление невидимых поверхностей и линий
- •4.1. Алгоритм Робертса
- •4.2. Метод z-буфера
- •4.3. Методы приоритетов (художника, плавающего горизонта)
- •4.4. Алгоритмы построчного сканирования для криволинейных поверхностей
- •4.5. Метод двоичного разбиения пространства
- •4.6. Метод трассировки лучей
- •4.7. Вопросы и упражнения
- •5. Проекции пространственных сцен
- •5.1. Основные типы проекций
- •Параллельные проекции
- •Центральные проекции
- •5.2. Математический аппарат
- •Ортогональные проекции
- •Косоугольные проекции
- •Центральные проекции
- •5.3. Специальные картографические проекции. Экзотические проекции земной сферы
- •Стереографическая проекция
- •Гномоническая проекция
- •Ортографическая проекция
- •Проекции на цилиндр
- •Проекция Меркатора
- •Проекции на многогранник
- •Необычные проекции
- •5.4. Вопросы и упражнения
- •6. Растровое преобразование графических примитивов
- •6.1. Алгоритм Брезенхема растровой дискретизации отрезка
- •6.2. Алгоритмы Брезенхема растровой дискретизации окружности и эллипса
- •6.3. Алгоритмы заполнения областей
- •6.4. Вопросы и упражнения
- •7. Закрашивание. Рендеринг полигональных моделей
- •7.1. Простая модель освещения
- •7.2. Закраска граней Плоское закрашивание
- •Закраска методом Гуро
- •Закраска методом Фонга
- •7.3. Более сложные модели освещения
- •7.4. Устранение ступенчатости (антиэлайзинг)
- •7.5. Вопросы и упражнения
- •8. Визуализация пространственных реалистических сцен
- •8.1. Трехмерный графический конвейер
- •8.2. Свето-теневой анализ
- •8.3. Глобальная модель освещения с трассировкой лучей
- •8.4. Текстуры
- •8.5. Вопросы и упражнения
- •9. Введение в вычислительную геометрию
- •9.1 Вычислительная сложность алгоритмов
- •9.2 Основные геометрические объекты
- •9.3 Вопросы и упражнения
- •10. Триангуляция Делоне и диаграмма Вороного
- •10.1 Введение
- •10.2 Разбиение Делоне
- •10.3 Разбиение Вороного
- •Многогранник Вороного
- •Теорема о разбиении Вороного
- •10.4 Дуальность разбиений Вороного и Делоне
- •10.5 Алгоритм построения тетраэдризации Делоне
- •Триангуляция Делоне
- •Ячейки Вороного
- •10.6 Вопросы и упражнения
- •11. Алгоритмы построения выпуклой оболочки и триангуляции
- •11.1. Алгоритм построения выпуклой оболочки с использованием метода сортировки
- •11.2 Алгоритм построения триангуляции
- •12. Алгоритмы геометрического поиска
- •12.1 Поиск в плоском случае
- •12.2 Поиск на множестве тетраэдров
- •12.3 Поиск на множестве произвольных несамопересекающихся многогранников е3
- •12.4 Вопросы и упражнения
- •Список литературы
5.3. Специальные картографические проекции. Экзотические проекции земной сферы
С развитием торговли и путешествий приобрела большую важность довольно непростая геометрическая задача: как перенести на плоскость часть земной поверхности, чтобы расстояния между любыми двумя точками на ней остались неискаженными? Различные ученые в течение многих веков пытались разрешить эту проблему по заказам своих правительств, крупных коммерсантов или просто путешественников, для которых такая карта была бы настоящей находкой, так как существенно облегчила бы навигацию, как морскую, так и воздушную.
В целом эта задача оказалась неразрешимой. Поверхность цилиндра или конуса можно без искажений перенести на плоскость (такие поверхности называются развертывающимися), отобразить же на плоскость поверхность сферы, сохранив расстояние между любыми двумя точками, невозможно. Дело в том, что даже малую область сферической поверхности (в отличие от цилиндра или конуса) невозможно развернуть на плоскости без трещин, складок или искажений. Любая плоская карта Земли или какой-то ее части непременно будет искажать какие-либо свойства. Поэтому даже в настоящее время так необходимы карты с минимальными (еще лучше нулевыми) искажениями тех свойств, для передачи которых предназначается карта. Желательно, чтобы и другие свойства деформировались как можно меньше. Всего существует четыре основных типа искажений:
искажение длин (линии, одинаковые на поверхности Земли, изображаются на карте отрезками разной длины);
искажение углов (углы на карте между взятыми направлениями не равны горизонтальным углам между теми же направлениями на поверхности земного эллипсоида);
искажение форм (форма участка или занятой объектом территории на карте отлична от их формы на поверхности Земли);
искажение площадей (связано с масштабом площади: при постоянстве величины масштаба площади по всей поверхности карты искажения площадей на ней нет).
Помимо классических карт, большая часть которых была разработана в средние века, фантазия ученых предоставляла навигаторам весьма необычные способы проекции земной поверхности, но прежде чем описать способы составления необычных карт, рассмотрим некоторые классические методы картографии.
Центр проекции может быть произвольным по отношению к проецируемой сфере, таким образом, существует бесконечное множество всевозможных различных проекций. Если проводить лучи из некоторой точки, взятой на прямой, проходящей через центр шара перпендикулярно некоторой плоскости, то получим на этой плоскости перспективную проекцию. Рассмотрим некоторые из этих проекций, наиболее полезные с точки зрения картографии.
Стереографическая проекция
Важное свойство любой карты — сохранение углов (угол между любыми двумя линиями на карте должен быть таким же, как угол между прообразами этих линий на земной поверхности). Сохранение углов особенно важно для мореплавания и аэронавтики, так как оно означает, что наблюдаемый угол между любыми двумя ориентирами равен углу, измеряемому на карте с помощью транспортира. Кроме того, на такой карте остаются неизменными и площади малых областей. Карты, сохраняющие углы, называются конформными. Проще всего построить конформную карту с помощью стереографической проекции.
На рис. 5.8 показано, как поверхность сферы в точке Х проецируется из точки А (принадлежащей сфере) на плоскость, касательную к сфере в диаметрально противоположной точке (антипод точки А). Проекция называется экваториальной, полярной или косой в зависимости от того, где находятся антиподы: на экваторе, полюсах или в какой-нибудь другой точке земной поверхности соответственно. К сожалению, конформность вызывает искажение масштаба, возрастающее с увеличением расстояния от центра карты.
Рис. 5.8. Три проекции
Обозначим за долготу и дополнение до
широты точки на сфере буквами
и
соответственно,
,
,
а через x и y
— координаты проекций этой точки в
некоторой декартовой системе координат,
заданной на плоскости проекции.
Соответствующие формулы проецирования
для Северного полушария имеют следующий
вид:
Здесь и в дальнейшем радиус считается равным единице. Ось X направлена вдоль меридиана 135°.