
- •Глава 9. Описание и характеристика поверхностей 3
- •Глава 14. Трассировка лучей 82
- •Глава 15. Цвет в компьютерной графике 90
- •Глава 16. Сжатие графических изображений 96
- •Глава 9. Описание и характеристика поверхностей
- •9.1. Описание поверхностей
- •Параметрическое описание
- •Описание неявными функциями
- •Поточечное описание
- •Фрактальное описание
- •9.2. Характеристики поверхностей
- •Поверхности 1-го порядка
- •Поверхности 2-го порядка
- •Фрактальные поверхности
- •9.3. Моделирование деформации трехмерных полигональных поверхностей в режиме реального времени
- •Метод деформации на основе использования неявного задания поверхности объекта
- •Метод деформации плоских протяженных объектов
- •Метод деформации тела, заданного полигональной сеткой
- •9.4. Триангуляция поверхностей
- •Уровень детализации (lod)
- •Глава 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.8. Алгоритм трассировки лучей
- •12.9. Иерархический z—буфер (смешанный тип)
- •Глава 13. Свет в компьютерной графике
- •13.1. Общие сведения о свете.
- •13.2. Модель освещения.
- •Свойства объектов
- •Отражение диффузное
- •Зеркальное отражение
- •Пропускание света (прозрачность)
- •13.3. Закраска полигональных сеток
- •Однотонная закраска
- •Интерполяция интенсивностей (метод Гуро)
- •Интерполяция векторов нормали (метод Фонга)
- •13.4. Тени
- •Источник света в бесконечности
- •Локальный источник
- •13.5. Фактура. Нанесение узора.
- •Нанесение узора на поверхность. Регулярная текстура.
- •Нанесение узора на поверхность. Стохастическая текстура.
- •13.6. Создание неровностей на поверхности.
- •Использование карт высот
- •Метод возмущения нормали
- •Использование фрактальных поверхностей
- •13.7. Фильтрация текстур
- •13.8. Полутоновые изображения
- •Глава 14. Трассировка лучей
- •14.1 Метод прямой трассировки
- •14.2 Метод обратной трассировки
- •Глава 15. Цвет в компьютерной графике
- •15.1. Ахроматический и хроматический цвета
- •15.2. Цветовые модели
- •Системы смешивания основных цветов
- •Цветовая модель hsv
- •Модель hls
- •Цилиндрическая цветовая модель
- •Глава 16. Сжатие графических изображений
- •16.1. Графические форматы
- •16.2. Основные сведения о сжатии изображений
- •16.3. Алгоритмы сжатия файлов без потерь
- •Алгоритм Хаффмана
- •Алгоритм Лемпеля—Зива (lzw)
- •Алгоритм rle (Run Length Encoding)
- •Обрезание хвостов
- •16.4. Сжатие с потерями цветных и полутоновых файлов
- •Сжатие изображения по стандарту jpeg
- •Новый стандарт jpeg 2000
- •Фрактальное сжатие изображений
Алгоритм rle (Run Length Encoding)
Изображение рассматривается как последовательность байтов. Одинаковые байты кодируются парой, первый байт (count) — счетчик одинаковых байтов, второй — байтом из кодируемой последовательности. Для отличия счетчика 2 его старших бита устанавливаются равными 1. Это позволяет кодировать последовательности длиной не более 63. Байты изображения со значениями больше 191 кодируются 2 байтами.
Достоинствами метода являются простота и скорость декодирования.
Декодирование происходит следующим образом — для очередного байта осуществляется проверка, установлены ли старшие биты не равными 0, если да, то байт является счетчиком, число повторений равно Сount (сбрасывается старшие биты). Следующий байт переписывается в видео память в Count экземплярах. Если старшие биты байта не установлены, то он переписывается в видеопамять без изменения.
CCITT Group 3, CCITT Group 4
Эти два похожие метода сжатия графических данных работают с однобитными изображениями, сохраненными в цветовой модели Bitmap. Основаны на поиске и исключении из исходного изображения дублирующихся последовательностей данных (как и в предыдущем типе сжатия - RLE). Оба ориентированы на упаковку именно растровой графической информации, так как работают с отдельными рядами пикселей в изображении. Изначально алгоритм был разработан для сжатия данных, передаваемых через факсимильные системы связи (CCITT Group 3), а более совершенная разновидность этого метода архивации данных (CCITT Group 4) подходит для записи монохромных изображений с более высокой степенью сжатия. Как и предыдущий алгоритм, он в основном подходит для сжатия изображений с большими одноцветными областями. Его достоинство - скорость выполнения, а недостаток - в ограничениях при компрессии графических данных (не все данные удается эффективно сжать таким образом). Этот метод - для файлов формата PDF, PostScript и других.
Обрезание хвостов
При форматировании жесткий диск разбивается на области (кластеры). Каждый кластер содержит определенное число секторов по 512 байт. В зависимости от НЖМД кластер содержит 7, 8 или 16 секторов (2, 4 или 8 Кб). Операционная система очень неэкономично управляет ресурсами. Она всегда выделяет для файла целое число кластеров. Если надо сохранить файл размером 1 байт, выделяется 1 кластер размером 8 Кб, причем оставшееся место использовано не будет. По теории вероятности на каждый файл теряется в среднем ½ кластера. (Чтобы проверить потерянное место на диске, надо воспользоваться программой FileSize пакета NortonUtilites).
Программы сжатия данных помогают занять практически все свободное пространство диска, упаковывая и размещая больше данных на неиспользованных участках.
16.4. Сжатие с потерями цветных и полутоновых файлов
Цветные и полутоновые файлы содержат большое количество информации (24 бита на пиксел в цветных и 8 бит на пиксел для черно-белых) и могут весить до нескольких Мб памяти (25 Мб при сканировании цветного изображения (10 т/мм)). Для таких файлов характерно постоянное изменение информации вдоль линии сканирования.
Алгоритмы сжатия с потерями основаны на особенностях цветовой чувствительности человеческого глаза. Глядя на картинку, человек выделяет крупные цветовые пятна, переходы между ними. Но человек может проигнорировать:
мелкие детали,
изменения оттенков,
абсолютную яркость.
Например, глаз человека воспринимает относительную яркость, а не абсолютную. Нточка телевизора не может быть чернее, чем серый цвет выключенного телевизора. Видимый иссиня-черный цвет — не более, чем иллюзия, которая возникает из-за соседства с ним контрастных ярких тонов.
Также можно заметить, что на большой площади изображения изменение цвета и интенсивности часто незначительны (например, для неба). Сжатие по методу RLE позволяет уменьшить размеры файлов в 2-3 раза. Но это не решает полностью проблему, нужны более высокие степени сжатия.