2.3. МОДЕЛИ ОБЪЕКТОВ И ИХ КЛАССИФИКАЦИЯВ практической деятельности получили распространение три основных типа моделей объектов [53,76,102,105,121,143]: описание объекта поверхностями, сплошными телами и описание типа проволочной сетки. Первый подход представляет объект в виде тонких поверхностей, под которыми находится пустое пространство, не заполненное материалом объекта. Эллипсоид, рассматриваемый в рамках поверхностного описания, следует ассоциировать с неразбитой скорлупой совершенно пустого внутри яйца. Описания подобного типа встречаются в машинной графике достаточно часто, именно в рамках этого метода конструируют полигонные поля и бикубические участки [83-86]. Описание сплошными телами подразумевает, что объекту или отдельному примитиву принадлежат все точки объекта или примитива – как наружные, так и внутренние. В данном случае эллипсоид следует понимать как однородно заполненное яйцо. Описание типа проволочной сетки заключается в представлении поверхности серией пересекающихся линий, принадлежащих поверхности объекта [27,137]. Существующие системы описания сплошными телами [83-86,123,125] могут быть разделены на три класса. Во-первых, существуют системы, которые основываются на пространственной декомпозиции объема, содержащего моделируемый объект, на массив участков или трехмерных ячеек, которые могут быть заполнены телом объекта. Такие методы представления объектов называют ячеечными или системами пространственного заполнения. Во-вторых, существуют системы, в которых объект представляют как комбинацию простых форм примитивов, в качестве которых могут быть использованы, например, кубы, шары, цилиндры. Сам объект с точки зрения геометрической конструкции может быть представлен древовидной структурой, терминальными вершинами которой являются примитивы, а нетерминальными – правила, указывающие, каким образом должны комбинироваться примитивы. Сама модель эквивалентна инструкции [77,87] следующего типа: "Взять шар", "Вычесть из него цилиндрический примитив", "Перенести результат в новую точку пространства",…. Такие модели называют моделями геометрических сплошных конструктивов. Наконец, существуют подходы, в которых объект задается только границами. В этой системе объект следует описывать состоящим из поверхностей такого-то конкретного вида, которые ограничены краями, часть краев является общей для нескольких поверхностей, края пересекаются в таких-то точках. Ячеечные методы. Идеи этого метода очень просты. Ограниченный участок пространства, охватывающий весь моделируемый объект, считается разбитым на большое число дискретных кубических ячеек. В простейшем случае размеры ребра куба равны единице измерения длины. Моделирующая система должна просто записать информацию о принадлежности или непринадлежности каждого куба телу объекта. Структура данных представляется трехмерной матрицей, в которой каждый элемент соответствует пространственной ячейке. С одной стороны, ячеечный метод имеет преимущества, определенные простотой, с другой – недостатки, связанные с большим объемом памяти, требуемой для записи объекта с высоким разрешением. Для преодоления этого недостатка разработаны системы, которые используют идею разбиения ячеек на подъячейки меньшего размера. Последние применяются в тех случаях, когда ячейка захватывает границу объекта, и здесь в целях повышения разрешения задействуются подъячейки, регулярно заполняющие ячейку-границу. Моделирование сплошными геометрическими конструктивами. Такой метод называют еще твердотельным моделированием (constructive solid geometry). Он представляет сложные объекты составленными из простых объемных примитивов. Обычно эти примитивы включают кубы, цилиндры, конусы, эллипсоиды и другие подобные фигуры (см. § 3.2.1). Булевы операции над примитивами позволяют достигать объединения, вычитания и выделения общей части примитивов [33]. Структура данных модели этого вида идентична бинарному дереву (рис. 3.2.9). Заметим, что построение и обработка дерева осуществляются снизу вверх. Узлы (нетерминальные вершины) дерева являются операторами над примитивами, а листья – примитивами. Структура описанного вида может быть усложнена внесением операторов переноса, поворота, масштабного преобразования. В большинстве систем поверхностного моделирования с примитивами тесно связано понятие полупространства. Любая поверхность, которая подразделяет трехмерное пространство на два несовпадающих региона, определяет два полупространства [95]. Например, плоскость делит пространство на два полупространства с каждой стороны от плоскости. Полупространство может иметь конечный объем. Например, такой объем локализован внутри поверхности эллипсоида. Заметим, что не все функции образуют полупространства, выделяемые формальными методами. Например, функция посредством уравнения создает два полупространства, в одном из которых , в другом , а функция этим свойством не обладает, т.е. в последнем случае формально различить между собой два полупространства невозможно: и описывают одну и ту же плоскость. Подробно вычислительные аспекты твердотельного представления объектов описаны в § 3.2. Можно выделить [125] следующие преимущества этого подхода: концептуальная простота, малый объем требуемой памяти, принципиальная застрахованность от создания противоречивых конструкций, приспособленность к усложнению модели, относительная простота представления частей и сечений общей сцены. К недостаткам обычно относят следующие: метод построения объекта ограничен рамками булевых операций, метод требует вычислительноемких алгоритмов обработки, невозможность использования параметрически описанных поверхностей, которые не позволяют устанавливать положение полупространства, сложности создания и обработки объектов, поверхность которых описана функциями более чем второй степени. Представление объекта границами. При этом подходе в памяти машины сохраняют все те элементы, которые создают границы объекта. Такими элементами являются поверхности, края поверхностей и указатели пересечений поверхностей. Одновременно хранят так называемую топологическую информацию, которая показывает, как элементы связаны друг с другом. Про поверхности края и пересечения можно сказать, что они являются топологической основой конструкции объекта. При моделировании объекта границами структура данных строится одновременно с процессом создания модели. Это означает, что "проволочное" изображение может быть построено достаточно просто и быстро на любой стадии обработки объекта, так как задание краев присутствует в структуре данных явным образом, а для изображения уже имеющихся краев необходимо использовать соответствующий алгоритм их проецирования на экран. Правила определения краев для тел, составленных из поверхностей первого и второго порядка, приведены в [75]. Модели описания краями допускают использование булевых операций и операций над множествами, но они становятся вычислительно сложными, так как любая булева операция приводит к появлению новых краев и новых фактов пересечений, которые, в свою очередь, должны быть определены. Как было показано ранее, для твердотельной модели булевы операции над примитивами гарантируют успешное построение модели. В случае представления границами операторы обеспечивают гарантию генерации правильной модели. Закон Euler [125] говорит о связи между числом поверхностей П, краев К и числом фактов пересечений Ф: . Например, если конус и плоскость пересекаются дважды , то число краев (линий пересечения) равно двум. Если же эти поверхности пересекаются один раз, то число линий пересечения равно единице. Преимущества описания границами заключаются в следующем: большие возможности геометрического моделирования форм, чем при описании сплошными телами; быстрый и эффективный доступ к геометрической информации, которая требуется для выполнения прорисовки или в других прикладных целях; относительно простое создание геометрических поверхностей свободных форм. К недостаткам этого подхода можно отнести: больший объем исходных данных, чем при твердотельном описании; модель логически менее устойчива, чем твердотельная, т.е. возможно создание противоречивых конструкций; сложности построения вариаций форм. В заключение этого раздела приведем структуру моделей, описывающих геометрию объектов (рис. 2.3.1). Рис. 2.3.1. Классификация моделей, описывающих геометрию объектов
|