
- •Оглавление
- •Глава 1. Основные понятия………………………………………………….……………….6
- •Глава 2. Координаты и преобразования…………………………………………………...13
- •Глава 3. Растровая графика. Базовые растровые алгоритмы……………………… 37
- •Глава 4. Векторная графика…………………………………………………………….…..78
- •Глава 5. Фрактальная графика……………………………………………………………..91
- •Глава 6. Цветовые модели компьютерной графики………………………………….…97
- •Глава 7. Методы и алгоритмы построения сложных трехмерных объектов……. 137
- •Глава 9. Архитектуры графических систем …………………………………………. 181
- •Глава 10. Стандартизация в компьютерной графике……………………………….….189
- •Глава 11. Форматы графических файлов……………………………………………..…205
- •Глава 1. Основные понятия
- •1.1 Разновидности компьютерной графики
- •Полиграфия
- •Мультимедиа
- •Сапр и деловая графика
- •Геоинформационные системы (гис)
- •1.2. Принципы организации графических программ
- •Растровые программы
- •Векторные программы
- •Фрактальные программы
- •Глава 2. Координаты и преобразования
- •2.1 Координатный метод
- •2.1.1. Преобразование координат
- •Однородные координаты и матричное представление двумерных преобразований
- •Композиция двумерных преобразований
- •Композиция трехмерных преобразований
- •Преобразование объектов
- •Преобразование как изменение систем координат
- •2.1.2 Аффинные преобразования на плоскости
- •Проекции
- •Мировые и экранные координаты
- •Основные типы проекций
- •Глава 3. Растровая графика. Базовые растровые алгоритмы
- •3.1 Растровые изображения и их основные характеристики
- •Вывод изображений на растровые устройства
- •Методы улучшения растровых изображений
- •Диагональное расположение ячеек 5x5
- •Диагональные структуры: а - сдвиг строк ячеек, б - ячейки другого типа
- •Набор чм-ячеек 5x5
- •3.4. Базовые растровые алгоритмы Алгоритмы вывода прямой линии
- •Инструменты растровых графических пакетов
- •Преимущества и недостатки растровой графики
- •Глава 4. Векторная графика
- •Средства создания векторных изображений
- •Сравнение механизмов формирования изображений в растровой и векторной графике
- •Структура векторной иллюстрации
- •Математические основы векторной графики
- •Элементы (объекты) векторной графики
- •Достоинства и недостатки векторной графики
- •Глава 5. Фрактальная графика
- •Математика фракталов. Алгоритмы фрактального сжатия изображений
- •Обзор основных фрактальных программ
- •Глава 6. Цветовые модели компьютерной графики
- •6.1 Элементы цвета
- •Свет и цвет
- •Физическая природа света и цвета
- •Излученный и отраженный свет
- •Яркостная и цветовая информация
- •Цвет и окраска
- •Характеристики источника света
- •Стандартные источники
- •Особенности восприятия цвета человеком
- •Цветовой и динамический диапазоны
- •Типы цветовых моделей
- •Аддитивные цветовые модели
- •Субтрактивные цветовые модели
- •Перцепционные цветовые модели
- •Системы соответствия цветов и палитры
- •Триадные и плашечные цвета
- •Цветовые режимы
- •Глава 7. Методы и алгоритмы построения сложных трехмерных объектов
- •Модели описания поверхностей
- •Аналитическая модель
- •Векторная полигональная модель
- •Воксельная модель
- •Равномерная сетка
- •Неравномерная сетка. Изолинии
- •7.2. Визуализация трехмерных объектов
- •Каркасная визуализация
- •Показ с удалением невидимых точек
- •Глава 8. Реалистическое представление сцен
- •Закрашивание поверхностей
- •Модели отражения света
- •Вычисление нормалей и углов отражения
- •Метод Гуро
- •Метод Фонга
- •8.4. Имитация микрорельефа
- •Трассировка лучей
- •Анимация
- •Глава 9. Архитектуры графических систем
- •Суперстанции
- •Компоненты растровых дисплейных систем
- •Подходы к проектированию графических систем
- •Графические системы на базе сопроцессора i82786
- •Графические системы из набора сверх больших интегральных схем (сбис)
- •Растровый графический процессор dp-8500
- •Графические системы на универсальном процессоре
- •Высокоскоростные графические системы
- •Рабочие (супер)станции с использованием универсального вычислителя
- •Глава 10. Стандартизация в компьютерной графике
- •Международная деятельность по стандартизации в машинной графике
- •Классификация стандартов
- •Графические протоколы
- •Аппаратно-зависимые графические протоколы
- •Языки описания страниц
- •Аппаратно-независимые графические протоколы
- •Проблемно-ориентированные протоколы
- •Глава 11. Форматы графических файлов
- •11.1 Векторные форматы
- •11.2 Растровые форматы
- •11.3 Методы сжатия графических данных
- •11.4 Преобразование файлов из одного формата в другой
- •Глава 12. Технические средства кг (оборудование кг)
- •12.1 Видеоадаптеры
- •Манипуляторы
- •Оборудование мультимедиа
- •Мониторы
- •Видеобластеры
- •Периферия
- •Принтеры
- •Имиджсеттеры
- •Плоттеры
- •Звуковые карты
- •Сканеры
- •Секреты графических планшетов (дигитайзеров)
- •Цифровые фотоаппараты и фотокамеры
- •Литература
Векторная полигональная модель
Для описания пространственных объектов здесь используются такие элементы: вершины, отрезки прямых (векторы), полилинии, полигоны, полигональные поверхности (рис. 7.2).
Элемент "вершина" (vertex) — главный элемент описания, все другие являются
производными. При использовании трехмерной декартовой системы координат вершины определяются как (x,y,z). Каждый объект однозначно определяется координатами собственных вершин.
Вершина может моделировать отдельный точечный объект, размер которого не
имеет значения, а также может использоваться в качестве конечной точки для линейных объектов и полигонов. Двумя вершинами задается вектор.
Р
ис. 7.2. Элементы векторно-полигональной модели
Несколько векторов составляют полилинию. Полилиния может моделировать отдельный линейный объект, толщина которого не учитывается, а также может представлять собой контур полигона.
Полигон моделирует площадный объект. Один полигон может описывать плоскую грань объемного объекта. Несколько граней составляют объемный объект в виде полигональной поверхности — многогранник или незамкнутую поверхность (в литературе часто употребляется название "полигональная сетка").
Векторную полигональную модель можно считать наиболее распространенной в современных системах трехмерной КГ. Ее используют в системах автоматизированного проектирования, в компьютерных играх, в геоинформационных системах и т. п.
Рассмотрим структуры данных, которые используются в векторной полигональной
модели. В качестве примера объекта будет куб. Рассмотрим, как можно организовать описание такого объекта в структурах данных.
Рис. 7.3. Первый способ описания
Первый способ. Сохраняем все грани в отдельности
Рис. 7.4. Отдельные грани
В компьютерной программе такой способ описания объекта можно реализовать разнообразно. Например, для каждой грани открывать в памяти отдельный массив. Можно все грани записывать в один массив-вектор (это уже лучше). А можно использовать классы (язык С++) как для описания отдельных граней, так и объектов в целом. Можно создавать структуры, которые объединяют тройки (x, у, z), или сохранять координаты в отдельности. Принципиально это мало что меняет — так или иначе в памяти необходимо сохранять координаты вершин граней плюс некоторую информацию в качестве накладных затрат.
Рассчитаем объем памяти, необходимый для описания куба указанным способом:
П1 = 6 х 4 х 3 x Pв
где Pв — разрядность чисел, которые используются для представления координат
вершин. Шесть граней здесь описываются 24 вершинами. Такое представление избыточно
Рис. 7.5. Индексы вершин
Второй способ описания. Для этого варианта координаты восьми вершин сохраняются без повторов. Вершины пронумерованы (рис. 7.5), а каждая грань представлена в виде списка индексов вершин (рис. 7.6).
Рис. 7.6. Второй способ описаня
Оценим затраты памяти:
П2 = 8 x 3 x Pв +6 x 4 x Pиндекс
где Pв — разрядность координат, Pиндекс — разрядность индексов.
Третий способ. Пронумеруем также и ребра (рис. 7.7). Будем сохранять грани в виде списка индексов ребер. Каждое ребро будет, в свою очередь, представлено списком индексов вершин. Этот способ в литературе иногда называют "линейно-узловой " моделью.
Оценим затраты памяти:
П3 = 8 x 3 x Pв +12 x 2 x Pиндекс верш. +6 x4 x Риндекс ребер
где Pв - разрядность координат, Pиндекс верш. и Риндекс ребер - разрядность
индексов вершин и ребер
Рис. 7.7. Индексы вершин и ребер
Рис. 7.8. Линейно-узловая модель