УДК 004.925.84
H. А. Веселов, С. И. Головин
ОБЗОР МЕТОДОВ АВТОМАТИЧЕСКОГО ПОСТРОЕНИЯ ТВЕРДОТЕЛЬНЫХ МОДЕЛЕЙ ОБЪЕКТОВ ПО ИХ ОРТОГРАФИЧЕСКИМ ПРОЕКЦИЯМ
(кафедра автоматизации систем вычислительных комплексов,
лаборатория технологий программирования факультета ВМиК, e-mail: [email protected])
Введение. В последнее время широкое распространение получили системы автоматизированного проектирования (САПР), которые позволяют существенно ускорить процесс создания промышленных изделий и дают возможность проводить их всесторонний анализ, оперируя с трехмерными твердотельными моделями объектов. Однако переход на такие системы затрудняет то, что многие организации работают с инженерными чертежами и не могут себе позволить отказаться от накопленных баз данных. Ручной перевод чертежей в трехмерный вид очень трудоемок и требует высокой квалификации персонала, поэтому в настоящий момент проблема автоматизированного перевода стоит достаточно остро.
Впервые проблему построения трехмерных твердотельных моделей объектов по инженерным чертежам поднял Идесава в 1973 г. [1]. С тех пор было предложено множество подходов к решению этой задачи. Наибольшее распространение получили методы, которые в качестве входной информации используют три ортографические проекции (эти проекции принято называть верхним, фронтальным и боковым видом). Эти методы можно разделить на каркасно ориентированные (B-Rep: boundary representation) и объемно ориентированные (CSG: constructive solid geometry), рассмотрим их более подробно.
Суть каркасно ориентированного подхода заключается в построении так называемой каркасной модели, которая включает в себя только трехмерные ребра, последующем нахождении граней модели и составлении из них самой твердотельной модели. Выделяют следующие шаги: построение каркасной модели, построение граней и построение твердотельной модели.
Объемно ориентированный подход основывается на предположении, что объект можно построить из конечного числа примитивов заданной формы, используя булевы операции. Каждый из этих примитивов, например куб, цилиндр, тор и т.д., при проектировании на три плоскости отображается в три группы ребер, образующих замкнутые циклы. В поисках этих циклов и их сопоставлении и заключается основная идея подхода. Как только такое сопоставление проведено, создается набор элементарных твердотельных фигур, из которых строится итоговая модель.
Целью настоящей статьи является обзор существующих подходов к решению задачи построения трехмерных твердотельных моделей объектов по трем ортографическим видам, их последующий анализ и сравнение для определения возможных направлений дальнейших исследований.
I. Обзор методов.
1.1. Входная информация. Ортографические виды могут быть получены множеством способов: отсканированное изображение; чертеж, сделанный в одной из CAD-систем, и т.д. В качестве составных элементов видов выступают кривые, описываемые алгебраическими уравнениями порядка не выше второго. В некоторых методах [2, 3] помимо самих кривых требуется наличие центральных линий для фигур вращения и эллипсов, подробнее о них будет сказано позже.
1.2. Каркасно ориентированный подход. Выделяют следующие этапы построения твердотельной модели [4, 5]:
• построение каркасной модели;
• выделение граней;
• построение твердотельной модели.
1.2.1. Построение каркасной модели. На этом этапе сначала строятся трехмерные вершины, с их помощью — трехмерные ребра, из которых состоит каркасная модель. Их называют кандидатами-вершинами и кандидатами-ребрами, или для краткости к-вершинами и к-ребрами. Это связано с тем, что некоторые из них не войдут в итоговую модель, а будут отсеяны на более поздних этапах.
Построение к-вершин. К-вершина строится по трем двумерным вершинам, принадлежащим разным видам и удовлетворяющим условиям
\jsiz) - < \jtix) 3}I < е, \jfiy) - 3*{у)\ < £,
где — это двумерные вершины, принадлежащие ортографическим видам, а е — это погреш-
ность чертежа, которая может быть вызвана неточностью при сканировании, погрешностью машинного представления и т.д. Иными словами, если есть тройка вершин, принадлежащих различным видам и имеющих одинаковые проекции на общие оси видов, то им соответствует к-вершина.
Данный подход был предложен еще в [4, 5] и продолжительное время не претерпевал существенных изменений. Его недостатком является то, что в ряде чертежей, содержащих дуги, он неприменим. В [6] был предложен модифицированный метод (метод экстремальных точек), который разбивает дуги на части по их экстремальным точкам, что позволяет корректно работать с чертежами, содержащими любые кривые второго порядка (рис. 1).
Рис. 1
Построение к-ребер. Обозначим построенное на предыдущем этапе множество к-вершин через J. Для построения к-ребер нужно найти, какие пары к-вершин могут быть соединены, и если такие пары существуют, то для них определить уравнения ребер. Уравнения могут быть представлены как в классическом, так и в параметрическом виде [7].
Полный перебор всевозможных пар к-вершин слишком трудоемок, и поэтому рассматривают только те пары, которые соединены ребром или серией ребер с одинаковыми уравнениями хотя бы для одного ортографического вида [6]. При выводе уравнения трехмерного ребра используют либо пятиточечный метод, либо метод сопряженных диаметров.
Пятиточечный метод [8, 9] основывается на том, что трехмерное ребро однозначно определяется по пяти точкам, поэтому помимо крайних точек ребер рассматривают еще три произвольно взятые точки (рис. 2).
Метод сопряженных диаметров [2] заключается в том, что уравнение трехмерного ребра записывают по трем трехмерным точкам и двум сопряженным диаметрам. В [3] была предложена его модификация, использующая матричное представление кривых, что позволяет существенно повысить скорость вычислений.
Пятиточечный метод более медленный по сравнению с методом сопряженных диаметров, но последний требует дополнительной информации на чертежах — центральных линий фигур (рис. 3).
1.2.2. Нахождение кандидатов граней. Под термином "грань" будем понимать часть поверхности, ограниченную замкнутым контуром. Данный этап призван выделить информацию о гранях объекта из его каркасной модели. Рассмотрим два самых популярных подхода к решению этой задачи. Первый опирается исключительно на каркасную модель и называется MIA (Minimum Internal Angle —
Рис. 2
минимальный внутренний угол) [8]. Второй дополнительно использует информацию с ортографиче-ских видов и носит название МТА (Maximum Turning Angle — максимальный угол поворота) [2].
Метод MIA. Данный подход ищет минимальные циклы, состоящие из ребер каркасной модели, причем все они должны удовлетворять одному уравнению поверхности второго порядка. Сначала по определенным правилам находятся три стартовых ребра цикла, затем по ним, если возможно, выводится уравнение поверхности, и дальше отыскиваются следующие ребра, удовлетворяющие этому уравнению. Таким образом, процесс заканчивается, когда замыкается цикл из ребер. В случае если из текущей вершины выходят несколько ребер, удовлетворяющих уравнению поверхности, то предпочтение отдается ребру, угол поворота до которого в заданном направлении (оно определяется при нахождении уравнения поверхности) минимален.
Метод МТА. Особенностью этого метода построения граней объекта является то, что грани строятся из циклов, найденных не непосредственно в каркасной модели, как в предыдущем методе, а на двумерных видах.
Первым этапом является нахождение всех циклов на ортографических видах. Далее в каждом цикле берется пара имеющих общую вершину ребер и проверяется, что их прообразы в каркасной модели тоже имеют общую вершину. Тип и взаимное положение трехмерных ребер однозначно определяют тип поверхности. Потом находятся все ребра каркасной модели, которые принадлежат данной поверхности. Для этого нет необходимости перебирать все ребра каркасной модели, достаточно проверить только ребра, образы которых принадлежат рассматриваемому контуру.
При анализе сложных чертежей может возникнуть ситуация, когда ряд ребер не будет принадлежать ни одной из построенных граней, в таком случае эти ребра удаляются из модели.
Дать однозначный ответ на вопрос: какой метод лучше? — не представляется возможным. В каких-то случаях будет хорошо работать один метод, в каких-то — другой. Можно лишь утверждать, что если восстанавливаемый объект имеет много не пересекающихся в пространстве ребер и в то же время проекции этих ребер имеют много пересечений, то МТА будет существенно проигрывать MIA, но таких чертежей достаточно мало.
1.2.3. Построение твердотельной модели. Для того чтобы окончательно построить твердотельную модель, нужно понять, какие из граней лишние, и определить их ориентацию, т.е. какая из сторон является внешней, а какая — внутренней. Наибольшее распространение получили следующие два представления твердотельных моделей — граничное представление (модель состоит из набора ориентированных граней) и представление в виде иерархии элементарных фигур (модель строится из элементарных фигур, над которыми производятся булевы операции). Аналогичным образом можно классифицировать и методы построения твердотельной модели.
Первый метод использует граничное представление модели [8, 2, 3], он базируется на двух постулатах: 1) каждое ребро должно принадлежать двум различным граням, и его ориентация в этих гранях должна быть различна; 2) грани могут пересекать друг друга только по ребрам, принадлежащим каркасной модели.
Фактически процесс построения твердотельной модели заключается в последовательном включении граней в промежуточную модель и проверке этой модели на соответствие набору эвристических правил, которые основаны на описанных выше постулатах и нужны для ускорения процесса.
Второй метод опирается на представление твердотельной модели в виде набора примитивов, над которыми производятся булевы операции [6]. Он состоит из двух этапов: на первом этапе ищутся примитивы (элементарные твердотельные модели), а на втором этапе для каждого примитива определяется операция, которая должна быть над ним выполнена: либо вычитание примитива из модели, либо его добавление.
Существенным преимуществом этого подхода является то, что он оперирует такими же примитивами, как и большинство систем трехмерного моделирования, что упрощает его интеграцию. Кроме того, данное представление может являться базовым для процесса декомпозиции детали на составные части. Его недостатком является низкая скорость работы.
На этом этапе возможно получение нескольких вариантов модели, каждая из которых будет удовлетворять трем ортографическим проекциям. Решить, какие из них оставить, а какие признать ложными, без использования дополнительной информации невозможно.
1.3. Объемно ориентированный подход. Основным отличием объемно ориентированного и каркасно ориентированного подходов является то, что на всех стадиях последнего подхода работа идет непосредственно с твердотельными моделями, т.е. с объемами. Можно выделить два основных направления: моделирование с разбиением модели на элементарные части [10-12] (так называемые SCG-примитивы) и моделирование с помощью вытягивания контуров с ортографических видов [13].
1.3.1. Моделирование с разбиением на элементарные части. При этом подходе итоговая твердотельная модель представляется в виде иерархии базовых тел предопределенных типов (например, цилиндр, куб и т.д.), над которыми выполняются булевы операции. Процесс построения модели состоит из следующих этапов.
Сначала на каждом ортографическом виде находят все циклы определенных видов (они зависят от типов элементарных тел, из которых конструируется твердотельная модель). На трех ортографических видах ищут тройки связанных циклов (их проекции на общие координатные оси совпадают). По каждой тройке циклов строят базовое тело. На последнем этапе определяют, какую булеву операцию нужно применить для каждого построенного базового тела. Итоговая модель получается путем выполнения этих операций над построенными телами.
Основные сложности возникают при сопоставлении циклов и определении, какие булевы операции нужно выполнять над построенными базовыми элементами. Помимо переборных алгоритмов, которые сужают пространство поиска с помощью учета информации о скрытых линиях (на чертежах выполняются пунктирными линиями) [11, 14], в работе [10] был предложен генетический алгоритм для сопоставления циклов, который дает существенный прирост производительности.
1.3.2. Моделирование с помощью вытягивания контуров. Суть подхода состоит в том, что на каждом ортографическом виде определяют внешний контур, над которым выполняют операцию вытягивания вдоль третьей координатной оси [13]. Таким образом, получают три твердотельных тела, пересечение которых дает промежуточный результат. Это тело проверяют на соответствие ор-тографическим видам, и если эта проверка успешна, то констатируется получение итоговой модели. Если это не так, то переходят к этапу построения разностной модели.
Промежуточную модель проектируют на координатные плоскости и результат вычитают из базовых ортографических видов. Далее, анализируя циклы на полученных видах, определяют, какие из них нужно вытягивать. Разностная модель получается в результате вытягивания этих циклов и выполнения операций пересечения, аналогично первому этапу. Итоговая твердотельная модель получается путем вычитания из промежуточной модели разностной.
Основным недостатком данного подхода является то, что он может быть применим только для построения моделей фигур, ребра которых параллельны осям координат, что следует непосредственно из способа построения, а именно вытягивания.
2. Выводы. Несмотря на разнообразие существующих алгоритмов, ни одна коммерческая система не содержит функциональности по автоматическому построению трехмерной твердотельной модели объекта по его ортографическим проекциям, хотя такие попытки и предпринимались. Это связано с тем, что использование только трех видов не позволяет однозначно построить модель объекта, а трудозатраты, необходимые для выбора нужной модели, сопоставимы с ручным построением. К тому же существующие методы очень чувствительны к потере кривых на чертежах, что также затрудняет их практическое применение.
В последнее время появился ряд работ, которые используют информацию о разрезах [11], но в них применяются лишь объемно ориентированные методы и требуется ручное задание типа сечений, что существенно сужает область их применения. В работе [15] были объединены каркасно и объемно ориентированные подходы. В ней с помощью объемно ориентированного подхода строится промежуточная модель, которая разбивается на области, и уже в рамках каждой области с помощью каркасно ориентированного подхода строится итоговая подмодель. Такой прием обоснован тем, что каркасно ориентированный подход позволяет строить более широкий класс моделей по сравнению с объемно ориентированным подходом, но при этом является и более медленным.
Таким образом, в настоящее время актуальной является разработка методов построения трехмерных твердотельных моделей объектов, которые помимо информации с ортографических видов используют дополнительные источники, такие, как сечения и разного рода нотации, и совмещают в себе лучшие черты объемно и каркасно ориентированного подходов.
СПИСОК ЛИТЕРАТУРЫ
1. Idesawa M. A system to generate a solid figure from three views // Bull. JSME. 1973. 16. P. 216-225.
2. Liu S.-X., Hu S.-M., Sun J.-G. Reconstruction of curved solids from engineering drawings // Computer-Aided Design. 2001. 33. P. 1059-1072.
3. Liu S.-X., Hu S.-M., Sun J.-G. A matrix-based approach to reconstruction of 3D objects from three orthographic views // Proc. of the 8th Pacific Conference on Computer Graphics and Applications. 2000. Hong Kong, China: IEEE Computer Society, 2000. P. 254-259.
4. Wesley M.A., Markowsky G. Fleshing out projections // IBM J. of Research and Development. 1981. 26. N 6. P. 934-954.
5. Wesley M.A., Markowsky G. Fleshing out wire frames // IBM J. of Research and Development. 1980. 24. N 5. P. 582-597.
6. Shin В., Shin Y. Fast 3D solid model reconstruction from orthographic vies // Computer-Aided Design. 1998. 20. P. 171-179.
7. Far in G. Curves and surfaces, computer aided geometric design. N.Y.: Academic Press, 1993.
8. К u о M. H. Reconstruction of quadric surface solids from three-view engineering drawings // Computer-Aided Design. 1998. 30. P. 517-527.
9. Zhang A., Xue Y., Sun X., H u Y. Reconstruction of 3D curvilinear wireframe model from 2D orthographic views // Lecture Notes in Computer Science. ISSU 3037. Springer-Verlag, 2004. P. 404411.
10. Chen K.-Z., Feng X.-A. Solid model reconstruction from engineering paper drawings using genetic algorithms // Computer-Aided Design. 2003. 35. P. 1235-1248.
11. Dimri J., Gurumoorthy B. Handling sectional views in volume-based approach to automatically construct 3D solid from 2D views // Computer-Aided Design. 2005. 37. P. 1370-1387.
12. Aldefeld B. On automatic recognition of 3D structures from 2D representations // Computer-Aided Design. 1983. 15. P. 59-64.
13. Shum S.S.P., Lau W.S., Yuen M.M.F., Yu K.M. Solid reconstruction from orthographic views using 2-stage extrusion // Computer-Aided Design. 2001. 33. P. 91-102.
14. Chen Z., Perng D. B. Automatic reconstruction of 3D solid objects from 2D orthographic views // Pattern Recognition. 1988. 21. P. 439-449.
15. Geng W., Wang J., Zhang Y. Embedding visual cognition in 3D reconstruction from multi-view engineering drawings // Computer-Aided Design. 2002. 34. P. 321-336.
Поступила в редакцию 01.11.06