СОЗДАНИЕ ИЕРАРХИЧЕСКИХ СТРУКТУР

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

В пакете моделирования модуль создается последовательностью команд, подобной приведенной ниже.

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

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

ИЕРАРХИЧЕСКОЕ МОДЕЛИРОВАНИЕ С ИСПОЛЬЗОВАНИЕМ ТАБЛИЦ ОТОБРАЖЕНИЯ OpenGL

Для описания сложных объектов в OpenGL используются вложенные таблицы отображения, формирующие иерархические модели. Все символы и модули модели создаются функцией glNewList. Кроме того, для вложенных таблиц в определении таблицы более высокого уровня используется функция glCallList. С любым вставленным объектом могут соотноситься геометрические преобразования, определяющие положение, ориентацию и размер в модуле более высокого уровня. В качестве примера приведем следующий код, предназначенный для описания велосипеда, состоящего просто из рамы (frame) и двух идентичных колес (wheel).

glNewList (bicycle, GL_COMPILE); glCallList (frame);

glTranslatef (txl, tyl, tzl); glCallList (wheel);

glTranslatef (tx2, ty2, tz2); glCallList (wheel); glEndList ( ) ; Таблица отображения frame также может состоять из отдельных таблиц отображения, описывающих рычаги управления, цепь, педали и другие компоненты.

РЕЗЮМЕ

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

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


⇐ вернуться назад | | далее ⇒