УДК 004.946
И.Е. Ландовская
аспирант,
кафедра автоматизированных систем управления, ФГБОУ ВПО «Новосибирский государственный технический университет»
В.В. Ландовский
канд. техн. наук, доцент, кафедра автоматизированных систем управления, ФГБОУ ВПО «Новосибирский государственный технический университет»
В.Д. Фроловский
д-р техн. наук, профессор, кафедра автоматизированных систем управления, ФГБОУ ВПО «Новосибирский государственный технический университет»
ВЗАИМОДЕЙСТВИЕ ТКАНЫХ МАТЕРИАЛОВ С МНОГОГРАННЫМИ ТВЕРДОТЕЛЬНЫМИ ОБЪЕКТАМИ ПРИ КОМПЬЮТЕРНОМ МОДЕЛИРОВАНИИ
Аннотация. В статье рассматривается моделирование изделий из тканых материалов на основе метода частиц. Описан алгоритм поиска пересечений дискретной модели ткани с твердотельными многогранными объектами, представленными совокупностью треугольных граней. Предложен алгоритм моделирования движения частиц тканого материала в процессе взаимодействия с многогранным объектом. Приведены результаты моделирования.
Ключевые слова: моделирование тканых материалов, твердотельный многогранный объект, поиск столкновений, метод частиц.
I.E. Landovskaya, Novosibirsk State Technical University
V.V. Landovsky, Novosibirsk State Technical University
V.D. Frolovsky, Novosibirsk State Technical University
THE INTERACTION BETWEEN FABRIC AND MULTISIDED SOLID OBJECTS DURING COMPUTER
SIMULATION
Abstract. The simulation of the products made from fabric based on particle method is considered in the paper. Search algorithm of the fabric discrete model crossing with solid objects represented as an array of triangular facets is described. The simulation algorithm of the fabric particle motion during the interaction with multisided objects is proposed. The results of simulation are presented.
Keywords: fabric simulation, multisided solid object, collision search, particle method.
При детальном рассмотрении тканого материала можно заметить, что полотно представляет собой пространственную сетку, образованную переплетением двух взаимно перпендикулярных систем нитей в определенной последовательности. Нити, идущие вдоль полотна, называют основой; нити, расположенные поперек полотна - утком. Поэтому при моделировании на компьютере тканый материал рассматривают как систему взаимодействующих частиц (узлов), которые размещены в точках пересечения нитей основы и нитей утка [3]. На рисунке 1 представлена дискретная модель ткани.
Движение всей системы можно описать обобщенными перемещениями:
г, (t) = {х, (t), y, (t), z, (t)}, где xj,yj,zj - координаты частицы в трехмерном пространстве, t- время.
На каждом временном слое ищутся положения узлов в пространстве. При этом каждая из частиц обладает некоторой массой, находится в гравитационном поле, взаимодействует с окружающей средой и соседними частицами [4].
Рисунок 1 - Дискретная модель ткани
Для решения системы следует воспользоваться схемой с перешагиванием. Это обусловлено тем, что для воспроизведения на компьютере реального поведения материала, число частиц в моделируемом полотне должно быть велико, и к тому же каждое дополнительное вычисление силы требует больших временных затрат [2]. Схема с перешагиванием является методом второго порядка точности и в сравнении с классическим явным методом Эйлера обладает большей устойчивостью, что позволяет на порядок увеличить шаг интегрирования:
уп+1 =уп + ЬМ (гп ,уп),
Гп+1 = Гп + Ьпп+1,
где гп и пп - вектора положений и скоростей частиц на п-ом шаге интегрирования, Ь - шаг интегрирования, Р (г ,п) - вектор-функция, описывающая действие внутренних и внешних сил на ткань, М -матрица инерции - диагональная матрица, описывающая распределение масс частиц ткани.
Рисунок 2 - Пример поверхности объекта
В процессе сборки изделия происходит взаимодействие сетки, имитирующей материал с твердыми поверхностями объекта, вокруг которого происходит сборка. При этом поверхность объекта представляет собой конечный набор точек, которые являются вершинами составляющих его треугольных граней (рис. 2) [1]. Чтобы имитировать толщину ткани, частица, лежащая на поверхности объекта, должна отстоять от него на величину, равную толщине моделируемого материала и, естественно, не принадлежать какой-либо грани объекта или не находиться внутри него.
После каждого шага интегрирования наступает этап, на котором определяется, взаимодействовала ли какая-нибудь частица ткани с какой-либо гранью объекта. Если в некоторый
момент времени частица пересекла грань объекта, то необходимо скорректировать ее положение и скорость. Таким образом, основной задачей на данном этапе является поиск столкновений, то есть пересечений траекторий движения частиц ткани с гранями твердотельного объекта. Процедура проверки столкновений является достаточно ресурсоемкой задачей, на которую уходит большая часть времени моделирования.
Для того чтобы ускорить поиск пересечений частиц ткани с гранями объекта разобьем процесс проверки на несколько основных этапов. Первый этап заключается в том, что вокруг объекта строится параллелепипед, грани которого параллельны координатным осям и проходят через точки объекта, имеющие наибольшее и наименьшее значение по рассматриваемой оси. То есть полученный параллелепипед является областью всего объекта (рис. 3а). Второй этап предполагает разбиение области объекта на заданное количество ячеек - равных параллелепипедов, грани которых параллельны осям координат (рис. 36). Для каждой ячейки составляется список граней, входящих в нее. В зависимости от размеров грани, она может принадлежать как одной, так и нескольким смежным ячейкам. Принадлежность грани объекта той или иной ячейке можно определить, исходя из положения ее вершин.
а) б)
Рисунок 3 - Пример разбиения области объекта на ячейки
ъ
Рисунок 4 - Определение номера ячейки для частицы с координатами (х, у, г)
Проверка пересечения траектории движения частицы ткани с гранями объекта происходит следующим образом: на первом этапе определяется, находится ли рассматриваемая частица ткани внутри параллелепипеда, являющегося областью объекта в целом. Если частица находится внутри, то осуществляется переход ко второму этапу, иначе делается вывод, что рассматриваемая частица ткани не пересекла ни одну грань объекта, и проверка завершается. На втором этапе проверки происходит определение конкретной ячейки области объекта, в котором находится частица ткани. Так как все ячейки являются равными между собой параллелепипедами, то, зная координаты частицы ткани и координаты начала области разбиения объекта, без труда можно вычислить номер ячейки, в которой располагается частица материала по каждой из осей (рис. 4).
Следует отметить, что чем меньше граней попадает в одну ячейку, тем быстрее происходит поиск конкретной грани объекта, с которой произошло столкновение частицы ткани. Но в то же время размер ячеек должен быть таким, чтобы не превышать размеров граней объекта и расстояние, которое частица ткани преодолевает за один шаг интегрирования.
а) б) в)
Рисунок 5 - Движение частицы ткани при столкновении с гранью объекта
После нахождения грани, с которой произошло столкновение данной частицы, следует определить координаты точки их пересечения (рис. 5а), затем переместить частицу относительно точки пересечения так, чтобы она снова оказалась вне объекта. Возврат производится по траектории движения частицы так, чтобы она отстояла от поверхности грани на величину, соответствующую толщине ткани ТЬ (рис. 56). Помимо положения необходимо также изменить и скорость данной частицы. Теперь на эту частицу налагаются особые условия: пока она будет находиться в области пересеченной грани, сила Ём, действующая на нее, будет вычисляться
как проекция результирующего вектора силы на поверхность грани (рис. 5е). Тем самым, во-первых, исключается проверка столкновений этой частицы со всеми остальными гранями объекта, а во-вторых, исключаются повторные столкновения частицы и данной грани, а, следовательно, ее возврат на поверхность объекта. Если на следующем шаге интегрирования частица оказалась вне области ранее пересеченной грани, то проверка переходит к первому этапу -поиску пересечений с областью всего объекта. Если теперь окажется, что частица пересекла другую грань объекта, то при поиске столкновений на следующем шаге интегрирования будет происходить проверка уже с новой пересеченной гранью. Если частица не столкнулась ни с одной из граней на данном шаге интегрирования, то на новом шаге проверка столкновений будет начинаться с проверки пересечения данной частицей области всего объекта. Такой алгоритм будет действовать для каждой частицы ткани все время, пока происходит моделирование, и для каждой частицы будет сохраняться номер грани объекта, с которой она взаимодействовала на предыдущем шаге интегрирования.
В таблице 1 приведены результирующие данные по времени моделирования сборки двух различных изделий на манекенах с разным количеством граней. Моделирование проводилось с использованием процессора Intel core ¡7-4770 микроархитектуры haswell.
Таблица 1 - Сравнение результатов времени моделирования
Кол-во частиц Кол-во граней Кол-во итераций Кол-во ячеек вдоль осей x, y, z Время, с
32500 4800 500 1х1х1 3000
32500 4800 500 5х5х5 70
32500 4800 500 15х30х15 28
15000 8350 150 1х1х1 600
15000 8350 150 25х25х25 13
На рисунке 6 показан результат моделирования сборки изделия на поверхности манекена типовой женской фигуры, состоящего из 4800 граней.
Рисунок 6 - Результаты сборки изделия на поверхности манекена
В результате применения описанных выше алгоритмов не только значительно уменьшается время моделирования сборки изделия на поверхности твердотельного объекта, но и на качественном уровне достигается повышение реалистичности получаемых итоговых результатов.
Список литературы:
1. Ландовский В.В. Моделирование взаимодействий ткани с твердыми многогранными объектами // Сборник научных трудов НГТУ. - 2006. - № 2 (44). - С. 53-58.
2. Хокни Р. Численное моделирование методом частиц: пер. с англ. / Р. Хокни, Дж. Ист-вуд. - М.: Мир, 1987. - 640 с.
3. Breen D.E. A physically based model of woven cloth / D.E. Breen, D.H. House // Visual Computer. - 1992. - June (№ 8 (5-6)). - P. 264-277.
4. Frolovsky V.D., Landovsky V.V. Modeling of fabric based on particles method / V.D. Frolovsky, V.V. Landovsky // Proceedings of the International Forum isiCAD-2004. - Novosibirsk: Ledas Ltd, 2004. - P. 224-229. [Моделирование ткани методом частиц].