Научная статья на тему 'Проблемы взаимодействия динамических объектов в трехмерном пространстве'

Проблемы взаимодействия динамических объектов в трехмерном пространстве Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
300
81
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
"MAN-CLOTHING" SYSTEM / АЛГОРИТМЫ / МОДЕЛИРОВАНИЕ / ТРЕХМЕРНАЯ ГРАФИКА / СИСТЕМА "ЧЕЛОВЕК-ОДЕЖДА" / ALGORITHM / MODELING / THREE-DIMENSIONAL GRAPHICS

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Шалмина Ирина Ивановна, Шевченко Владимир Александрович, Одинец Сергей Сергеевич

В статье рассматриваются варианты представления трехмерных объектов в трехмерном пространстве в целях увеличения производительности виртуальных моделей. В качестве базовой модели используется система «человек-одежда». Предложена структура связи геометрического представления и зависимость ее от физических свойств.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Dynamic objects interaction problems in three-dimensional space

The article discusses options for presentation of three-dimensional objects in three-dimensional space in order to increase performance of virtual models. «Man-clothing» system has been used as a base model. There is proposed the structure of communication geometric representation and its dependence on physical properties.

Текст научной работы на тему «Проблемы взаимодействия динамических объектов в трехмерном пространстве»

ющего белыми по сравнению с классом игрока, играющего черными. Сравним ряды 2 на рис. 4 и на рис. 5. В первом случае при игре среднего игрока со слабым игроком точность оценки вершин была низкой. Во втором случае повышается точность оценки вершины 1. Таким образом, для приемлемой оценки отдельных ситуаций необязательно иметь сильных игроков. Управляя соотношением силы игроков можно достичь приемлемых оценок заранее заданных ситуаций. Например, в одном из экспериментов показано, что игра равных игроков средней силы дает относительно точные оценки вершины 0,5 (ничья).

Заключение. Многие игры являются готовыми моделями процессов, происходящих в реальной жизни. Поэтому они могут быть экспериментальной базой в различных исследованиях. Например, развитие шахмат является хорошей моделью информационного процесса, направленного на получение объективных оценок различных ситуаций (позиций). В [2, 3], а также в представляемой работе показано, что имитационное моделирование матричных игр и шахмат позволяет сравнивать свойства игроков и применяемых ими стратегий не только с традиционной точки зрения эффективности, оцениваемой величиной приза, количеством набранных очков, но и с точки зрения возможности получения оценок ситуаций, близких к объективным и даже к абсолютным. Результаты имитации игр позволяют лучше понять реальные информационные процессы, расширяют возможности конструирования игр (например, деловых)

для определения оценок ситуаций (состояний) исследуемых процессов.

Библиографический список

1. Джон С. Хэммонд. Умный выбор: как научиться принимать правильные решения / Джон С. Хэммонд, Ральф Л. Кини, Говард Райффа: пер. с англ. — Новосибирск : Сиб. унив. изд-во, 2007. — 187 с.

2. Пуртов, А. М. Имитация процессов принятия решений / А. М. Пуртов // Имитационное моделирование. Теория и практика (ИММОД-2007) : материалы конференции : в 2 т. — СПб., 2007. — Т. 2. — С. 169-173.

3. Пуртов, А. М. Имитация матричных игр как метод анализа практических стратегий принятия решений / А. М. Пуртов, О. Г. Чанышев // Омский научный вестник. — 2013. — № 1 (117). — С. 229-234.

4. Каспаров, Г. Шахматы как модель жизни / Гарри Каспаров // — М. : Эксмо, 2007. — 352 с.

5 Гик, Е. Я. Математика на шахматной доске /Е. Я. Гик // — М. : Наука, 1976. — 177 с.

ПУРТОВ Андрей Михайлович, кандидат технических наук, доцент (Россия), старший научный сотрудник лаборатории Методов проблем преобразования информации ОФ ИМ СО РАН. Адрес для переписки: andr.purtov@yandex.ru

Статья поступила в редакцию 04.06.2014 г. © А. М. Пуртов

УДК 004.021 И. И. ШАЛМИНА

В. А. ШЕВЧЕНКО С. С. ОДИНЕЦ

Омский государственный институт сервиса

ПРОБЛЕМЫ ВЗАИМОДЕЙСТВИЯ ДИНАМИЧЕСКИХ ОБЪЕКТОВ В ТРЕХМЕРНОМ ПРОСТРАНСТВЕ

В статье рассматриваются варианты представления трехмерных объектов в трехмерном пространстве в целях увеличения производительности виртуальных моделей. В качестве базовой модели используется система «человек—одежда». Предложена структура связи геометрического представления и зависимость ее от физических свойств.

Ключевые слова: алгоритмы, моделирование, трехмерная графика, система «человек—одежда».

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

комплексы, предназначенные для построения мультимедийных ресурсов, справляются с данной задачей без проблем, так как они привязаны на программном уровне к мэйнфрэймам, обладающим гораздо большей вычислительной мощностью по сравнению со стандартным настольным компьютером [1, 2].

1Н I ™ и 1 Г Нт* I

: I \

I 1

Я У: € 7—\ I 1 ^ {

Рис. 1. Преобразование пересечений нитей в структурную решетку

Проблема определения коллизий тривиальна в двумерном пространстве, здесь задействованы лишь границы геометрических объектов. Для каждой линии объекта заводится функция обработчик и из приравнивания уравнений кривой находятся двумерные координаты точки пересечения. В трехмерном моделировании можно использовать данную технику: поверхность геометрического тела разделяется на горизонтальные и вертикальные кривые с определенно заданым в этой системе шагом. Для каждой кривой можно описать уравнение, и далее используется подход, описаный выше. Чтобы обеспечить правдоподобное отображение геометрического тела в пространстве, необходимо сводить шаг разверстки разбиения на кривые к минимуму [3]. Обработка коллизии одного предмета с другим потребует высокой вычислительной мощности, так как для определения точки столкновения объектов придется в цикле производить полный обход всех кривых в системе. Конечно, нет необходимости в цикле обхода задействовать все объекты системы, а можно ограничиться лишь теми объектами, которые в данный момент времени могут двигаться и совершать коллизии. Полный обход кривых на рядовом компьютере займет значительное время ввиду сопоставления уравнения каждой кривой одного объекта коллизии со всеми кривыми другого. Плюс, в системе с воздействием внешних сил уравнение каждой кривой будет представлять из себя комплексную функцию с несколькими параметрами. Данные требования точности делают практически невозможным визуализацию трехмерной композиции в реальном времении требуют бо;чшой объем оперативной памяти и затраты по времени на визуализацию.

Другой и самый распространенный подход к трехмерной визуализации деформируемых дел — это визуализация по независимым точкам [4]. Как и в предыдущем случае, поверхность геометрического тела в статичном положении разбивается на решетку путем пересечения перпендикулярных линий с заданым в данной системе шагом разверстки, обычно шагом разверстки принимается расстояние между пересечением продольной и поперечных линий (рис. 1). В каждое пересечение взаимно перпендикулярных линий задает точку на поверхности, и эти точки сохраняются в оперативной памяти, какая модель поверхности. Каждая точка представляет собой структуру из трехмерной координаты и силами взаимодействия с восемью соседними по поверхности точками. После обновления позиций объектов в пространстве инициируется цикл обхода, в котором вычисляются расстояния одной точки объекта до точек другого объекта, и если одна точка оказывается на расстоянии, достаточном, чтобы

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

В моделировании в реальном времени в сфере легкой промышленности необходимо использовать метод разбиения поверхности на точки, так как в таком случае можно довольно гибко манипулировать поверхностью с помощью воздействия сэмули-рованных сил окружающей среды. В данном случае можно применить такие параметры ткани, как растяжимость и драпируемость в качестве параметров закона Гука, определяющего напряжение и деформируемость определенной среды. Но характерным свойством ткани в трехмерном пространстве также является ее самопересекаемость, когда часть поверхности материала накладывается на саму себя. Чтобы определить с какой именно стороны происходит наложение, и реакция других слоев необходимо задавать вектор нормали для каждого узла решетки, он збдтетсе в самом ночале моделирования при нахождении поверхности в состоянии, в котором на него не действуют никакие сторонние силы. Для узла на поверхности линия ее вектора нормали будет совпадать с линией действия силы реакции опоры в данной точке. При коллизии точек с разнонаправленными векторами нормали определить видимую с позиции камер сторону поверхности ткани, которую нужно отображать пользователю. Это делается путем сравнения, какая точка в коллизии находится на ближайшем расстоянии к камере наблюдения в системе. После того как видимая поверхность определена, необходимо предотвратить попадания узлов решетки невидимой поверхности. Этого можно достичь, просто сокрыв поверхность коллизии от пользователя, но это будет неправильным с точки зрения физического взаимодействия ткани, поэтому можно сэмулировать ситуацию таким образом, что поверхности коллизии будут находиться в одной плоскости, в таком случае к обеим поверхностям можно применить силу трения в одной плоскости, при этом закрасив поверхность пересечения видимым цветом.

Рис. 2. Трехмерная модель человека, представленная в геометрическихпримитивах

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

Рассмотрим внешние объекты, с которыми может пресекаться ткань. Если в первую очередь важна производительность, а не качество, то можно ограничиться простыми геометриями: капсулы, сферы, прямоугольники и плоскости. К примеру, художник вписывает в модель героя 10 — 20 капсул, так что они покрывают тело персонажа и привязаны к каркасу, по которому идет анимация. Таким образом, физика забывает о сложных геометриях и все тесты на пересечение происходят только с этими капсулами, хотя сам герой представляет собой набор из триангулированных сеток сложной геометрии. В чем плюсы такого подхода:

— для того, чтобы понять, пересеклась ли частица ткани с объектом, достаточно провести простейший геометрический тест, к примеру, точка — капсула;

— в результате теста известна глубина проникновения и нормаль к поверхности в точке проникновения. Данные позволяют существенно упростить алгоритм разрешения пересечений;

— алгоритм легко распараллеливается, достаточно просто поделить массив вершин между вычислительными ядрами.

Главным минусом такого подхода является качество, так как вписанные простые объекты не точно

отражают сложную визуальную геометрию объекта сцены, который одет в физически моделируемую ткань. Разрешение пересечений в данном подходе выглядит достаточно просто: частица ткани выталкивается на поверхность тела и далее меняется значение скорости этой частицы с учетом ряда фак-торов:

— нужно ли скольжение вдоль поверхности?

— нужно ли прилипание в данный момент?

— нужен ли отскок под заданным углом?

Рассмотрим ситуацию, когда важно качество, а

не скорость. В этом случае ничего другого не остается, как тестировать на пересечение каждую потенциально пересекающуюся триангулированную сетку объекта с триангулированной сеткой ткани. Чтобы ускорить этот процесс, обычно используют различные ускоряющие структуры, чтобы не сравнивать все получившиеся треугольники со всеми. Примером такой ускоряющей структуры является ААВВ (Axis-Aligned Bounding Box)-tree (дерево из параллельных координатным осям прямоугольников). Применение таких структур позволяет выделить только те пары треугольников ткани и сетки объекта, которые потенциально пересекаются. Далее для каждой пары потенциально пересекаемых треугольников необходимо сделать 3 теста на пересечение точка — треугольник и 9 тестов ребро — ребро. Это позволит рассчитать глубину проникновения в объект ткани [5].

В цели увеличения скорости обработки коллизий можно ограничить каждую фигуру в пространстве параллелепипедом. И если один параллелепипед пересекается с другим, то методом бинарного поиска можно определить точку коллизии двух тел. Т.е. если параллелепипеды пересекаются, необходимо разбить его на два поперек самой длинной грани до размера, соответствующего минимальному шагу разверстки, ту же операцию проделать с другим параллелепипедом, если в конечном итоге в обоих параллелепипедах окажутся области геометрической фигуры, то для этих областей можно находить точку пересечения. Такой подход экономит время нахождения области пересечения, если объекты находились бы на достаточном расстоянии, до того момента, как вступили в коллизию. Если же область пересечения параллелепипедов является большей чем 50% объема самого параллелепипеда, то такой подход не имеет смысла — необходимо совершать обход всех узлов решетки поверхности в поисках точек коллизий и пересчета положения других точек в зависимости от сил действия соседей.

В случае использования многослойной системы «человек —одежда» сценарий коллизий упрощен тем фактом, что деформации поверхности человека происходить не должно. Деформация при коллизии должна происходить только у поверхности ткани под действием собственной тяжести или при движении поверхности человеческого тела.

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

пикселей у стандартной вычислительной машины уйдет около 0,8 секунды, при выборе такой разверстки изображение ткани будет максимально приближено к реальности [6]. Поэтому необязательно задавать шаг разверстки равным размеру одного пикселя или точке пересечения волокон ткани, достаточно создать решетку на основе драпируе-мости ткани и не представлять ячейку в виде четырехугольника, вершины которого лежат в одной плоскости.

Конечно, представить ткань как совокупность неизменяемых геометрических примитивов невозможно, но таким образом можно представить тело человека (рис. 2). Это эффективно скажется на производительности системы «человек — одежда» в целом. Но в случае, когда одежда представляется как многослойный объект, придется использовать выше описаные техники, но при создании структурной модели ткани с минимальным шагом разверстки такой объект будет занимать большой объем оперативной памяти. Более оптимальный вариант — это выбирать шаг разверстки поверхности ткани исходя из значения коэффициента дра-пируемости, в таком случае шаг разверстки можно увеличить на 10 порядков, что уменьшит общее количество точек на одном и том же участке на 96. Еще можно регулировать шаг разверстки в зависимости от вычислительной мощности рабочей станции, но при таком подходе большая вероятность, что модели тканей будут выглядеть не так, как бы они выглядели в реальной обстановке.

Библиографический список

1. Шалмина, И. И. Обзор современных 3Б графических редакторов в САПР одежды / В. А. Шевченко, С. С. Одинец

// Профессиональное образование в развитии региона и общества: традиции, творчество, технологии. — Омск : ОГИС, 2012. — С. 194-196.

2. Шалмина, И. И. Проблемы при построении фигуры человека в 3D моделировании / В. А. Шевченко // Тенденции и перспективы развития легкой промышленности и сферы услуг. — Омск : ОГИС, 2013. — С. 6-8.

3. Babic, K. Geometric Techniques [Электронный ресурс] // Cloth Modeling. 1999. — URL: http://davis.wpi.edu/~matt/ courses/cloth/geometric.html (дата обращения: 20.10.2013).

4. Babic, K. Physical Based Techniques [Электронный ресурс] // Cloth Modeling. 1999. — URL: http://davis.wpi. edu/~matt/courses/cloth/geometric.html (дата обращения: 20.10.2013).

5. Сидоров, С. Физическое моделирование поведения ткани [Электронный ресурс] // Intel Developer Zone. 2012. — URL: http://software.intel.com/ru-ru/blogs/2012/11/06 (дата обращения: 22.10.2013).

6. Козлов, А. Н. Моделирование падения ткани на поверхность / А. А. Масалов [Электронный ресурс] // NSU-Intel lab. 2011. — URL: http://i-lab.nsu.ru/wiki/index.php/WS2011_ Textile_Modelling (дата обращения: 22.10.2013).

ШАЛМИНА Ирина Ивановна, кандидат технических наук, профессор (Россия), профессор кафедры «Конструирование швейных изделий». ШЕВЧЕНКО Владимир Александрович, аспирант кафедры «Конструирование швейных изделий». ОДИНЕЦ Сергей Сергеевич, аспирант кафедры «Конструирование швейных изделий». Адрес для переписки: shevchen55@gmail.com

Статья поступила в редакцию 03.06.2014 г. © И. И. Шалмина, В. А. Шевченко, С. С. Одинец

Книжная полка

004.4/Д58

Довек, Ж. Введение в теорию языков программирования / Жиль Довек, Жан -Жак Леви ; пер. с англ. В. Н. Брагилевского, А. М. Пеленицына. — М. : ДМК Пресс, 2013. — 133 c. — ISBN 978-5-94074-913-4.

Языки программирования от Фортрана и Кобола до Caml и Java играют ключевую роль в управлении сложными компьютерными системами. Книга «Введение в теорию языков программирования» представляет читателю средства, необходимые для проектирования и реализации подобных языков. В ней предлагается единый подход к различным формализмам для определения языков программирования — операционной и денотационной семантике. Особое внимание при этом уделяется способам задания отношений между тремя объектами: программой, входным значением и результатом. Эти формализмы демонстрируются на примере таких типичных элементов языков программирования, как функции, рекурсия, присваивание, записи и объекты. При этом показывается, что теория языков программирования состоит не в последовательном изучении самих языков один за другим, а строится вокруг механизмов, входящих в различные языки. Изучение таких механизмов в книге приводит к разработке вычислителей, интерпретаторов и компиляторов, а также к реализации алгоритмов вывода типов для учебных языков.

004.4/И85

Исаев, Г. Н. Проектирование информационных систем : учеб. пособие / Г. Н. Исаев. — М. : Омега-Л, 2013. — 424 c. — ISBN 978-5-370-02508-2.

Учебное пособие включает современные системные знания по одному из наиболее интенсивно развивающихся направлений информатики — проектированию информационных систем. Содержание издания отражает системообразующие признаки проектирования информационных систем: цели, задачи, функции, структуру, способы и технологии проектирования, измерения, оценки и управления качеством проектирования и др. Рассмотрены вопросы методологии проектирования и ее перспективы. Пособие предназначено для студентов, обучающихся по информационным специальностям «Прикладная информатика», «Информационные системы и технологии», «Информационный менеджмент» и др. Оно может быть полезно студентам, обучающимся по магистерским программам, аспирантам и преподавателям, а также специалистам и руководителям, занимающимся вопросами проектирования и развития информационных систем в организационной сфере.

i Надоели баннеры? Вы всегда можете отключить рекламу.