Научная статья на тему 'Функции возмущения в геометрическом моделировании'

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

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

Текст научной работы на тему «Функции возмущения в геометрическом моделировании»



I ■

м \1

■ iS. ■ \ ■ \ а1Д\

ч \\ !'■>___

о ; 0 i 10 t 0

График поиска оптимального решения:

-параметр Xувеличенный в 10 раз;

— - параметр Х2;

------ параметр Л'?;

целевая функция, увеличенная в 10 раз

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

ции и параметров оптимизации (для наглядности приведены в соответствующих масштабах).

Достоинством данного метода является управляемость процессом оптимизации. На каждом шаге возможна визуализация результата -представление трехмерной модели КОМПАС-ЗБ, что позволяет проектировщику анализировать результат, вносить определенные поправки.

Использование внешних программных модулей САПР является мощным средством для повышения производительности и качества работы. Важнейшим преимуществом применения таких разработок является использование существующей на предприятии САПР как базовой, без приобретения дополнительных специализированных пакетов для компьютерного моделирования. В частности, разработанный автором программный модуль САПР КОМПАС-ЗБ позволяет решать важную задачу проектирования - поиск оптимальных параметров, ограничиваясь возможностями базовой версии САПР КОМПАС-ЗБ. В работе демонстрируются лишь принципы работы модуля, решение же реальных задач производства намеренно остается нераскрытым.

Литература

1. Ли К. Основы САПР (CAD/CAM/CAE). СПб. Питер, 2004. 560 с.

2. Трифонов А.Г. Постановка задачи оптимизации и численные методы ее решения. URL: http://matlab.exponenta.ru/op-timiz/book_2/index.php (дата обращения: 18.03.2009).

3. Сафонов Л.И., Сафонов А.Л. Прямоугольные электрические соединители. Анализ физических процессов, происходящих в контакте // Технологии в электронной промышленности. 2007. № 6. С. 54-58.

ФУНКЦИИ ВОЗМУЩЕНИЯ В ГЕОМЕТРИЧЕСКОМ МОДЕЛИРОВАНИИ

С.И. Вяткин, к.т.н.; Б.С. Долговесов, к.т.н. (Институт автоматики и электрометрии Сибирского отделения РАН, г. Новосибирск, згизегфтаИ-ги)

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

Ключевые слова: интерактивное геометрическое моделирование, геометрические объекты, геометрические операции, отношения.

Геометрическая концепция моделирования виртуальной среды на базе функционально заданных объектов [1] может быть описана как алгебраическая система:

(М, Ф, (1)

где М - множество геометрических объектов; Ф -множество геометрических операций; W - множество отношений на множество объектов.

Известны следующие функциональные способы задания примитивов. Поверхности свертки [2] - это интегральное представление неявно заданных поверхностей, известных в компьютерной графике как капельные модели [3], метасферы и мягкие объекты [4]. Функционально заданные геометрические объекты с применением функций возмущения изложены в [5].

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

Геометрические объекты

Кратко определим функции возмущения [5]. Предложено описание геометрических объектов с помощью задания функций возмущения от базовых поверхностей (рис. 1). Свободная форма - это композиция базовой поверхности и возмущения: Р'(х,у,г)=Р(х,у,г)+Ы(х,у,г), (2)

где Щх, у, z) - функция возмущения.

Задача конструирования объекта сводится к деформации базовой поверхности нужным образом, а не к аппроксимации ее примитивами. Предложенный способ описания объектов трехмерных сцен базовыми поверхностями и функциями возмущения имеет компактное описание, что позволяет уменьшить объем передаваемых данных от 10 до 1000 раз в зависимости от конкретных трехмерных сцен и моделей.

Геометрические операции

Множество геометрических операций Ф математически выражается следующим образом: Ф^ М'+М2+...+М"->-М. (3)

Пусть объект С, определен как (Х)>(>. Унарная операция (п=1) (3) объекта С, означает операцию С2=ФДСх) с определением

1"2=у(11(Х))>0, (4)

где - непрерывная вещественная функция одной переменной.

Рассмотрим следующие унарные операции. Пусть исходный объект Gi<zEn описывается функцией fi(xi, х2, ..., xiv.., х„)>0, а его проекция G2c=Enl - функцией fi(xi, х2, ..., Xj,..., х„)>0. Объект G2 может быть определен как объединение сечений объекта G, гиперплоскостью Xj=Cj, где Cj+i=Cj+Axi, j=l,N и Ci=ximin.

Пусть fij=fi(x1, х2, ..., хм, Cj, xi+1, ..., xn) -функция для сечения. В итоге функция для проекции при Axj—»0 есть объединение всех функций f: f2=f11vf12v...vfljv...vf1N, (5)

В реализации данной операции для всей сцены фиксировалась одна координата в зависимости от того, какую проекцию требовалось получить (рис. 2).

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

f 9 * £

Рис. 2. Функционально заданный объект и его проекции ****

Рис. 3. Положительный и отрицательный офсеттинг

Например, можно имитировать пульсацию тела. Пусть исходный объект задается функцией f(X)>0, тогда при применении такой операции полученное тело будет описываться функцией F=f(X)+C, где C<0 определяет отрицательный офсеттинг, а C>0 - положительный.

Пусть объекты Gi и G2 определены как fi(X)>0 и f2(X)>0. Бинарная операция (п=2) (3) объектов Gi и G2 означает операцию G3=®j(Gi, G2) с определением:

fj=V(f,(X), f,(X))>0. (6)

где ц/ - непрерывная вещественная функция двух переменных.

Геометрическая модель должна позволять конструировать объекты и их композиции неограниченной сложности (рис. 4 и 5). Достигается это *

% Ford *

Рис. 4. Простые Рис. 5. Сложный

геометрические объекты геометрический

и текстура объект

а

Рис. 1. Свободная форма на основе одной квадрики с тремя аналитическими функциями возмущения

в первую очередь применением булевых операций объединения и пересечения.

При метаморфозисе (морфинге) осуществляется плавный переход начального образа в конечный (рис. 6). Пусть имеются Г!, Г2 - значения функций возмущения первого и второго объектов, соответственно, тогда результирующая функция возмущения Р вычисляется следующим образом:

Р=рР1+(1-Р)Р2? (7)

где Р - положительная непрерывная функция.

Рассмотрим сложные геометрические операции, а именно кручение и заметание движущимся твердым телом.

Кручение - деформация тела, являющаяся частным случаем биективного отображения (рис. 7), которое служит для определения деформаций исходных объектов. Для кручения исходного тела найдены и преобразованы координаты х, у, z.

Заметание движущимся твердым телом является одной из давних и трудных проблем в твердотельном моделировании. Рассмотрим заметание как проекцию движущегося тела из 4Б(х,у^)-пространства в 3Б(х,у^)-пространство. Вновь образованная фигура представляет собой объединение изображений заметающего тела при различных положениях (рис. 8).

Отношения

Одним из примеров отношений может служить определение столкновений между объектами. Бинарное отношение есть множество множества: М2=МхМ. Оно может быть определено как 8]: МхМ >1. (8)

Пусть объекты G, и G2 определены как fi(X)>0 и f2(X)>0. Бинарная операция пересечения объектов Gi и G2 определяется следующим образом:

с (г- Г ч- если GinG2=0, т

S>clbwlx2J- i,eCjmG1nG2't0-

Функция f3(X)=f1(X)&f2(X) может использоваться для вычисления Sc. Можно утверждать, что Sc=0, если f3(X)<0 для любой точки пространства En.

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

Интерактивное создание форм

В последнее время компьютерная графика, связанная с интерактивным моделированием и редактированием трехмерных объектов, развивается быстрыми темпами. Для интерактивного редактирования полигональных моделей применяются известные коммерческие системы Softimage, MAYA, 3DStudioMax и др. Существуют интерактивные системы на базе полиномов, неявных поверхностей, треугольных сеток, изображений, объемов, функционально заданных моделей.

Г

Рис. 10. Глобальная деформация объекта

Конструирование объекта в нашем случае напоминает лепку модели из пластилина с применением геометрических операций, представленных выше, и деформации (рис. 10, 11). Основное положительное отличие от известных интерактивных систем на базе функционально заданных моделей в том, что нет необходимости в полигониза-ции функциональной модели перед деформацией.

Рис. 6. Морфинг негомеоморфных объектов

Рис. 7. Результаты реализации кручения

Рис. 9. Определение столкновений функционально заданных объектов

Программная модель алгоритма растрирования и структуры данных объектов реализована на языке высокого уровня С++. Этот язык хорошо подходит для реализации объектной модели описываемой системы, так как является объектно-ориентированным.

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

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

Основные области применения результатов работы - это интерактивные графические системы визуализации функционально заданных объектов, CAD-системы ^-моделирования, SD-веб-визуа-лизация и т.д. В известных пакетах SD-модели-рования стали применяться функциональные примитивы, например, метасферы (Meta Balls) в Strata Studio Pro. Важной прикладной задачей может стать применение предлагаемого функционального задания объектов для SD-веб-визуализации, например, функционально базируемое расширение 3D (X3D), а также VRML (Virtual Reality Modeling Language). Функционально заданные объекты могут использоваться совместно со стандартными моделями X3D и VRML. Для этого необходимо разработать функциональные узлы на базе разработанных примитивов и методов их визуализации с целью уменьшения количества передаваемых данных.

Литература

1. Pasko A.A., Adzhiev V.D., Sourin, A.I. et al. Function representation in geometric modeling: concepts, implementation and applications // The Visual Computer. 1995. № 11 (6), pp. 429-446.

2. Bloomenthal J., Shoemake K. Convolution surfaces, SIGGRAPH'91, Computer Graphics, 1991. Vol. 25. № 4, pp. 251256.

3. Muraki S. Volumetric shape description of range data using «blobby model». Computer Graphics. July 1991. № 25 (4), pp. 227-235.

4. Wyvill G., McPheeters C. and Wyvill B. Data structure for soft objects. The Visual Computer. 1986. № 2 (4), pp. 227-234.

5. Алгоритм визуализации трехмерных данных, заданных поверхностями свободных форм / С.И. Вяткин [и др.] // Программные продукты и системы. 1999. № 3. С. 16-21.

ИСПОЛЬЗОВАНИЕ ТОРОИДАЛЬНОГО КОПИРОВАНИЯ ДЛЯ ПОШАГОВЫХ ОБНОВЛЕНИЙ ТЕКСТУРЫ

Д. А. Шустиков (Тверской государственный технический университет, dimshust1985@yandex.ru)

В статье рассматривается улучшение копирования текстуры в видеопамять, при помощи которого осуществляются ее эффективные пошаговые обновления.

Ключевые слова: тороидальное копирование, визуализация, ландшафт.

В алгоритмах визуализации рельефа местности (например, алгоритм вложенных регулярных сеток [1, 2]) используется технология изменения триангулированной сетки путем выборки из текстуры высот на вершинном процессоре видеокарты. Компания Nvidia такую технологию называет

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

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