
- •Геометрическое моделирование
- •Содержание
- •Введение
- •1. Общие сведения о компьютерной графике
- •1.1. История развития компьютерной графики
- •1.2. Основные сведения о графических системах
- •1.3. Функции графических систем
- •1.4. Графические данные
- •1.5. Блок-схема графической системы
- •2. Геометрические преобразования
- •2.1. Двумерные преобразования Перенос
- •Масштабирование
- •Поворот
- •2.2. Однородные координаты и матричное представление двумерных преобразований
- •Перенос
- •Масштабирование
- •Поворот
- •2.3. Композиции двумерных преобразований
- •2.6. Преобразования как изменение систем координат
- •3. Алгоритмы растровой графики
- •3.1. Преобразование отрезков из векторной формы в растровую.
- •Пошаговый алгоритм
- •Алгоритм Брезенхэма
- •3.2 Ускорение алгоритма Брезенхэма
- •3.3. Растровая развертка литер
- •3.4. Растровая развертка окружностей Четырехсторонняя симметрия
- •Восьмисторонняя симметрия
- •Алгоритм Брезенхэма для окружностей
- •3.5 Растровая развертка эллипсов Простой метод
- •Инкрементивный метод
- •3.6 Методы устранения ступенчатости растровых изображений
- •3.7 Устранение искажений в растровых дисплеях
- •Для цветных изображений:
- •3.8 Сглаживание линий
- •Алгоритм Ву
- •3.9. Заполнение области Алгоритм построчного сканирования
- •Метод заполнения с затравкой
- •Заполнение линиями
- •3.10. Разложение в растр сплошных многоугольников
- •Когерентность сканирующих строк
- •Когерентность ребер
- •4. Отсечение линий
- •4.1. Алгоритм Коэна-Сазерленда
- •4.2. Алгоритм разбиения средней точкой
- •4.3 Трехмерное отсечение отрезков
- •4.4 Отсечение многоугольников
- •Алгоритм Сазерленда-Ходжмена для отсечения многоугольника.
- •4.5 Отсечение литер
- •5. Проектирование графического диалога
- •5.1. Языковая аналогия
- •Основной принцип
- •Требования к языку диалога
- •5.2. Языковая модель
- •5.3. Принципы проектирования Обеспечение обратной связи
- •Помощь пользователю
- •Возможность исправления ошибок
- •Управление временем отклика
- •Структуризация изображения
- •5.4. Процесс проектирования
- •6. Геометрическое моделирование. Общие сведения.
- •6.1. Геометрическая модель
- •6.2. Основные виды гм
- •Недостатки:
- •Больший объем исходных данных, чем при csg способе,
- •Достоинства:
- •Недостатки:
- •6.3. Требования, предъявляемые к геометрическим моделям
- •6.4. Внутреннее представление, типы данных
- •Двумерная модель
- •Каркасная модель
- •Поверхностная модель
- •Объемная модель
- •7. Двумерное моделирование
- •7.1. Типы данных
- •7.2. Построение базовых элементов
- •Непосредственное задание с использованием выбранного синтаксиса представления
- •С помощью уравнений
- •С помощью ограничений
- •Основные типы ограничений
- •С использованием геометрических преобразований
- •7.3. Примеры моделей Техническое черчение
- •Параметризация
- •Цепное кодирование
- •8. Трехмерное моделирование
- •8.1. Типы данных
- •Базовые элементы:
- •Представление с помощью границ
- •Представление с помощью дерева
- •8.2. Методы описания трехмерных объектов
- •Описание геометрии объекта с использованием алфавитно-цифрового входного языка
- •Описание объекта в режиме графического диалога
- •Получение модели объекта путем ввода эскизов и восстановлением модели по имеющимся проекциям
- •8.3. Методы построения трехмерных моделей Построение кривых и поверхностей
- •Задание гранями (кусочно-аналитическое описание)
- •Кинематический принцип
- •Булевы операции
- •5. Полигональные сетки
- •Явное задание многоугольников
- •Задание многоугольников с помощью указателей на вершины
- •Явное задание ребер
- •9. Описание и характеристика поверхностей.
- •9.1. Описание поверхностей Параметрическое описание
- •Достоинства параметрического описания:
- •Описание неявными функциями
- •Достоинства:
- •Поточечное описание
- •Недостатки:
- •9.2. Характеристики поверхностей Поверхности 1-го порядка
- •Поверхности 2-го порядка
- •Поверхности типа экструзий
- •Фрактальные поверхности
- •9.3. Моделирование деформации трехмерных полигональных поверхностей в режиме реального времени
- •Метод деформации на основе использования неявного задания поверхности объекта
- •Метод деформации плоских протяженных объектов
- •Деформация тела, заданного полигональной сеткой
- •9.4. Триангуляция поверхностей
- •14000 Полигонов 3600 полигонов 800 полигонов 300 полигонов
- •10. Получение реалистичных изображений
- •10.1. Методы создания реалистических изображений
- •Перспективные проекции
- •Передача глубины яркостью
- •10.2. Перспективные изображения
- •11. Проецирование
- •11.1. Основные виды проекций
- •Параллельные проекции
- •Центральные проекции
- •11.2. Математическое описание прямоугольных проекций
- •11.3. Математическое описание косоугольных проекций
- •11.4. Математическое описание перспективной проекции
- •11.5. Задание произвольных проекций. Видовое преобразование.
- •12. Алгоритмы удаления скрытых линий и поверхностей
- •12.1. Общие сведения об удалении скрытых линий и поверхностей
- •12.2. Алгоритм сортировки по глубине
- •12.3. Алгоритм, использующий z-буфер
- •Недостатки:
- •12.4. Алгоритм построчного сканирования
- •12.5. Алгоритм разбиения области
- •12.6. Сравнительная характеристика алгоритмов
- •12.7. Алгоритм плавающего горизонта
- •12.8. Алгоритм Робертса
- •12.9. Алгоритм трассировки лучей
- •12.10. Иерархический z—буфер
- •Переходная когерентность
- •13. Свет
- •13.1. Общие сведения о свете.
- •13.2. Модель освещения.
- •Свойства объектов
- •4 Типа поверхностей:
- •Отражение диффузное
- •Зеркальное отражение
- •Пропускание света (прозрачность)
- •Без освещения с рассеянным светом с рассеянным и диффузным с рассеянным, диффузным и зеркальным
- •Специальные модели
- •13.3. Закраска полигональных сеток.
- •Однотонная закраска
- •Интерполяция интенсивностей (метод Гуро)
- •Интерполяция векторов нормали (метод Фонга)
- •13.4. Тени.
- •Источник на бесконечности
- •Общая постановка задачи:
- •Локальный источник
- •13.5. Фактура. Нанесение узора.
- •Нанесение узора на поверхность. Регулярная текстура.
- •Нанесение узора на поверхность. Стохастическая текстура.
- •13.6. Создание неровностей на поверхности.
- •9130 Полигонов 850 Полигонов с возмущением нормали 850 Полигонов
- •850 Полигонов
- •13.7. Фильтрация текстур.
- •13.8. Полутоновые изображения.
- •14. Трассировка лучей
- •14.1 Метод прямой трассировки
- •Метод обратной трассировки
- •Принцип работы метода трассировки лучей:
- •Реализация метода обратной трассировки
- •Недостатки:
- •15. Использование цвета в компьютерной графике
- •15.2. Цветовые модели
- •Системы смешивания основных цветов
- •Цветовая модель hsv
- •Модель hls
- •Цилиндрическая цветовая модель
- •15.3. Цветовая гармония
- •16. Сжатие изображений
- •16.1. Основные сведения
- •16.2. Алгоритмы сжатия файлов без потерь
- •Алгоритм Хаффмана
- •Алгоритм rle (Run Length Encoding) «сжатие последовательности одинаковых символов»
- •Обрезание хвостов
- •16.3. Сжатие цветных и полутоновых файлов. Сжатие с потерями.
- •Сжатие изображения по стандарту jpeg
- •Фрактальное сжатие изображений
- •Восстановление изображения
- •Преимущества метода фрактального сжатия изображений
- •Аффинное преобразование
- •Список литературы
Министерство образования Республики Беларусь Белорусский национальный технический университет |
Кафедра «Системы автоматизированного проектирования»
Л.А. СИДЕНКО
Геометрическое моделирование
Учебное пособие по курсу «Геометрическое моделирование» для студентов специальности «»
Минск 2006
УДК
ББК
И
Авторы:
Рецензенты:
В методическом пособии рассмотрены тематика, требования по оформлению и порядок выполнения курсовой работы, а также приведены примеры расчета пневмогазовой и паровой трубчатой сушилок.
Содержание
Введение 7
1. ОБЩИЕ СВЕДЕНИЯ О КОМПЬЮТЕРНОЙ ГРАФИКЕ 8
1.1. История развития компьютерной графики 8
1.2. Основные сведения о графических системах 10
1.3. Функции графических систем 11
1.4. Графические данные 12
1.5. Блок-схема графической системы 13
2. ГЕОМЕТРИЧЕСКИЕ ПРЕОБРАЗОВАНИЯ 14
2.1. Двумерные преобразования 14
Перенос 14
Масштабирование 15
2.2. Однородные координаты и матричное представление двумерных преобразований 17
2.3. Композиции двумерных преобразований 20
2.4. Матричное представление трехмерных преобразований 22
2.5. Композиция трехмерных преобразований 24
2.6. Преобразования как изменение систем координат 27
3. АЛГОРИТМЫ РАСТРОВОЙ ГРАФИКИ 29
3.1. Преобразование отрезков из векторной 29
3.2 Ускорение алгоритма Брезенхэма 32
3.3. Растровая развертка литер 33
3.4. Растровая развертка окружностей 34
35
3.5 Растровая развертка эллипсов 38
3.6 Методы устранения ступенчатости растровых изображений 40
3.7 Устранение искажений в растровых дисплеях 41
3.8 Сглаживание линий 43
3.10. Разложение в растр сплошных многоугольников 46
4. ОТСЕЧЕНИЕ ЛИНИЙ 49
4.1. Алгоритм Коэна-Сазерленда 49
4.2. Алгоритм разбиения средней точкой 52
4.3 Трехмерное отсечение отрезков 53
4.4 Отсечение многоугольников 56
Алгоритм Сазерленда-Ходжмена для отсечения многоугольника. 57
4.5 Отсечение литер 58
5. ПРОЕКТИРОВАНИЕ ГРАФИЧЕСКОГО ДИАЛОГА 59
5.1. Языковая аналогия 60
5.2. Языковая модель 60
5.3. Принципы проектирования 62
5.4. Процесс проектирования 67
6. ГЕОМЕТРИЧЕСКОЕ МОДЕЛИРОВАНИЕ. ОБЩИЕ СВЕДЕНИЯ. 68
6.1. Геометрическая модель 68
6.2. Основные виды ГМ 70
Недостатки: 72
больший объем исходных данных, чем при CSG способе, 72
6.3. Требования, предъявляемые к геометрическим моделям 74
6.4. Внутреннее представление, типы данных 74
7. ДВУМЕРНОЕ МОДЕЛИРОВАНИЕ 76
7.1. Типы данных 76
7.2. Построение базовых элементов 76
7.3. Примеры моделей 78
8. ТРЕХМЕРНОЕ МОДЕЛИРОВАНИЕ 79
8.1. Типы данных 79
8.2. Методы описания трехмерных объектов 81
8.3. Методы построения трехмерных моделей 85
9. ОПИСАНИЕ И ХАРАКТЕРИСТИКА ПОВЕРХНОСТЕЙ. 95
9.1. Описание поверхностей 95
9.2. Характеристики поверхностей 98
9.3. Моделирование деформации трехмерных полигональных поверхностей в режиме реального времени 103
Level Of Detail (LOD) 114
10. ПОЛУЧЕНИЕ РЕАЛИСТИЧНЫХ ИЗОБРАЖЕНИЙ 115
10.1. Методы создания реалистических изображений 115
10.2. Перспективные изображения 118
11.1. Основные виды проекций 119
11.2. Математическое описание прямоугольных проекций 124
11.3. Математическое описание косоугольных проекций 125
11.4. Математическое описание перспективной проекции 127
11.5. Задание произвольных проекций. Видовое преобразование. 130
12. АЛГОРИТМЫ УДАЛЕНИЯ СКРЫТЫХ ЛИНИЙ И ПОВЕРХНОСТЕЙ 132
12.1. Общие сведения об удалении скрытых линий и поверхностей 132
12.2. Алгоритм сортировки по глубине 133
12.3. Алгоритм, использующий z-буфер 134
12.4. Алгоритм построчного сканирования 135
12.5. Алгоритм разбиения области 137
12.6. Сравнительная характеристика алгоритмов 139
12.7. Алгоритм плавающего горизонта 139
12.8. Алгоритм Робертса 142
12.9. Алгоритм трассировки лучей 143
12.10. Иерархический Z—буфер 145
13.1. Общие сведения о свете. 152
13.2. Модель освещения. 155
13.3. Закраска полигональных сеток. 163
13.4. Тени. 165
13.5. Фактура. Нанесение узора. 168
13.6. Создание неровностей на поверхности. 172
13.7. Фильтрация текстур. 181
13.8. Полутоновые изображения. 186
14. ТРАССИРОВКА ЛУЧЕЙ 188
14.1 Метод прямой трассировки 188
Метод обратной трассировки 189
Принцип работы метода трассировки лучей: 191
Реализация метода обратной трассировки 192
15. ИСПОЛЬЗОВАНИЕ ЦВЕТА В КОМПЬЮТЕРНОЙ ГРАФИКЕ 198
15.1. Ахроматический и хроматический цвет 198
Так как свет является еще и волной, то, разумеется, он имеет длину волны. Длин волн бесконечное множество, но наш глаз в состоянии регистрировать только их небольшой диапазон, известный под названием видимой части спектра. 198
15.2. Цветовые модели 201
15.3. Цветовая гармония 205
16. СЖАТИЕ ИЗОБРАЖЕНИЙ 206
16.1. Основные сведения 206
16.2. Алгоритмы сжатия файлов без потерь 207
ZIP 208
CCITT Group 3, CCITT Group 4 209
16.3. Сжатие цветных и полутоновых файлов. Сжатие с потерями. 209
Новый стандарт JPEG 2000 212
Изменение цветовой модели графического файла можно объяснить на примере. Файлы в цветовом пространстве CMYK больше аналогичных в пространстве RGB на 33% (так как в CMYK имеется дополнительный четвертый черный канал). Если не планируешь печатать файлы или ты уверен в том, что сможешь корректно провести цветоделение (переход в субтрактивную модель CMYK) позже, можешь хранить рабочие файлы в RGB. 213
Изменение разрешения растрового файла используется для уменьшения избыточности файла. Файл с разрешением 600 точек на дюйм больше своего аналога разрешением в 300 точек в четыре раза (!), а качество печати при повышенном разрешении не всегда будет выше. Так что если разрешение избыточно, можешь его понизить, только надо помнить, что после такого назад дороги не будет (процесс является необратимым) и никакая последующая интерполяция не восстановит потерянные пикселы. Так что при задании необходимого разрешения необходимо быть внимательным. Следует учесть, что параметр разрешения контуров, применительно к векторной графике, не имеет отношения к объему выходного файла (это уже другое разрешение и другое понятие), но влияет на аккуратность "прорисовки" вектора при его растеризации в устройстве, где производится печать. Так что уменьшение этого параметра для векторной графики не уменьшит объем файлов, а только ухудшит качество печати. 213