- •Содержание
- •Предисловие
- •Области применения компьютерной графики
- •Цифровое представление графики
- •Основные операции над графическими объектами
- •История компьютерной графики
- •Развитие аппаратных и программных средств
- •Применение в кинематографе
- •Технические средства компьютерной графики: мониторы, графические адаптеры, плоттеры, принтеры, сканеры
- •Устройства вывода. Экраны
- •Устройства вывода твердых копий
- •Устройства ввода. Сканеры
- •Устройства ввода. Цифровые фотоаппараты
- •Устройства координатного ввода
- •Свойства растровых изображений
- •Форматы хранения графической информации
- •Цветовые модели растровых изображений
- •Системы координат, типы преобразований графической информации
- •Проблемы геометрического моделирования
- •Понятие однородных координат
- •Геометрические операции над моделями
- •Виды геометрических моделей их свойства, параметризация моделей
- •Поверхностные модели
- •Аналитические поверхности
- •Составные поверхности
- •Параметризация моделей
- •2D и 3d моделирование в рамках графических систем
- •Методы построения 3Dтел
- •Анализ твердотельных моделей
- •Алгоритмы визуализации: отсечения, развертки, удаления невидимых линий и поверхностей, закраски
- •Полигональная визуализация и линии очерка
- •7Рис. 8.59 – Тор (а), параллельная (б) и центральная (в) проекции его линий очерка.
- •Основные растровые алгоритмы
- •Удаление скрытых линий
- •Способы создания фотореалистических изображений
- •Тенденции построения современных графических систем: графическое ядро, приложения, инструментарий для написания приложений
- •Понятие конвейеров ввода и вывода графической информации
- •Cтандарты в области разработки графических систем
- •Библиотека DirectX
- •Графические процессоры, аппаратная реализация графических функций
- •3D акселерация
- •Компьютерная анимация
- •Принципы создания анимации
- •Классификация и обзор современных графических систем
- •Основные функциональные возможности современных графических систем
- •Графические системы класса 2d
- •Графические системы класса 3d
- •Принципы построения “открытых” графических систем
- •Организация диалога в графических системах
- •Предметный указатель
- •Список литературы
Геометрические операции над моделями
Современные системы
компьютерной графики работают не только
с плоскими изображениями, но и с объемными
(трехмерными). Для выполнения преобразований
в трех измерениях естественно
распространить матричные операции и
на трехмерные геометрические объекты.
Для этого по аналогии с двухмерным
случаем введем понятие однородных
координат точки в пространстве. Заменим
тройку чисел (x,
y, z)четверкой(x, y,
z, 1). В общем виде
однородные координаты представляются
в виде
.


Рис. 5.32 – Куб и гиперкуб.
Как представить себе смысл величины h? По аналогии с двухмерным случаемhесть расстояние от координатного пространстваXYZдо проективной гиперплоскости, на которую это пространство проектируется. Размерность гиперплоскости равна четырем. Мысленно представить себе четырехмерный объект практически невозможно (Рис. 5 .32). Например, каждой гранью четырехмерного гиперкуба является привычный нам трехмерный куб и т.д.
Зададим элементарные операции в пространстве в виде матриц.
Матрица вращения
вокруг оси абсцисс на угол
:

Следует помнить, что матрица соответствует линейной системе уравнений координат точек.
Матрица вращения
вокруг оси ординат на угол
:

Матрица вращения
вокруг оси аппликат на угол
:

Очень важное свойство вращения в пространстве состоит в том, что оно некоммутативно. Коммутативностью называется независимость результата операции от порядка следования операндов. Например, для обычных чиселAB=BA. Для матриц же такое правило не соблюдается: при умножении матриц в общем случаеABBA. И действительно, результат вращения тела в пространстве зависит от последовательности выполнения вращений. Отметим, что вращение на плоскости вcегда коммутативно. Мы можем сначала повернуть объект на 15о, а затем на 30о, или наоборот – сначала на 30о, а затем на 15о– в обоих случаях тело окажется повернутым на 45о.
Матрица масштабирования
с коэффициентами сжатия/растяжения
вдоль оси абсцисс,
- оси ординат,
-
оси аппликат:

Для определения
переноса объекта удобно воспользоваться
вектором переноса с координатами
,вдоль которого объект и перемещается
в направлении вектора. Тогда можно
записать следующую матрицу переноса:

Виды геометрических моделей их свойства, параметризация моделей
Системы 3Dмоделирования должны тем или иным образом математически представлять трехмерные поверхности, из которых образуются моделируемые тела.
Поверхностные модели
Поверхностная модель объекта определяется с помощью точек, линий и поверхностей. Метод поверхностного моделирования наиболее эффективен при проектировании и изготовлении сложных криволинейных поверхностей, таких, как корпуса автомобилей.
Существуют следующие основные типы поверхностей
1.Базовые геометрические поверхности. К ним относятся плоские поверхности, которые можно получить, начертив сначала отрезок прямой, а затем введя такую команду, которая разворачивает в трехмерном пространстве образ этого отрезка на заданное расстояние.Подобным образом (разверткой окружностей или дуг) могут быть сгенерированы цилиндрические и конические поверхности (Рис. 6 .33).
Области поверхностей также могут быть развернуты в трехмерные объекты (Рис. 6 .34).Следует отметить, что системы поверхностного моделирования не распознают такие формы, как твердые объемные тела; они представляют их просто как поверхности (на Рис. 6 .34 семь плоских граней), соединенные друг с другом неким образом в пространстве и ограничивающие "пустой" объем.

Рис. 6.33 – Формирование развернутых плоских и криволинейных поверхностей.

Рис. 6.34 – Формирование объемного объекта разверткой плоской области.
2.Поверхности вращения могут быть легко получены по команде, создающей поверхность вращением плоской грани вокруг определенной оси (эту процедуру можно трактовать как "круговую развертку"). При этом опять необходимо помнить, что создается не объемное тело, а генерируется только поверхность (Рис. 6 .35).
3.Поверхности сопряжении и пересечений. Возможность построения плавного сопряжения одной поверхности с другой является наиболее мощным и часто используемым на практике средством поверхностного моделирования. Кроме этого, может быть доступно средство определения пересечения поверхностей.

Рис. 6.35 – Получение поверхности вращения.

Рис. 6.36 – Поверхности сопряжения.
На Рис. 6 .36 показано, как в трехмерном пространстве можно построить обычное и плавное сопряжения боковых поверхностей параллелепипеда и цилиндра. Проблема порождения результирующей поверхности в данном случае сводится к задаче построения методом сплайн-интерполяции особых кривых в трехмерном пространстве, "выходящих" из сторон квадрата и "входящих" в автоматически генерируемую кривую на поверхности цилиндра, по которой заданные поверхности должны пересекаться.
