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

Конспект лекций по дисциплине «Компьютерная геометрия и графика» Лекция 4

Тема 5 - Компьютерная реализация геометрического моделирования

Формирование графических объектов из примитивов

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

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

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

Создание объектов из примитивов, таких как точка, линия и поверхность значительно расширяет круг многообразных объектов, однако этот процесс часто бывает длительным и трудоемким. Например, формирование растровых и точечных моделей требует ручной записи множества пикселов, вокселов и точек. Формирование каркасных моделей снижает число задаваемых точек (линий), однако при высокой точности описания кривых поверхностей, их еще достаточно много. Аналитические модели в определенной степени решают проблему записи поверхностей, так как число коэффициентов уравнений даже высших порядков невелико (Приложение 2). Однако в настоящее время графические приложения не содержат библиотек алгебраических поверхностей высших порядков, которые дают огромное многообразие любых поверхностей (Приложение 3).

Процесс формирования объектов из примитивов сводится к масштабированию, перемещению, повороту примитивов и выбору частей примитивов, которые принадлежат объекту (Приложение 4).

Алгебраические модели дают много возможностей формировать путем составления из примитивов сложных поверхностей и иметь при этом компактные описания. Например, из шести плоскостей можно составить описание куба. Для этого, достаточно перемножить уравнения шести плоскостей (, чтобы получить уравнение 6-го порядка

, которое описывает куб с размером 5 единиц (рис.1.87). Достаточно поставить точку выбора в центре куба, чтобы получить привычный куб при условии ограничения поверхности куба плоскостями (выбор частей плоскостей).

Уравнение 4-го порядка ,

полученное путем перемножения коэффициентов двух уравнений круговых цилиндров 2-го порядка, смещенных в пространстве (рис.1.88), описывает довольно интересную поверхность.

Рис.1.87 Рис.1.88

Процесс формирования сцены заключается в размещении и ориентации объектов в сцене.

Анимация - создание кадров видео фильма, в котором отображаются динамичные объекты (перемещаются, поворачиваются, изменяются).

При моделировании анимации записываются формулы движений и изменений объектов для каждого кадра видео фильма (Приложение 5).

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

Изменение формы объекта необходимо для формирования библиотек объектов, при проектировании сложных конструкций, при моделировании сложных процессов, в которых происходят геометрические изменения (взрывы, разрушения, столкновения, деформация и т.п.).

Изменение формы объектов достигается следующими способами:

  • перемещением и поворотом в пространстве отдельных примитивов, составляющих объект;

  • неравномерным масштабированием из произвольно выбранной точки объекта;

  • изменением значений параметров для аналитических выражений (для алгебраических поверхностей изменением значений коэффициентов алгебраических уравнений).

При изменении формы объекта необходимо решать следующие задачи:

  • определять линии пересечения поверхностей;

  • осуществлять сшивку и сглаживание поверхностей.

Для растровых, точечных и каркасных моделей изменения объектов сводятся к операциям с элементами растра и точками, которые перемещаются в пространстве. Здесь решается задача заполнения разрывов в поверхности объекта (которые могут возникнуть) дополнительными элементами растра или точками (для точечных и каркасных моделей).

Для аналитических моделей, например, для алгебраических моделей произвольные изменения коэффициентов могут привести к получению мнимых поверхностей (отсутствие решений уравнений). В этом случае необходим аналитический или визуальный контроль выполнения изменений.

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

Приведем пример, как изменение коэффициентов алгебраического уравнения 4-го порядка влияет на изменение формы поверхности.

Возьмем поверхность 4-го порядка «Две сферы» (рис.1.89), уравнение которой было получено методом объединения двух сфер. Будем менять значения коэффициентов уравнения. Если коэффициент при y2 равный -6 изменить на -34, то получим сглаженную поверхность, где исчезла резкая граница при пересечении сфер (рис.1.90). Если коэффициент при y2 равный -6 изменить на +15, то получим разрыв поверхности и искажение форм сфер (рис.1.91). Если коэффициент при x2y2 равный 2 изменить на -3, то получим другую поверхность (рис.1.92).

Рис. 1.89 Рис. 1.90

Рис. 1.91 Рис. 1.92

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

Визуализация графических объектов

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

Чтобы трехмерную модель, сформированную в процессе моделирования в памяти компьютера, отобразить, необходимо преобразовать ее в двухмерную модель (видео модель) и затем в страницу отображения с соответствующим разрешением изображения и таблицей цветов.

При визуализации в практике, в основном, используются два вида проецирования:

  • метод параллельного ортогонального проецирования, который наиболее подходит для технического конструирования, так как не вносит искажений размеров объектов при отображении на плоском экране;

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

При отображении могут быть использованы различные виды проецирования и получены различные типы изображений (рис.2.1).

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

Центральное проецирование - отображение объекта на плоском экране лучами, приходящими из определенной точки пространства (точки зрения) и центральным лучом, перпендикулярным к плоскости экрана (рис.2.3).

Рис. 2.1

Рис. 2.2

Рис. 2.3

Моно изображение - представление одной страницы изображения объекта при рассматривании его одним глазом.

Стерео изображение - представление объекта на двух страницах изображения при рассматривании его двумя глазами (слева и справа) и для каждого глаза строится своя страница изображения объекта.

Контурное изображение - отображение объекта в виде контурных (очерковых граничных линий). Изображение объекта представляет собой внешние очертания объекта без отображения линий пересечения элементов объекта.

Каркасное изображение - отображение объекта в виде каркаса, составленного из соединенных отрезков прямых линий, лежащих на поверхности объекта.

Изображение без удаления невидимых частей - отображение всех элементов объекта (линий пересечения, вершин, любой стороны объекта) вне зависимости от расположения их в пространстве.

Изображение с удалением невидимых частей - отображение только тех элементов (или их частей) объекта, которые видны наблюдателю.

Видовое изображение - полутоновое отображение объекта в виде точек, лежащих на поверхности объекта и окрашенных с учетом уровня освещения каждой точки в зависимости от расположения нормали поверхности (в данной точке) по отношению к линии света.

Изображение с тенями - видовые изображения с использованием нескольких источников освещения и одной точкой рассматривания.

Общий алгоритм визуализации:

  • определяется положение точки зрения в пространстве;

  • определяется положение и дискретное разрешение (число пикселов по горизонтали и вертикали) экрана проецирования (объект проецирования, как правило, располагается между точкой зрения и экраном);

  • проводятся прямые лучи из точки зрения к каждому пикселу экрана;

  • для каждого луча проверяется пересечение лучом объекта и наличие точек пересечения луча с объектом;

  • для каждой точки пересечения определяется видимость (видна та точка на луче, которая ближе к точке зрения;

  • для каждой точки пересечения определяется нормаль к поверхности в данной точке;

  • по углу между лучом зрения и нормалью вычисляется уровень освещенности объекта из точки зрения;

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

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

Так как процесс визуализации связан с большим числом вычислений, и это число растет с увеличением разрешения экрана, то создаются алгоритмы с элементами оптимизации процесса визуализации.