- •Геометрическое моделирование
- •Содержание
- •Введение
- •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
- •Фрактальное сжатие изображений
- •Восстановление изображения
- •Преимущества метода фрактального сжатия изображений
- •Аффинное преобразование
- •Список литературы
Обрезание хвостов
При форматировании жесткий диск разбивается на области (кластеры). Каждый кластер содержит определенное число секторов по 512 байт. В зависимости от НЖМД кластер содержит 7, 8 или 16 секторов (2, 4 или 8 Кб). DOS очень неэкономично управляет ресурсами. Она всегда выделяет для файла целое число кластеров. Если надо сохранить файл размером 1 байт, DOS выделяет 1 кластер размером 8 Кб, причем оставшееся место использовано не будет. По теории вероятности на каждый файл теряется в среднем ½ кластера. (Чтобы проверить потерянное место на диске, надо воспользоваться программой FileSize пакета NortonUtilites).
Программы сжатия данных помогают занять практически все свободное пространство диска, упаковывая и размещая больше данных на неиспользованных участках.
16.3. Сжатие цветных и полутоновых файлов. Сжатие с потерями.
Они содержат большое количество информации (24 бит/ (цв) и 8 бит/ (ч-б)) и могут весить до нескольких Мб памяти (25 Мб при сканировании цветного изображения (10 т/мм)). Характер информации постоянно меняется вдоль линии сканирования.
Алгоритмы основаны на особенностях цветовой чувствительности человеческого глаза. Глядя на картинку, человек выделяет крупные цветовые пятна, переходы между ними. Но человек может проигнорировать:
мелкие детали,
изменения оттенков,
абсолютная яркость.
Например, абсолютная яркость: никакая точка телевизора не может быть чернее, чем серый цвет выключенного телевизора. Видимый нами иссиня-черный цвет — не более, чем иллюзия, которая возникает из-за соседства с ним контрастных ярких тонов.
Также можно заметить, что на большой площади изображения изменение цвета и интенсивности часто незначительны (небо). Сжатие по методу RLE позволяет уменьшить размеры файлов в 2-3 раза. Но это не решает полностью проблему, нужны более высокие степени сжатия.
Сжатие изображения по стандарту jpeg
(Joint Photografic Experts Group — объединенная группа экспертов по обработке фотографий). Обеспечивает уменьшение размера файла в 25-100 раз. Разработан Международной организацией по стандартизации (ISO). Такое сжатие достигается за счет сжатия с потерями. Достаточно сложен с вычислительной точки зрения, так как занимает много процессорного времени.
Первоначальное и восстановленное изображения не одно и то же. Но информация усекается не просто так. Некоторую информацию можно исключить, и большинство людей этого не заметят. Кроме того, пользователь может контролировать уровень потерь, указывая степень сжатия. Что важнее — качество изображения или экономия памяти?
1 этап. Кодирование изображения по алгоритму JPEG начинается с преобразования цветового пространства из RGB в YUV. Канал Y содержит информацию о яркости, U и V — о цвете. Система зрения человека особенно чувствительна к Y компоненте и менее чувствительна к U и V.
Y-компонента — это цветные изображение, показанное на черно-белом телевизоре.
U-компонента — информация о синем цвете.
V-компонента — информация о красном цвете.
Поэтому Y-компонента будет сжиматься в меньшей степени, чем U и V.
2
этап (необязательный). Прореживание.
Отбрасывается
U
и V
— компоненты строк или столбцов
с определенными номерами. Например, при
прореживании с коэффициентами 2:1:1 будет
отбрасываться информация о цвете для
каждой 2-ой строки и каждого 2-го столбца,
в результате чего будет потерено 75%
данных цветности. Коэффициента 1:1:1 —
прореживания нет. На Y-компоненту
прореживание не отражается.
3 этап — «Дискретное косинусное преобразование» — удивительная математическая операция.
Рис. 16.1
ДКП выполняется отдельно для Y, U и V-компонент. Изображение разбивается на блоки размером 88 . Такой участок с большой вероятностью содержит близкого цвета. При ДКП информация о 64 преобразовывается в матрицу из 64 коэффициентов, которые характеризуют «энергию» исходных . Максимальные значения коэффициентов концентрируются в левом верхнем углу матрицы 88, минимальные — в правом нижнем. Первый коэффициент передает подавляющую часто «энергии», а количество «энергии», представляемой остальными коэффициентами, быстро убывает. Таким образом большая часть информации исходной матрицы 88 представляется первым элементом матрицы, преобразованной по ДКП. На этом этапе происходит некоторая потеря информации, связанная с принципиальной невозможностью точного обратного преобразования. Однако, она незначительна по сравнению с потерями на следующем этапе.
4 этап. Квантование. Применяется для сокращения разрядности коэффициентов. Здесь происходит значительная потеря информации. Отбрасываются малые изменения коэффициентов. Поэтому после восстановления изображения получаются уже другие значения . (Для U и V компонентов квантование более грубое).
5 этап.— Полученные данные сжимаются по RLE, LZW-алгоритму или алгоритму Хаффмана для достижения еще большей компрессии. Помимо применяемого кодирования наиболее часто встречающихся символов, последние нули в конце строки могут быть заменены символом «конец блока», а так как все блоки имеют одинаковый размер, всегда известно сколько нулей было опущено.
При восстановлении изображения шаги выполняются в обратном порядке.
Изображения, в которых соседние мало отличаются друг от друга, лучше поддаются сжатию. Однако чем меньше размер выходного файла, тем меньше степень "аккуратности" при работе программы-конвертора и, соответственно, ниже качество выходного изображения. Обычно в программах, позволяющих сохранять растровые данные, есть возможность некоторого компромисса между объемом выходного файла и качеством изображения. При лучшем качестве объем выходного файла в 3-5 раз меньше исходного незапакованного. При качестве похуже - меньше исходника в десятки раз, но, как правило, при этом качество изображения уже не позволяет использовать его где-либо. Данный формат предназначен для хранения в основном фотографических изображений с большим количеством оттенков и цветовых переходов и почти не подходит для хранения однотонных изображений типа кадров из мультфильмов, скриншотов (сжатие будет слишком низким или качество картинки достигнет критической отметки). Этот метод сжатия графических данных используется в файлах формата PDF, PostScript (для включенных объектов), собственно в JPEG и других.
6 этап. Сглаживание в процессе восстановления изображения. Из-зи потери информации на границах между блоками (88 ) могут возникать разрывы. Поэтому необходимо сглаживание.
Новый стандарт JPEG 2000
В его разработке приняли участие Международная организация по стандартизации (International Organization for Standardization), Международный союз телекоммуникаций (International Telecommunications Union), компании Agfa, Canon, Fujifilm, Hewlett-Packard, Kodak, LuraTech, Motorola, Ricoh, Sony и другие. Позволяет сжимать изображения в 200 раз без заметной для невооруженного глаза потери качества. Основным отличием JPEG2000 от предыдущей версии этого формата является использование алгоритма волнового преобразования (изображение описывается с помощью математических выражений как непрерывный поток) вместо преобразования Фурье, что и предотвращает появление характерных блоков. Умеет также без ущерба модифицировать (масштабировать, редактировать) рисунок, сохраненный в этом формате. Алгоритм волнового преобразования позволяет просматривать и распечатывать одно и то же изображение при различных (заданных пользователем) значениях разрешения и с требуемой степенью детализации. Благодаря этой особенности JPEG2000 быстро найдет свое место в Сети, поскольку обеспечит возможность загружать картинку с разными значениями разрешения в зависимости от пропускной способности конкретного канала связи. Да и тот факт, что пользователи Интернета смогут получать изображения высокого качества, немаловажен. Еще одно значимое преимущество JPEG2000 - возможность управлять 256-цветовыми каналами, а в результате получать качественные цветные изображения. Специалисты обещают, что в общем случае новый формат будет как минимум на 30% эффективнее, чем JPEG. И еще один плюс - новый стандарт является открытым.
Главным недостатком компрессии с частичной потерей качества является то, что эти потери, выражающиеся в искажении цветового тона или появлении характерной кубической структуры в контрастных участках изображения (всплытие так называемых артефактов), возникают каждый раз при сохранении изображения и "накладываются" друг на друга при многократном сохранении файла в этом формате. Поэтому специалисты рекомендуют использовать форматы с частичной потерей качества только для хранения окончательных результатов работы, а не для промежуточных рабочих файлов.
Кроме того, вспомогательным средством уменьшения объема файлов в JPEG 2000 можно считать изменение цветовой модели графического файла, изменение разрешения растрового файла и ресемплирование (изменение глубины цвета пикселей).
Изменение цветовой модели графического файла можно объяснить на примере. Файлы в цветовом пространстве CMYK больше аналогичных в пространстве RGB на 33% (так как в CMYK имеется дополнительный четвертый черный канал). Если не планируешь печатать файлы или ты уверен в том, что сможешь корректно провести цветоделение (переход в субтрактивную модель CMYK) позже, можешь хранить рабочие файлы в RGB.
Изменение разрешения растрового файла используется для уменьшения избыточности файла. Файл с разрешением 600 точек на дюйм больше своего аналога разрешением в 300 точек в четыре раза (!), а качество печати при повышенном разрешении не всегда будет выше. Так что если разрешение избыточно, можешь его понизить, только надо помнить, что после такого назад дороги не будет (процесс является необратимым) и никакая последующая интерполяция не восстановит потерянные пикселы. Так что при задании необходимого разрешения необходимо быть внимательным. Следует учесть, что параметр разрешения контуров, применительно к векторной графике, не имеет отношения к объему выходного файла (это уже другое разрешение и другое понятие), но влияет на аккуратность "прорисовки" вектора при его растеризации в устройстве, где производится печать. Так что уменьшение этого параметра для векторной графики не уменьшит объем файлов, а только ухудшит качество печати.
Ресемплирование, или изменение глубины цвета растрового изображения, - изменение начальной глубины цвета файла. Некоторые оцифровывающие устройства выдают растровую информацию с глубиной цвета, превышающей достаточное для печати значение 8 бит на канал. Это иногда оправданно, так как большее значение бит на канал позволяет задавать большее число градаций цвета, что важно, например, при сильной, "кардинальной" цветокоррекции - сильном осветлении или затенении отдельных участков. Однако в большинстве случаев для хранения растровых данных в различных цветовых моделях с лихвой хватит глубины цвета 8 бит на канал. Кроме того, один из стандартов сжатия для RGB-изображений подразумевает использование разного количества бит для разных цветовых составляющих (обычно наибольшее количество бит используется для зеленого канала). Также большинство фильтров Adobe Photoshop рассчитано на работу с изображениями с глубиной цвета в 8 бит (с изображением, использующим нестандартную глубину цвета, становится практически невозможно работать, так как большинство фильтров рассчитаны на значение глубины цвета именно в 8 бит).
