ИЗВЕСТИЯ
ПЕНЗЕНСКОГО ГОСУДАРСТВЕННОГО ПЕДАГОГИЧЕСКОГО УНИВЕРСИТЕТА имени В. Г. БЕЛИНСКОГО ФИЗИКО-МАТЕМАТИЧЕСКИЕ И ТЕХНИЧЕСКИЕ НАУКИ № 18 (22)2010
IZVESTIA
PENZENSKOGO GOSUDARSTVENNOGO PEDAGOGICHESKOGO UNIVERSITETA imeni V. G. BELINSKOGO PHYSICAL, MATHEMATICAL AND TECHNICAL SCIENCES № 18 (22) 2010
УДК 681.3
ВИЗУАЛИЗАЦИЯ ЭКСПЕРИМЕНТАЛЬНЫХ ДАННЫХ НА ОСНОВЕ КРИВОЛИНЕЙНЫХ ПОВЕРХНОСТЕЙ
© А. П. ЗИМИН Пензенский государственный университет, кафедра информационно-вычислительных систем e-mail: [email protected]
Зимин А. П. - Визуализация экспериментальных данных на основе криволинейных поверхностей // Известия
ПГПУ им. В. Г. Белинского. 2010. № 18 (22). С. 159-162. - Рассмотрен способ визуализации экспериментальных данных, основанный на построении кусочно-аналитической поверхности в пространстве. Приведены достоинства и недостатки представления данных с помощью поверхности. Сделаны выводы о целесообразности использования криволинейного треугольного примитива в качестве куска кусочно-аналитической поверхности. Описан способ нахождения характеристик криволинейного треугольного примитива, построенного на трех попарно пересекающихся кривых. Даны рекомендации о возможности использования криволинейного треугольного примитива в геоинфор-мационных системах.
Ключевые слова: кусочно-аналитическая поверхность, визуализация экспериментальных данных, криволинейные поверхности, треугольный патч.
Zimin A. P. - Visualization of experimental data based on curved surfaces // Izv. Penz. gos. pedagog. univ.
im.i V. G. Belinskogo. 2010. № 18 (22). P. 159-162. - Concidered a method for visualization of experimental data based on the construction of piecewise analytic surface in 3D-space. Shows the advantages and disadvantages of data through the surface. The conclusions about the feasibility of using a curved triangular primitive as a piece of a piecewise analytic surface. Describes a method to find the characteristics of a curved triangular primitives, built on three pairs of intersecting curves. Represented by the recommendations about the use of a curved triangle primitive in Geographic Information Systems. Keywords: piecewise analytic surface, visualization of experimental data, curved surfaces, triangular patch.
Проведение научного эксперимента и получение научных результатов напрямую связаны с процессом их визуализации. Представление данных в наглядной графической форме позволяет эффективно работать с огромными массивами числовой информации, выявлять в них наиболее важные места и сосредоточиться на их исследовании. Чаще всего перед исследователем стоит задача изучения научных результатов в виде распределения некоторой характеристики процесса в пространстве или во времени. Одним из способов графического представления подобных характеристик является способ, основанный на построении поверхности распределения в пространстве. В статье уделено внимание именно этому способу визуализации данных.
Существует достаточное количество математических пакетов с возможностями представления данных в графическом виде, среди них GnuPlot, SciDAVis, IBM OpenDX, Zhu3D [7], Visualization Toolkit (VTK) [6]. Несмотря на своеобразие этих пакетов, они в той или иной степени используют схожие способы визуализации данных. Результаты научных исследований, как правило, представляются в виде множества отсчетов. В этом множестве зачастую трудно выявить некоторую зависимость, тем более описать ее математически. Возникает вопрос: каким образом визуализировать такие данные? Наиболее часто используемый способ - это представление поверхности в виде полигональный сети, состоящей либо из треугольных, либо из четырехугольных ячеек (простых геометрических примитивов). Если отсчеты вдоль координатных осей одинаковы, то можно говорить о равномерной полигональной сети, состоящей из четырехугольных примитивов. В противном случае полигональная сеть должна
ИЗВЕСТИЯ ПГПУ ♦ Физико-математические и технические науки ♦ № 18 (22) 2010 г.
состоять из треугольных примитивов. Так как системы отображения работают непосредственно с треугольными геометрическими примитивами, то второй способ представления является предпочтительным. Для получения такой сети необходимо, чтобы данные (опорные точки будущей сети) были “связаны” (объединены) между собой в треугольники. Для этого применяют алгоритмы триангуляции, например, триангуляцию Делоне [4].
У представления поверхности в виде полигональной сети существуют свои достоинства и недостатки. Основным достоинством этого способа является простота формирования, а основными недостатками - ограниченные изобразительные возможности и неточность представления. При достаточно далеком расположении опорных точек друг от друга поверхность выглядит “грубой”, а точность представления желает лучшего (рис. 1).
Рис. 1. Полигональная сеть с большими расстояниями между опорными точками
Этих недостатков можно избежать, если каждый треугольник полигональной сетки заменить треугольным куском (патчем) поверхности, заданным аналитически, - так называемым криволинейным примитивом. Основное требование: криволинейный примитив должен проходить через угловые точки треугольника. Способ представления поверхности в виде аналитически заданных кусков получил название кусочно-аналитического представления поверхности. В качестве такого куска может выступать треугольный патч Безье [1, 2]. Среди достоинств такого представления можно выделить высокие изобразительные возможности, а также достаточно высокую точность представления. Однако и этот метод не лишен недостатков. Для построения куска поверхности Безье, необходимо определить все характеристические (контрольные) точки, лежащие в вершинах выпуклого характеристического многогранника (рис. 2).
Рис. 2. Характеристический многогранник (слева) и треугольный кусок Безье, построенный по характеристическому многограннику (справа)
Задачу определения вершин характеристического многогранника можно решить двумя способами: определить вершины вручную или разработать алгоритм их автоматического определения. Так как способ визуализации должен как можно меньше зависеть от исследователя, первый вариант определения характеристического многогранника, безусловно, не подходит. Однако второй вариант определения требует дополнительной информации о том, как будет выглядеть кусок поверхности. Эта информация должна быть представлена либо в
ИНФОРМАТИКА ►►►►►
качестве исходных данных, например, кусок должен быть выпуклым, вогнутым или плавно изменяющим свою форму, либо определена в процессе обработки из данных, которые имеются в наличии. Из имеющихся данных можно определить только нормали к поверхности, образованной треугольниками, а этого недостаточно для определения характеристического многогранника. По этой причине применить треугольный патч Безье не представляется возможным.
Предлагается в качестве патча кусочно-аналитической поверхности использовать криволинейный треугольный примитив, построенный на трех попарно пересекающихся кривых. Каждое ребро такого треугольного примитива представлено кривой. Построение поверхности между кривыми осуществляется в барицентрических координатах и является треугольным аналогом линейной поверхности Кунса [3, 5]. Предлагается в качестве кривых патча использовать кривые Безье. Для начала находятся нормали к каждому из треугольных примитивов полигональной сети, полученной в результате триангуляции. Далее путем усреднения всех нормалей треугольных примитивов, к которым принадлежит вершина, определяются нормали в каждой вершине сети (рис. 3).
Рис. 3. Сеть с усредненными нормалями N¡ в вершинах р
На следующем этапе определяется характеристический многоугольник для каждой из трех кривых Безье, по которым строится предлагаемый криволинейный примитив. Для получения сегмента кривой Безье желаемой формы необходимо и достаточно, чтобы степень аппроксимирующего полинома была равна 3. Согласно свойству кривой Безье степень многочлена, определяющего сегмент кривой, на единицу меньше количества точек соответствующего многоугольника, задающего этот сегмент. Таким образом, характеристический многоугольник будет содержать четыре характеристические точки, две из которых являются конечными точками ребра треугольника. Две оставшиеся точки будут лежать на прямых, являющихся касательными к кривой (из свойств кривой Безье). Направления касательных находятся следующим образом (рис. 4): сначала находится нормаль N к плоскости, образованной векторами N2 и V = Р1 - Р2, затем находится нормаль К2 к плоскости, образованной векторами N2 и N . Нормаль К2 и будет являться вектором, показывающим направление касательной к кривой в точке Р2. Аналогичным образом находятся все остальные касательные для каждого сегмента кривой.
ИЗВЕСТИЯ ПГПУ • Физико-математические и технические науки • № 18 (22) 2010 г.
Если опустить математические выкладки, основанные на свойствах кривых Безье [5], то конечные формулы, по которым находятся оставшиеся две вершины характеристического многоугольника, будут выглядеть следующим образом:
С = К1 +зр , с2 = К +3р, (1)
где С, С2 - искомые характеристические вершины;
Р, Р2 - известные характеристические вершины;
К1, К2 - векторы, показывающие направление касательных прямых к кривой Безье.
На следующем этапе для получения поверхности треугольного криволинейного примитива (рис. 5) производится “смешивание” трех попарно пересекающихся кривых ^(/1), q2(t2), qз(tз) по следующему выражению:
р = a(q3(l - b) + q2(c) -р) + b(q1(l - c) + q3(a) - рг) + c(q2(l - a) + ql{b) -р3),
(2)
где а, Ь, с - барицентрические координаты (являются также параметрами для кривых Безье),
0 < а < 1, 0 < Ь < 1, 0 < с < 1, а + Ь + с = 1, с = 1 - а - Ь . (3)
Кусочно-аналитическая поверхность, построенная из предлагаемых криволинейных примитивов, представлена на рис. 6.
Рис. 5. Криволинейный треугольный патч на трех кривых
Рис. 6. Пример визуализации научных данных предлагаемым способом
Предложенный способ визуализации рекомендуется использовать не только при представлении научных данных, но и в областях, где необходимо отобразить достаточно качественную поверхностную модель, имея при этом малое количество информации (только отдельные отсчеты). Одной из таких областей является геоинформатика, где необходимо отображать естественный рельеф земной поверхности. Несомненным плюсом здесь является то, что предлагаемый криволинейный примитив имеет способность приобретать форму исходя из окружающей его окрестности, создавая тем самым подобие реального рельефа местности. К достоинствам также нужно отнести высокие изобразительные возможности и достаточно высокую точность представления. Среди недостатков нужно отметить сложность применения криволинейных примитивов при моделировании замкнутых поверхностей.
СПИСОК ЛИТЕРАТУРЫ
1. Yamaguchi F., Curves and Surfaces in Computer Aided Geometric Design, Springer-Verlag Berlin Heidelberg, 1988. 379 р.
2. Yingbin Liu, Triangular Bezier Surfaces with Approximate Continuity: A thesis presented to theUniversity of Waterloo, Waterloo, Ontario, Canada, 2008. 103 рp.
3. Голованов Н. Н. Геометрическое моделирование. М.: Наука, 2002. 472 с.
4. Ласло М. Вычислительная геометрия и компьютерная графика на C++. М.: «Издательство БИНОМ», 1997. 304 с.
5. Роджерс Д., Адамс Дж. Математические основы машинной графики. М.: Мир, 2001. 604 с.
6. Visualization Toolkit URL: http://www.vtk.org/ (дата обращения 29.09.2010).
7. Фонд алгоритмов и программ // Пакеты научной графики. URL: http://fap.sbras.ru/taxonomy/term/534 / (дата обращения 29.09.2010).