Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции КГ / Лекции КГ.doc
Скачиваний:
340
Добавлен:
10.05.2015
Размер:
7 Mб
Скачать
    1. Геометрические операции над моделями

Современные системы компьютерной графики работают не только с плоскими изображениями, но и с объемными (трехмерными). Для выполнения преобразований в трех измерениях естественно распространить матричные операции и на трехмерные геометрические объекты. Для этого по аналогии с двухмерным случаем введем понятие однородных координат точки в пространстве. Заменим тройку чисел (x, y, z)четверкой(x, y, z, 1). В общем виде однородные координаты представляются в виде.

Рис. 5.32 – Куб и гиперкуб.

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

Зададим элементарные операции в пространстве в виде матриц.

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

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

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

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

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

Матрица масштабирования с коэффициентами сжатия/растяжения вдоль оси абсцисс,- оси ординат,- оси аппликат:

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

  1. Виды геометрических моделей их свойства, параметризация моделей

Системы 3Dмоделирования должны тем или иным образом математически представлять трехмерные поверхности, из которых образуются моделируемые тела.

    1. Поверхностные модели

Поверхностная модель объекта определяется с помощью точек, линий и поверхностей. Метод поверхностного моделирования наиболее эффективен при проектировании и изготовлении сложных криволинейных поверхностей, таких, как корпуса автомобилей.

Существуют следующие основные типы поверхностей

1.Базовые геометрические поверхности. К ним относятся плоские поверхности, которые можно получить, начертив сначала отрезок прямой, а затем введя такую команду, которая разворачивает в трехмерном пространстве образ этого отрезка на заданное расстояние.Подобным образом (разверткой окружностей или дуг) могут быть сгенерированы цилиндрические и конические поверхности (Рис. 6 .33).

Области поверхностей также могут быть развернуты в трехмерные объекты (Рис. 6 .34).Следует отметить, что системы поверхностного моделирования не распознают такие формы, как твердые объемные тела; они представляют их просто как поверхности (на Рис. 6 .34 семь плоских граней), соединенные друг с другом неким образом в пространстве и ограничивающие "пустой" объем.

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

Рис. 6.34 – Формирование объемного объекта разверткой плоской области.

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

3.Поверхности сопряжении и пересечений. Возможность построения плавного сопряжения одной поверхности с другой является наиболее мощным и часто используемым на практике средством поверхностного моделирования. Кроме этого, может быть доступно средство определения пересечения поверхностей.

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

Рис. 6.36 – Поверхности сопряжения.

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