Технология визуализации математических объектов и понятий

N94(16)2008

А.П. Возженников, В.О. Голубев

Технология визуализации математических объектов и понятий

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

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

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

1. Визуализация объектов средствами прикладных математических пакетов

Наиболее очевидным и распространенным способом является использование сторонних разработок. На рынке прикладного программного обеспечения лидируют несколько крупных математических пакетов: Mathematica, Mapple, MathCad, MatLab, а также есть множество небольших проектов, направленных на решение узкого круга 22

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

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

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

Наиболее популярным средством компьютерной анимации общепризнанно является технология векторной графики Flash. Гибкие средства среды разработки flash-

Нв4(16)2008

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

Однако технология Flash имеет вполне очевидные недостатки. Если речь идет об иллюстрации простых математических понятий (график функции, диаграммы Эйлера, промежутки знакопостоянства и т. п.), то Flash очень хорошо справляется с этими задачами. Если же необходимо визуализировать трехмерный объект (а именно таких сложных построений часто требует преподаватель от компьютерной техники), то использование Flash станет крайне неэффективным: разработчик или «на глаз» построит изометрию пространства, или вынужден будет рассчитывать проекции. Такие подходы оправданны при построении статического рисунка, но не в случаях, когда речь идет об анимации объектов или о динамическом изменении вида.

Для анимации трехмерных визуализаций можно также использовать более сложные прикладные графические пакеты (например, 3DsMax), но при этом подходе теряется интерактивность визуализации.

3. Визуализация объектов средствами инструментальных графических библиотек

Метод построения двумерных и трехмерных графических объектов средствами программных интерфейсов (API) компьютерной графики намного сложнее, чем выше перечисленные, но при умелом его ис-

пользовании можно получить потрясающие результаты.

Среди таких средств выделяются DirectX и OpenGL, причем предпочтение часто отдается последней по причине открытого кода и многоплатформенности. OpenGL предоставляет разработчику набор базовых графических примитивов для двумерных и трехмерных построений, а среда разработки позволяет задействовать мощные вычислительные средства для математических расчетов.

Средствами OpenGL очень наглядно (с элементами динамики и интерактивности) иллюстрируются многие сложные математические понятия: кривые и поверхности в пространстве, определенный интеграл и интегралы от функций нескольких переменных, предельные поведения функций.

Средствами OpenGL можно эффективно визуализировать понятия не только из математики, но и из других дисциплин (например, из физики — плотность распределения масс, работа силы на криволинейном перемещении).

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

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

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

! ci со са

! to о са

23

N94(16)2008

1. Описание математической модели визуализируемого объекта.

2. Выбор размерности визуализации.

3. Описание дополнительных визуализаций для объекта.

4. Выделение параметров визуализации.

5. Моделирование динамики объекта.

6. Организация интерфейса взаимодействия пользователя.

7. Создание средства визуализации на основе инвариантных элементов.

Определимся с основными понятиями.

Математическая модель в контексте технологии представляет собой описание определения понятия, т. е. выделение функций и ограничений, которые участвуют в определении.

Размерность визуализации. В зависимости от задачи визуализация может производиться как в двумерном, так и в трехмерном пространстве.

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

Параметры визуализации позволяют на-| страивать элементы визуализации. Такими | параметрами являются, например, толщина * линий, прозрачность, количество разбие-[2 ний и др.

л Моделирование динамики объекта выра- жается в следующем. Прежде всего необ-| ходимо выбрать те свойства объекта, кото-| рые должны изменяться в процессе анима-| ции. Далее этим свойствам необходимо оп-К ределить предельные значения, к которым | они должны стремиться. Таким образом, § для каждого свойства будут определены § два значения: в начале и в конце анимации (как правило, оно используется в основной, § статической, визуализации). В процессе § анимации текущее значение высчитывает-§ ся с помощью линейной интерполяции между ними.

^ Интерфейс взаимодействия. Пользователю необходимо предоставить возмож-

24

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

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

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

5. Применение технологии на примере визуализации физического смысла

криволинейного интеграла II рода

Математическая модель

J P( х, y, z )dx + Q( x, y, z )dy + R( x, y, z )dz

Физической трактовкой криволинейного интеграла II рода является работа переменной силы F(x, y, z) = {P(x, y, z), Q(x, y, z), R(x, y, z)} на криволинейном перемещении (AB). Направленная линия (AB) задается параметрически дифференцируемыми функциями: x = x(t), y = y(t), z = z(t), где tA, tB — значения параметра t для точек A и B . Функции P , Q , R также являются заданными и непрерывными на (AB).

N94(16)2008

Размерность визуализации

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

Дополнительная визуализация

Для визуализации величины работы используются графики распределения и накопления работы (рис. 3).

Параметры визуализации:

• цвет векторов;

• толщина пространственной линии;

• цвет пространственной линии;

• количество разбиений (для пространственной линии);

• цвета максимума и минимума градиента для дополнительной визуализации.

Из математической модели: функции P(x, у, z), Q(x, у, z), R(x, у, z), х(0, у(0, z(t); параметры tB.

Динамика

Из определения криволинейного интеграла II рода следует, что величина работы переменной силы F на криволинейном перемещении (ЛБ) складывается из элементарных слагаемых — работ постоянных сил на малых прямолинейных перемещениях а/, но при условии, что \а!| ^ 0.

Таким образом, для визуализации понятия необходимо анимировать процесс стремления \а!0 и процесс суммирования (накопления) бесконечно малых элементов работы. Параметром, изменением которого реализована анимация, является количество разбиений.

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

С помощью мыши пользователь может взаимодействовать с программой. Правый

¿398

-2,398

! сэ со

со о со

е=

2,398

2,391

Рис. 1. Пример двумерной визуализации в трехмерном пространстве

1,992

Рис. 2. Пример трехмерной визуализации График распределения работы

График накопления работы

А 0,667

П 6.29 Г

Рис. 3. Пример дополнительной визуализации

25

N94(16)2008

ab: i

x(t) = sin(f) y(t) = cos(t) z (t) = sin(t)  cos(t) 0 < t < 6,29

2.398 Z

Гр

Рис. 4. Пример использования системы выбора

клик мыши задействует повороты сцены, а левый щелчок активирует систему выбора (рис. 4).

При использовании возможности выбо-| ра на экране появляется курсор выделения, | с помощью которого производится выбор * детали визуализации. В этом случае визуа-§ лизация осуществляется таким образом, ^ чтобы внимание пользователя было акцен- тировано именно на выбранной детали. Для | данной задачи такой деталью является по-| стоянная сила на прямолинейном переме-| щении, при этом на графиках дополнитель-К ных визуализаций выделяются работа, совершенная постоянной силой при переме-Ц щении по выбранному отрезку, и работа,

§ которая совершена переменной силой при 5

перемещении от начала криволинейного § отрезка до выбранного прямолинейного от-| резка.

§ Инвариантные элементы: размерный куб, репер, пространственная линия, век-к тор, двумерная координатная сетка, площадь.

Список литературы

1. ВозженниковА.П. Способы реализации интерактивных сценариев образовательной анимации в математике с использованием Macromedia Flash. Материалы МНТК «Наука и обра-зование-2005». Ч. IV. Мурманск, 2005. С. 163166.

2. Голубев В. О., МеевА.Н, КацубаВ.С. Программный модуль «Визуализация определений и вычисление значений определенного, двойного, тройного интеграла» // Молодежь и современные информационные технологии: Сборник трудов V Всероссийской научно-практической конференции студентов, аспирантов и молодых ученых (Томск, 28 февраля — 1 марта 2007 г.). Томск: Изд-во ТПУ, 2007. С. 25-26.

3. Голубев В.О., Кацуба В.С. Технология визуализации сложных математических понятий // Молодежь и современные информационные технологии: Сборник трудов VI Всероссийской научно-практической конференции студентов, аспирантов и молодых ученых (Томск, 26 февраля — 28 февраля 2008 г.). Томск: Изд-во ТПУ, 2008. С. 227-228.