Визуализация параметрических поверхностей на мобильных устройствах



Скачать 167.12 Kb.
Pdf просмотр
Дата02.12.2016
Размер167.12 Kb.
Просмотров285
Скачиваний0

ВИЗУАЛИЗАЦИЯ ПАРАМЕТРИЧЕСКИХ ПОВЕРХНОСТЕЙ
НА МОБИЛЬНЫХ УСТРОЙСТВАХ
А. А. Козик
Белорусский государственный университет
Минск, Беларусь
E-mail: andrei@snowpetrel.by
Мобильные устройства, такие как смартфоны и планшеты, могут стать новым способом улучшения качества и информатизации образования, науки.
Разработка способов визуализации информации, специализированных для мо- бильных платформ, позволит использовать их в качестве электронных учебни- ков, средств обмена и анализа информации, объединения данных и коммуника- ции. Вектор развития аппаратной составляющей говорит о том, что они будут идти по пути настольных платформ, наращивая количество ядер как CPU, так и
GPU
. Это позволит адаптировать существующие методы визуализации пара- метрических поверхностей под специфические условия мобильных платформ.
Ключевые слова: мобильные устройства, NURBS, визуализация, триангу- ляция, информатизация образования.
Введение

Сегодня роль мобильных устройств в обществе велика. Целевое назначение смартфонов давно вышло за пределы простой коммуникации по средством сотовой связи. Сейчас устройства подобного рода используются как фотоаппараты с функ- циями обработки изображений (одно из наиболее интересных направлений в этой области – это дополненная реальность), средство доступа в интернет, управления до- кументооборотом и электронной почтой, как инструмент для развлечений (игры, просмотр видео). С появлением планшетов, таких как Apple iPad или Samsung Galaxy
Tab
, область использования мобильных устройств расширилась еще больше. Кроме развлекательных функций, они активно используются в бизнесе, имеют огромный потенциал в сфере образования, науки, медицины.
Одним из наиболее удобных и легко воспринимаемых путей отображения ин- формации является визуальный способ представления. В различных прикладных об- ластях существует потребность в графическом отображении информации, изменяю- щейся в реальном времени. Кроме того, возможность получить доступ к такого рода информации может понадобиться в любое время или в любом месте. Решением в данном случае может послужить отображение информации в реальном времени на мобильных устройствах. Это решение может быть использовано в образовательной среде, в науке, медицине. Одной из наиболее ресурсоемких задач в этом направлении является отображение трехмерных поверхностей, которые могут играть роль графи- ков, либо любых других поверхностей.
Параметрические поверхности и NURBS

Несмотря на то, что в большинстве случаев трехмерной поверхностью, отобра- жаемой в реальном времени, является созданная вручную полигональная сетка, су- ществует возможность отображать и параметрические поверхности. В качестве пара- метрической поверхности возьмем NURBS-поверхность. Причины использования именно NURBS следующие: они инвариантны относительно аффинных преобразова- ний, а значит такие операции как поворот и перемещение могут быть применены только к контрольным точкам; они имеют одну общую формулу как для аналитиче- ских поверхностей, так и для заданных вручную; являются единственным точным математическим представлением, охватывающим все аналитические поверхности [3].
Кроме того, для задания NURBS поверхности требуется хранить в памяти только контрольные точки, узловые вектора, а также порядок поверхности. Таким образом,
NURBS- поверхность задается следующей формой:
, где
,
; где P
i,j
– функция компонент векторов контрольных точек; n, m – количество контро- льных точек в каждом направлении; u, v – параметры, элементы узловых векторов для каждого направления; i, j – итераторы для каждого направления; p, q – степени поверхности в каждом направлении; w
i,j
– вес контрольной точки.
Как видно, процесс реализации расчета подобной формулы на мобильном уст- ройстве не представляет особых сложностей. Однако для отображения на дисплее устройства необходимо произвести триангуляцию поверхности [2]. Существует множество способов триангуляции. Однако задача сводится к следующей: для дан- ной NURBS-поверхности S(u,v) и действительного числа ε проблема триангуляции
NURBS- поверхности в том, чтобы найти такое множество линейно параметризован- ных треугольников {T
i
}, что:
1) любой треугольник T
i
удовлетворяет неравенству:
;
2) для любого ребра треугольника, не являющегося ограничивающим, сущест- вует только один смежный треугольник, разделяющий это же ребро [5].
Первое условие заставляет треугольники быть максимально близкими к поверх- ности, второе гарантирует топологическую корректность полигональной сетки.
Алгоритмы триангуляции, используемые для мобильных устройств, должны быть наиболее эффективны в плане использования памяти, а также вычислительных мощ- ностей устройства. Алгоритмы триангуляции можно разделить на равномерные и адаптивные. Равномерные алгоритмы приводят к генерации излишнего числа тре-
( )
( ) ( )
( )
∑∑
∑∑
=
=
=
=
=
n
i
m
j
j
i
q
j
p
i
n
i
m
j
j
i
j
i
q
j
p
i
w
v
B
u
B
w
P
v
B
u
B
v
u
S
0 0
,
,
,
0 0
,
,
,
,
)
(
,
( )
)
[




<

=
+
+
1 1
0
,
,
если
,
0
если
,
1
i
i
i
i
i
u
u
u
u
u
u
u
B
( )
( )
( )
u
B
u
i
u
u
u
B
u
u
u
u
u
B
p
i
i
p
i
p
i
p
i
i
p
i
i
p
i
1
,
1 1
1 1
1
,
,

+
+
+
+
+
+

+


+


=
( ) ( )
ε
<

v
u
S
v
u
T
i
,
,
sup
угольников, а значит используют большее количество памяти. Однако они более просты в смысле вычислительной сложности относительно адаптивных алгоритмов, генерирующих дополнительные треугольники только на изгибах и подобных участ- ках поверхности. Существует достаточно большое количество алгоритмов триангу- ляции. Каждый из них лучше подходит под определенные условия и требования. По- этому при разработке конкретных приложений стоит отдельно проанализировать за- дачу и выбрать необходимый алгоритм решения [1].
Результатом процесса триангуляции является вершинный буфер, а также индекс- ный буфер. Вершинный буфер представляет собой массив координат уникальных вершин треугольников, используемых для тесселяции поверхности. Индексный бу- фер описывает порядок использования данных из вершинного буфера для описания каждого треугольника поверхности. Кроме этого, вершины могут содержать данные о нормалях, вершинных цветах, текстурных координатах, прочую пользовательскую информацию, которая может быть необходима для визуализации на этапе вершин- ных, геометрических, либо фрагментных шейдеров.
Имплементация для мобильных платформ
Основным графическим API, поддерживаемым современными мобильными платформами, является OpenGL ES версии 2.0. В качестве альтернативы стоит упо- мянуть DirectX for Windows Phone, который появился недавно и является аналогом настольной версии DirectX 9.3. Кроме отличий на уровне графического API, стоит отметить, что основными операционными системами являются Apple iOS, Google
Android и Microsoft Windows Phone. Именно по этой причине в качестве среды визуа- лизации параметрической поверхности выступает Unity 3D – мульти-платформенный игровой движок. Unity 3D поддерживает все основные мобильные операционные системы, а также оба мобильных графических API. Языком программирования вы- ступает C# на платформе Mono, что позволяет минимизировать затраты на портиро- вание кода со стандартного для таких целей языка С++. Таким образом, код, напи- санный единожды, будет актуальным не только для основных мобильных платформ, таких как iOS, Andoid, Windows Phone, Blackberry, но и для настольных, таких как
Microsoft Windows, Apple Mac OSX, Linux.
Класс, отвечающий за визуализацию трехмерных объектов – UnityEngine.Mesh.
Объект этого класса имеет следующие атрибуты: vertices – выполняет роль вершин- ного буфера, triangles – индексный буфер, uv – буфер текстурных координат, normals – буфер нормалей, colors – буфер вершинных цветов. Используя буфер вершинных цве- тов, необходимый график можно сделать еще более наглядным, применяя соответст- вие цветов значениям функции. Буфер нормалей также необходимо заполнить, но для таких объектов, как графики, существует возможность упростить этот процесс, ис- пользуя метод Mesh.RecalculateNormals(). Этот метод автоматически рассчитывает значения нормалей исходя из положения вершин, угла между смежными треугольни- ками, а также направления обхода треугольников в индексном буфере. В результате получаем объект, готовый для визуализации.
Заполнив необходимые атрибуты, сформировав объект типа UnityEngine.Mesh, мы можем передать его методу Graphics.DrawMesh(), который отобразит объект с не- обходимыми аффинными преобразованиями и указанным типом материала.

Заключение

Как уже упоминалось ранее, мобильные платформы завоевали прочное место в обществе. Сегодня во многих странах мира такие планшеты, как Apple iPad, а также функционирующие на базе ОС Android, внедряют в сферу образования как электрон- ные учебники, средство проведения КСР и мониторинга успеваемости школьников и студентов. Реализовав возможность визуально, в реальном времени отображать раз- личные виды данных, прикладную роль мобильных устройств в сфере образования, науке, медицине можно, расширить еще больше. В качестве примера можно указать ситуацию, когда расчет данных занимает длительное время, либо данные постоянно изменяются и могут принимать критические значения, что требует их постоянного мониторинга. В случае использования клиентского приложения для мобильных уст- ройств, использующего методы визуализации параметрических данных, информация о них может быть доступна участникам команды в любом месте, при этом являясь актуальной и представленной в полном объеме. Это позволит еще активнее приме- нять облачные сервисы, распределенные команды исследователей, развить дистанци- онное обучение.
Если рассматривать применение в медицине, то данные, получаемые с измери- тельных приборов, могут концентрироваться на одном устройстве, которое посто- янно находится у лечащего врача, либо у родственников больного. Представляя ста- тистику в режиме реального времени, приложение может показывать тенденцию раз- вития болезни или лечения. Тем самым позволяя как врачебному персоналу, так и родственникам, вне зависимости от того, где они находятся, быть «рядом».
В силу того, что в качестве основы используется мульти-платформенный игровой движок, данные могут быть представлены визуально в каком угодно виде. Это позво- лит осуществлять образование детей в игровой форме, либо настраивать представле- ние персонализировано для каждого пользователя.
Библиографические ссылки
1.
Скворцов А. В. Триангуляция Делоне и ее применение. Томск : изд-во Том. ун-та, 2002.
2.
Macri D. Using NURBS surfaces in real-time applications. / Intel Corp. Santa Clara, CA, United States,
2000.
3.
Piegl L., Tiller W. The NURBS Book, 2nd Edition. Berlin, Germany: Springer-Verlag, 1996.
4.
Samareh-Abolhassani J. Triangulation of NURBS surfaces / Computer Sciences Corp. Hampton, VA,
United States, 1994. Dep. in NASA STI 30.09.2004.
№ 20040111965.
5.
Shu C. Triangulating Trimmed NURBS Surfaces. Nashville: Vanderbilt University Press, 2000. P. 381–
388.



Поделитесь с Вашими друзьями:


База данных защищена авторским правом ©nethash.ru 2017
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал