№ 1 (43) 2013
А. А. Дерягин, аспирант Ижевского государственного технического университета
Моделирование 3D-объектов и сцен на основе использования тетроидной регулярной сетевой модели
В настоящее время для построения моделей пространственных объектов самым распространенным инструментом является модель TIN (Triangulated Irregular Network) — нерегулярная треугольная сеть. Ее достоинства — простота и возможность проектирования объекта любой формы, однако имеются и недостатки. Автором данной статьи предлагаются новые подходы к моделированию.
Введение
К числу недостатков модели TIN можно отнести достаточно большой объем конечной модели, сложность ее обработки, которая сказывается на производительности при работе с моделью, также имеются некоторые проблемы с наложением текстур (рис. 1).
Относительно недавно был предложен новый вариант моделирования сложных пространственных объектов с использованием тетрагональной регулярной сети (TRN-модель) [1-4].
Следует отметить, что сама по себе прямоугольная сеть как модель данных трех-
мерных объектов не является новой. Более того, использование таких моделей исторически предшествовало разработке более развитых моделей, в большей степени связанных с визуально реалистичным рендерингом, с появлением которых модель прямоугольной сети отошла на второй план [5].
Более детальное рассмотрение этих моделей позволяет определить их свойства и особенности, которые придают им новые качества и позволяют эффективно использовать при передаче информации в различных системах, хранении, а также преимущество в реализации некоторых алгоритмов. Причем основной эффект дости-
Рис. 1. Трехмерная TIN-модель и фрагмент ее сети
№ 1 (43) 2013
гается именно за счет регулярности таких моделей.
Модель тетрагональной регулярной сети
Модель тетрагональной регулярной сети (ГЯМ-модель) предполагает, что в плоскости Оху укладывается прямоугольная сеть, состоящая из узлов и связей, образующих квадратные ячейки размером 1х 1 (рис. 2). Количество узлов сети — Н • W, соответственно, количество ячеек — (Н - 1) • ^ - 1).
Таким образом, геометрическое состояние сети определяется тремя матрицами координат узлов сети размером Н х № :
* = [ х], * = [ у], 7 = [
где 1 = 1,2,...,Н, } = 1,2,...,№.
Для каждого элемента матриц связи соответствующего узла сети определяются соседними элементами по строке и столбцу матриц, что определяется индексацией узлов сети. Для образования поверхности трехмерных пространственных объектов необходимо произвести замыкание тетрагональной регулярной сети — образовать склейки ее противоположных сторон.
Из рисунка 3 видно, как образуется форма поверхности трехмерного пространственного объекта. Таким образом можно получить модели и других объектов.
Все пространственные операции над тетрагональными регулярными сетями сводятся к преобразованиям пространства, в котором сеть образует определенную пространственную конфигурацию, и соответствующим перемещениям узлов сетей.
В общем случае такая форма описания позволяет определить любую пластическую деформацию трехмерных пространственных объектов. Однако потребности оперирования трехмерными пространственными моделями предполагают выделение некоторого набора стандартных часто используемых операций — трансляций, ротаций, масштабирований и компрессий.
Трансляции заключаются в их постоянном для всех узлов сети перемещении, параллельном координатным осям, на величину заданного вектора и определяются выражением:
((,у*,?) = т(, сус) [(y,г)] =
= (Х + Сх , У + Су , г + С )
где сх, су и — величины трансляции соответствующих точек х, у и г.
Ё £
а б
Рис. 2. Тетрагональная регулярная сеть: индексация узлов сети (а); индексация ячеек (б)
77
№ 1 (43) 2013
1 I
о со
!и
0
1
о §
о
&
и
со
о
«
л
! <и
со §
и о
§
и =8
СО р
мз
о §
и
0
!
1
д
Рис. 3. Формообразования сферы и тора с использованием TRN: последовательная склейка сферы (а, в, д); склейка тора (б, г)
Ротации заключаются в их постоянном для всех узлов сети повороте вокруг заданной оси на величину заданного угла и определяются выражением:
^ х *
у
= R((Vx,Vy,Vz),а)
х
у
х • (cos а + (1 - cos а) • Vx2) + у • ((1 - cos а) • Vy • Vx + sin а • Vz) + г • ((1 - cos а) • Vz • Vx - sin а • Vy)
х • ((1 - cos а) • Vx • Vy - sin а • Vz) + у • (cos а + (1 - cosа) • Vy2) + г • ((1 - cos а) • Vz • Vy + sin а • Vx)
х • ((1 - cos а) • Vx•Vz + sin а • Vy) + у • ((1 - cosа) • Vy • Vz - sinа • Vx) + z• (cos а + (1-cos а)^ Vz2)
78
б
а
в
г
*
7
№ 1 (43) 2013
где V — единичный вектор, задающий направление оси, вокруг которой происходит вращение.
Масштабирования предполагают перемещения всех узлов сети вдоль линии, соединяющей их с началом координат, на величину, пропорциональную их расстоянию до начала координат, с заданным коэффициентом пропорциональности, и определяются выражением:
(х*, у *, г *) = й (к) [(х, у, г)] = (кх, ку, kz),
где й (к) — функция масштабирования, к — коэффициент масштабирования.
Компрессии — это перемещения всех узлов сети вдоль линии, проходящей через них и перпендикулярной заданной оси координат, на величину, пропорциональную их расстоянию до этой оси координат, с заданным коэффициентом пропорциональности, и определяются выражением:
— для компрессии относительно аппликаты:
(х *, у *) = С (к )[(х, у)] = (кх, ку);
— для компрессии относительно ординаты:
(х *, г') = С (к )[(х, г ) = (кх, кг);
— для компрессии относительно абсциссы:
(г', у ') = С (к )[( у )] = (кг, ку),
где для каждого выражения С (к) — функция компрессии, к — коэффициент компрессии.
Непространственные операции над сетями
Непространственные операции над сетями — склейки и замыкания сетей сводятся к модификации их графов с помощью соответствующих характеристических матриц. При этом значения элементов матриц
£
не изменяются, что говорит о неизменности с значений координат узлов в пространстве. Но это не означает, что топология их соеди- ^ нений не может измениться, поскольку сов- ^ падение узлов означает совпадение значений их координат и, соответственно, равенство соответствующих элементов матриц сети. Таким образом, корректность задания топологии поверхности объекта должна проверяться совпадением значений координат склеенных узлов.
Локальные склейки узлов
Для каждого элемента матриц сети связи соответствующего узла сети определяются соседними элементами по соответствующим строке и столбцу матриц. В результате деформации возможна склейка узлов — совпадение конечных значений их координат. При этом возникают вопросы корректного представления геометрических и топологических особенностей поверхности на ее различных участках.
Поскольку якобиан преобразования может вырождаться в ноль, в результате деформации в областях нулевых значений якобиана происходит склейка соседних узлов, что означает равенство значений их координат после деформации сети. Склейки могут быть локальными, определяющими сингулярные элементы структуры поверхности тела (вершины и ребра), и нелокальными, описывающими замыкания сети на поверхности тела. Учет склеек узлов производится с помощью характеристических матриц инциденций размера 2т х п: С = [с], где i = 1,2,...,2т, } = 1,2,...,п, а элементы матрицы с принимают значение 1, если соответствующая связь подвергается склейке, или 0 — при отсутствии склейки.
На рисунке 4 показаны все возможные локальные склейки узлов сети, образуемые путем соединения смежных на сети узлов при обходе как вокруг отдельного выделенного узла, так и по связям, ограничивающим отдельную выделенную ячейку. Также указаны характеристики локальных склеек — узловой
79
-ч ПРИКЛАДНАЯ ИНФОРМАТИКА
№ 1 (43) 2013 ' -
X
X 2 ^
§
и =8
СО р
мз
о §
и
СО
0
1
I
ж з
Рис. 4. Локальные склейки узлов сети: склейка одной связи — типы п (1), c (1) (порядок узла — 2; 2 вида) (а);
склейка двух связей — типы п (2,1), c (2,0) (порядок узла — 3; порядок связи — 2; 4 вида) (б); склейка двух связей — тип п (2,2) (порядок узла — 3; 2 вида) (в); склейка трех связей — тип п (3) (порядок узла — 4; порядок связей — 2; 4 вида) (г); склейка четырех связей — тип п (4) (порядок узла — 5; порядок связей — 2; 1 вид) (д); склейка двух связей — тип c (2,1) (порядок узлов — 2; порядок связи — 2; 2 вида) (е); склейка трех (четырех) связей — тип c (3) (порядок узла — 4; 1 вид) (ж);
несетевая склейка двух связей — тип c (1,2) (порядок узла — 2; порядок связей — 2; 2 вида) (з)
б
а
в
г
д
е
80 у
№ 1 (43) 2013
тип п(а, в) (характеристики узлов, склеиваемых и смежных с данным узлом при обходе вокруг него: а — количество склеиваемых узлов, в — индекс смежности узлов, склеиваемых с указанным узлом), ячеистый тип с (а, в) (характеристики склеиваемых связей ячейки при обходе вокруг нее: а — количество склеиваемых связей, в — индекс смежности склеиваемых связей), а также порядок узла (количество склеиваемых узлов).
Таким образом, элементам характеристической матрицы соответствуют связи сети. При этом нечетным строкам матрицы соответствуют горизонтальные связи сети, четным — вертикальные связи, последний столбец матрицы образуют связи, формирующие циклическое замыкание по каждой строке, последняя строка образована связями, формирующими циклическое замыкание по каждому столбцу.
Характеристическая матрица является, по существу, структурой данных, описывающей топологические свойства поверхности тела, полученного в результате сингулярной деформации сети.
Если учесть вероятные ориентировки локальных склеек всех возможных типов, можно определить полную номенклатуру, которая образуется 18 типами локальных склеек.
Замыкания сети
Для образования поверхности трехмерных пространственных объектов необходимо произвести замыкание тетрагональной регулярной сети — образовать склейки ее противоположных сторон. На рисунке 5 представлены основные типы замыканий сети, при которых развернутая на поверхности трехмерного объекта сеть образует замкнутую поверхность.
Как очевидно из рисунка, все замыкания формируются путем комбинирования определенного и различного количества локальных склеек. Сами склейки описываются в терминах характеристической матрицы.
Из рисунка видно, как образуется форма поверхности трехмерного пространственно-
£
го объекта. Так для двухполюсного сферои- с дального замыкания образуется разграфка || поверхности сферы, подобная разграфке ли- ^ ниями параллелей и меридианов. На рисунке ^ показаны также частные случаи двухполюсного сфероидального замыкания — цилиндрическое (в частном случае — призматическое) и коническое (в частном случае — пирамидальное). Очевидно, что эти виды топологически эквивалентны (в отличие, например, от тороидального замыкания).
Несколько иной более сложный тип замыкания сети характерен для объектов, имеющих форму куба. Наложение на их поверхность тетрагональной сети приводит как минимум к образованию четырех сингулярных вершин с различным числом склеек узлов сети (рис. 6).
Это означает, что топология соответствующей сети после ее деформации, описываемая характеристической матрицей, отличается от топологии сетей, показанных ранее.
Итак, можно говорить о «мягкой» и «жесткой» деформациях сети. «Мягкая», или регулярная, деформация образуется в результате гладкого непрерывного (эластичного) преобразования пространства, при котором склейки узлов не производятся. В этом случае возможно получение деформированных ячеек сети в плоской трапецеидальной форме, что, по существу, означает возможность огранки гладких поверхностей четырехугольными плитками. «Жесткая», или сингулярная, деформация сети приводит к нарушению ее исходной топологии за счет склеек узлов и образованию таких сингулярных элементов, как ребра и вершины.
Образование замкнутой поверхности из плоской сети может сопровождаться образованием сингулярных точек — полюсов и точек замыкания, в которых происходят склейки целых групп узлов. Существует немалое количество трехмерных пространственных объектов, форма поверхности тел которых характеризуется таким сочетанием граней, ребер и вершин, при котором доля подобных точек весьма значительна.
№ 1 (43) 2013
№ 1 (43) 2013
д
Рис. 5. Замыкания сети: сфероидальное двухполюсное (а); сфероидальное однополюсное (б); цилиндрическое (призматическое) (в); коническое (пирамидальное) (г); тороидальное (д)
№ 1 (43) 2013
Рис. 6. Кубическое замыкание сети
1 I
о со
!и
0
1
о §
о
&
и
со
о
«
л
! <и
со §
и о
§
и =8
СО р
мз
о §
и
0
!
1
Операции форматирования сетей
Для оперирования тетрагональными регулярными сетями необходимыми являются также непространственные операции их форматирования — реформатирование и конкатенация сетей.
Операция реформатирования очень проста и сводится к тиражированию в сети некоторых ее узлов, соответствующих какому-либо столбцу матрицы сети, или какой-либо ее строке, как показано на рис. 7.
Поскольку тиражированные узлы совпадают, будут совпадать и обе сети (исходная и реформатированная) после деформирования. Операция реформатирования имеет вспомогательный характер и служит для уравнивания размеров сетей при выполнении операции конкатенации над ними.
Другая непространственная операция конкатенации сетей (рис. 8) заключается в их соединении (сшивке). Конкатенация
может производиться вдоль любой их стороны, как в горизонтальном, так и в вертикальном направлении. Очевидно, что для соблюдения условий корректности сшиваемые стороны сетей должны иметь одинаковые размеры (если это условие не выполняется, необходимо произвести уравнивание соответствующих размеров сетей с помощью операции их реформатирования). При этом важен порядок конкатенации, а именно, следует различать первую конкатенируемую сеть, правая или нижняя стороны которой подвергаются сшивке, и вторую конкатенируемую сеть, в которой подвергаются сшивке левая или верхняя стороны.
Операция конкатенации сетей нужна для группирования пространственных объектов, что позволяет образовать сложные агрегированные пространственные объекты (сцены) и в дальнейшем оперировать с ними как
х0
х1 х2 хЗ
х4 х5
у0 У1 у2 уЗ у4 у5
г
— у0
х0
х1 х2
хЗ
х4 х5 хб х7
— у1
— у2
— уЗ
— у4
— у5
у0 У1 у2 уЗ у4 у5
х8 г — у0
— у1
— у2
— уЗ
— у4
— у5
х0 х1 х2 хЗ х4 х5
х0
х1 х2
хЗ
х4 х5 хб х7
х8
аб Рис. 7. Реформатирование сети: исходная сеть (а); реформатированная сеть (б)
84
№ 1 (43) 2013
хО х1 х2 хЗ х4 х5 2
хО х1 х2 хЗ х4 х5
уо
У1 у2 уЗ у4 у5
уо у1
у2
уЗ
у4
у5 2
ХО ХО
Х1 Х1
Х2 Х2
ХЗ ХЗ
х4 х4
х5 х5
-- уО уо
-- у1 У1
-- у2 у2
-- уЗ уз
-- у4 у4
-- у5 у5
уб
2
-- уО У7
-- у1 у8
-- у2 у9
-- уЗ у10
-- у4 у 11
2
-- у5
уо
--- у1 --- у2
--- уЗ --- у4
У5
--- уб --- у7
---У8
--- у9 у10 ...у11
хО х1 х2 хЗ х4 х5
хО х1 х2 хЗ х4 х5
б
Рис. 8. Конкатенация сетей: исходные сети (а); результат конкатенации (б)
с единым целым, притом допускается неограниченное количество уровней иерархии группировок.
В простейшем случае возможна единственная группировка, объединяющая все пространственные объекты в единственную сцену. В более сложных случаях группировка может использоваться для образования моделей (в том числе интерактивных) сложных объектов, поведение которых определяется взаимодействием составляющих их простых объектов (которые, в свою очередь, сами могут иметь составной характер). Существенно то, что при конкатенации сетей между соответствующими им пространственными объектами образуется геометрическая связь (перемычка, нить; рис. 9),
которой могут быть приданы определенные физические свойства (например, натяжение, упругость, твердость и т. д.), характерные для создаваемой модели.
Заключение
Автором впервые проведены исследования, в результате которых разработаны модели данных трехмерных пространственных объектов и составляемых ими сцен, основанные на использовании тетрагональных регулярных сетей, а также методы их представления, что вносит существенный вклад в решение задач повышения возможностей в различных системах, в ходе которых:
85
Ё
а
№ 1 (43) 2013
Рис. 9. Образование связи при конкатенации сетей
— определены свойства и характеристике ки моделей данных трехмерных пространст-Ц венных объектов и составляемых ими трехмерных сцен; § — разработана тетрагональная регулярно ная сетевая модель данных трехмерных пространственных объектов на основе исполь-^ зования полей деформаций пространства, Ц учета отношений смежности между узлами
<и
регулярной сети и инциденций между смеж-■с ными ее связями;
§ — исследованы возможности опери-Ц рования трехмерными пространственны-§ ми объектами на основе использования не-| пространственных операций склейки узлов 2 и замыкания тетрагональных регулярных се-| тей и пространственных операций трансля-<5 ций, ротаций, масштабирований и компресса сий;
| — предложен способ унифицированно-§ го описания процессов формообразова-Ц ния, анимационных преобразований, проецирования и визуализация трехмерных § пространственных объектов, как результа-<5 та действия полей деформаций пространства, а также пространственных операций трансляций, ротаций, масштабирований | и компрессий тетрагональных регулярных £§ сетей;
¡^ — разработаны способы оперирования моделями данных трехмерных пространст-?! венных объектов, обеспечивающие высо-
кую производительность вычислительного процесса и снижение используемых ресурсов памяти.
Таким образом, использование тетро-идной регулярной сетевой модели данных позволяет ликвидировать многие принципиальные трудности, обеспечивая возможность получения более высокоуровневого иерархического представления пространственных объектов и сцен.
Список литературы
1. Елкин С. Л. Построение тетрагональной регулярной пространственно деформируемой сетевой модели трехмерных объектов // Математическое моделирование и интеллектуальные системы: Сб. науч. тр. ИжГТУ. 2004. № 1 (3). Ижевск: Изд-во ИЭ УрО РАН, 2004. — С. 27-29.
2. Елкин С. Л., Лялин В. Е. Моделирование трехмерных объектов на основе тетрагональной регулярной пространственно деформируемой сети // Проблемы техники и технологии телекоммуникаций: Материалы Пятой Между-нар. научн.-техн. конф. Самара: Изд-во ПГАТИ, 2004. — С. 39-41.
3. Елкин С. Л., Мурынов А. И. Тетрагональная регулярная пространственная сеть как модель описания геометрико-топологических пространственных объектов размерности 3 // Информационные технологии в науке, социологии, экономике и бизнесе: Материалы 31 Междунар. конф. Украина, Крым, Ялта; Гурзуф // Приложение к журналу «Открытое образование», 2004. — С. 84-86.
4. Иванов В. П., Батраков А. С. Трехмерная компьютерная графика. М.: Радио и связь, 1995. — 224 с.
5. Лялин В. Е., Мурынов А. И, Лепихов Ю. Н., Шибаева И. В. Модели представления и кодирования пространственных объектов для передачи изображений и трехмерных сцен по цифровым каналам связи // Информационные технологии в науке, образовании, телекоммуникациях и бизнесе: Материалы 31 Междунар. конф. Украина, Крым, Ялта; Гурзуф // Успехи современного естествознания. № 5. 2004. Приложение 1. М.: Академия естествознания. — С. 123-125.
86 у