ВЕСТНИК ТГГПУ. 2011. №4(26)
УДК 512;514;519.6;519.8
МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ ОБЪЕКТОВ ДИФФЕРЕНЦИАЛЬНОЙ ГЕОМЕТРИИ КРИВЫХ В СИСТЕМЕ КОМПЬЮТЕРНОЙ МАТЕМАТИКИ MAPLE
© Ю.Г.Игнатьев, Э.Г.Исрафилова
В статье описана авторская библиотека программных процедур в пакете компьютерной математики Maple, позволяющих осуществлять оснащенную динамическую визуализацию основных отношений дифференциальной геометрии кривых.
Ключевые слова: математическое моделирование, системы компьютерной математики, дифференциальная геометрия кривых, оснащенная динамическая визуализация.
Введение
Дифференциальная геометрия традиционно считается одним из наиболее трудных предметов на математических факультетах вузов. В ней интегрируются знания, полученные студентами на курсах алгебры, аналитической геометрии, математического анализа одной и нескольких переменных, дифференциальных уравнений. Кроме того, геометрические образы, а также соответствующие вычислительные процедуры, сопровождающие этот курс, являются чрезвычайно сложными и громоздкими. Все это делает указанный курс мало наглядным и сложным для усвоения, несмотря на чрезвычайную простоту и прозрачность основных идей дифференциальной геометрии. С другой стороны, методы дифференциальной геометрии кривых и поверхностей находят огромное количество приложений в самых различных областях прикладной математики, теории поля, механики, оптики и т.п. Поэтому задача повышения наглядности этого курса становится чрезвычайно важной. Эта задача может быть решена графическими средствами компьютерной математики, в частности, пакета Maple.
Оснащенная динамическая визуализация компьютерных моделей
В работе представлены авторские вычислительные процедуры в пакете Maple решения стандартных задач дифференциальной геометрии. К стандартным задачам дифференциальной геометрии следует отнести задачи, полностью построенные на аппарате векторной алгебры и дифференциального исчисления функций одной (дифференциальная геометрия кривых) и двух (дифференциальная геометрия поверхностей) переменных. К таковым задачам относятся: построение адаптированного репера кривой, вычисление кривизны и кручения кривой, нахождение первой и второй квадратичных форм поверхностей, ее векторной оснастки, геодезической, нормальной, главных кривизн поверхно-
стей. Именно эти задачи и изучаются в стандартных курсах дифференциальной геометрии.
К задачам повышенной сложности, которые за редким исключением практически не изучаются в стандартных курсах дифференциальной геометрии, относятся такие, как восстановление кривой по ее натуральным уравнениям и нахождение линий главных направлений кривизн и геодезических на поверхностях. Замечательным является тот факт, что как раз на решения этих задач как основных и направлены стандартные курсы дифференциальной геометрии. Не решаются же эти заявленные и очень поучительные задачи в стандартных курсах дифференциальной геометрии именно потому, что задачи эти связаны с решением системы обыкновенных существенно нелинейных дифференциальных уравнений, для которых не существует общей теории интегрирования, за исключением некоторых качественных методов исследования.
Эти задачи также могут быть решены средствами компьютерной математики. В 90-х годах А. Грэй посвятил специальную монографию изложению дифференциальной геометрии с помощью пакета компьютерной математики "Mathe-matica 2" [1]. Однако в этой книге не отражены вопросы как динамической визуализации объектов дифференциальной геометрии, так и вопросы, связанные с интегральными нелинейными задачами дифференциальной геометрии.
Следует заметить, что пакет компьютерной математики Maple, начиная уже с самых ранних версий, имеет несомненные преимущества в области 3d-графики, особенно интерактивной и динамической, по сравнению с пакетом "Mathe-matica", и позволяет программными средствами решить указанные задачи. Эта статья посвящена разработке программных процедур в пакете "Maple", позволяющих осуществлять управляемую, оснащенную динамическую визуализацию основных задач дифференциальной геометрии
Ю.Г.ИГНАТЬЕВ, Э.Г.ИСРАФИЛОВА
кривых. Под управляемой, оснащенной динамической визуализацией здесь и далее мы понимаем визуализацию многопараметрической математической модели, изменение свойств которой можно наблюдать во временной последовательности в графической форме, сопровождаемой изменяющейся со временем числовой или графической информацией, с возможностью изменения пользователем параметров модели. Методы оснащенной динамической визуализации математических моделей разрабатываются в группе Ю.Г.Игнатьева с 2004 года [2]. Отметим, что профессором М.Н.Кирсановым (Московский энергетический университет) разрабатываются методы динамической визуализации сложных лагранжевых механических систем [3].
Технология создания оснащенной управляемой динамической модели в СКМ Maple заключается в следующем [4] (см. рис.1). Сначала с помощью стандартных процедур Maple или про-
граммирования в пакете создаются графические объекты aik. Эти объекты могут быть как статическими графическими объектами, так и сложными, анимационными, созданными с помощью встроенных в Maple процедур анимации. Простые графические объекты представлены на рис.1 прямоугольниками с горизонтальноградиентной заливкой, сложные - прямоугольниками с вертикальными секциями и вертикальной градиентной заливкой. Полученные графические объекты объединяются в i-тый кадр анимации, frame i, с помощью встроенной процедуры plots[display](a_i1,a_i2,...,a_ini) ,с присвоением имени A[i]. В конце все кадры анимации объединяются в анимационную последовательность с помощью той же процедуры, но с добавочной опцией:
plots[display]([A[1],A[2], ...,A[n]], insequence=t rue):
a ni
a 31
a 21
a 11
a n2
a n3 * * *
a_nk0
a 32
a 33 ■ * •
a_3k*
a 22
a 23
a 2 k2
display displayfaj? 1>л_22>..л_2к1)
a 12
a 13 ...
a_lk.
Y
=A.
Л
=A,
э
N
<
=Ai
>
=A2<
&
§-
frame n
frame 3
frame 2
frame 1
t
Рис.1. Схема создания оснащенной динамической визуализации компьютерной модели.
В результате получается трехмерная интерактивная анимационная картина, состоящая из п кадров. Дискретной временной переменной t при этом является номер кадра i, длительностью анимации, как и степенью ее непрерывности, управляет параметр п - число кадров. При создании анимации необходимо выбирать золотую се-
редину между качеством анимации (большие значения п) и скоростью ее загрузки (малые значения п). Управление скоростью анимации, ее направлением, как и переходом в режим покадрового просмотра, можно осуществить непосредственно из графического меню окна Мар1е после выделения графического объекта. Для
управления же параметрами компьютерной модели эти параметры должны быть введены в программные процедуры графических объектов. Такими параметрами могут быть, например, уравнения линии, способ ее представления, тип ее оснащения, количество кадров анимации, предельные значения параметров кривой и т.п. Динамическое оснащение кривой, как и других графических объектов, может быть трех типов:
1. Графическое оснащение - оснащение с помощью дополнительных графических объектов: изображением точек, касательных и других векторов, плоскостей и т.п.;
2. Текстовое оснащение - оснащение с помощью динамических текстовых вставок;
3. Цифровое оснащение - оснащение с помощью динамических цифровых вставок.
При этом первые два типа динамического оснащения достигаются простым добавлением графических или текстовых объектов в каждый кадр с введением их функциональной зависимости от номера кадра, i, с помощью процедуры display. Цифровые динамические вставки величины s достигаются добавлением в каждый кадр процедуры вычисления этой величины, S(i), которую предварительно необходимо конвертировать в строковую переменную: con-
vert(s=S(i),string). Данная величина будет отображаться в форме s=SD(i), где SD(i) - динамически обновляющееся цифровое значение. Для динамического вывода упорядоченного списка величин [s=SD(i),q=QD(i),p=PD(i)] можно использовать формат convert([s=S(i),q=Q(i),
p=P(i)],string). При этом необходимо помнить о том, что в приближенных вычислениях с помощью функции evalf(S) Maple по умолчанию выводит 10 значащих цифр. Поэтому до применения конвертирования в строковую переменную необходимо определить формат вывода числовых значений.
Математическая модель дифференциальной геометрии кривых
Как уже было сказано, дифференциальная геометрия кривых основана на применении методов математического анализа функции одной переменной к структуре аналитической геометрии. Основным объектом дифференциальной геометрии кривых является гладкая параметризованная кривая у в трехмерном евклидовом пространстве E3, определяемая относительно де-картового репера векторными уравнениями:
r = r (t), (1)
где r - радиус-вектор точки кривой, заданный упорядоченным набором непрерывных, дважды
дифференцируемых декартовых координат точки х^Ху^)^)1. С помощью производных по параметру радиуса вектора, Г(,), Г'(,) в каждой точке кривой определяются векторы ортонормирован-ного базиса {е}^ = {т,у,в}2:
г-JL- R- rr]
I r |- |[r, r
V -
[r,[r, r]]
(2)
|[ r, [r, г]]|
- единичные векторы касательной, бинормали и нормали, соответственно; \а,Ь] - знак векторного произведения векторов a, Ь. Присоединение к текущей точке кривой М(г) ортонормированного базиса (2) дает нам так называемый адаптированный репер, (М(t);т(,),у(,),в()) , - пра-
вый прямоугольный декартов репер, скользящий вдоль параметризованной кривой и являющийся основным инструментом исследования ее геометрии не только в трехмерном евклидовом, но и в римановом пространстве произвольной размерности. В связи с этим понятие адаптированного репера является чрезвычайно важным для дифференциальной геометрии и требует наглядного представления в курсе дифференциальной геометрии3. Далее для гладкой кривой у вводится ее натуральный параметр, 8, как длина этой кривой:
(3)
являющийся монотонно возрастающей функцией параметра ,. Разложение производных по натуральному параметру от векторов базиса по векторам же {епредставляется формулами Фре-
не-Серре:
т' = ку; у' = -кт + кв; в' = -ку, (4)
где штрих означает дифференцирование по натуральному параметру, а два скаляра:
к = к(5); к = к( (5)
- кривизна и кручение кривой, соответственно, определяются формулами:
1 См., например, \5].
2 Мы придерживаемся классического обозначения векторов адаптированного репера (см., например, \5]).
3 Здесь следует отметить, что в советской системе высшего образования курс дифференциальной геометрии сопровождался большим количеством наглядных учебных пособий. В частности, понятия соприкосновения кривых и адаптированного (натурального) репера кривых демонстрировались на специальных приборах, снабженных подвижной кареткой, скользящей вдоль макета кривой, выполненного из проволоки.
к =
к =
(r, ryr'),
r, r
(6)
(a,b,c) - знак смешанного произведения векторов a,b,c. Соотношения (5) называются натуральными уравнениями кривой. Теорема о конгруэнтности двух кривых с одинаковыми натуральными уравнениями приводит к тому, что знание в каждой точке кривой ее кривизны и кручения полностью определяет внутреннюю геометрию этой кривой. В дифференциальной геометрии кривых можно различить две задачи - прямую и обратную. В прямой задаче, которую только обычно и решают в стандартных курсах дифференциальной геометрии, требуется определить натуральные уравнения кривой по ее заданному параметрическому уравнению. В обратной задаче необходимо определить с точностью до движения ее параметрическое уравнение. Программной реализации второй задачи для произвольной кривой мы посвятим следующую статью. В этой же статье мы рассмотрим программные процедуры реализации прямой задачи.
Визуализация натуральных уравнений кривой
Задача визуализации натуральных уравнений произвольной кривой является простой. Согласно (5) и (6) для этого необходимо лишь вычислить зависимости (5) в каждой точке кривой и изобразить их на совместном графике. В созданном нами пакете программных процедур YuDif-Geo эта задача решается с помощью команд GraphicNatural Curvature(Line,param,param0, max_param,cc), YuDifGeo(Line, param,param0, max_param,cc) и GraphicNaturalEquations (Line,param,param0,max_param,cc1,cc2), где Line - параметрические уравнения кривой, задаваемые в списочном виде [x(t),y(t),z(t)]; param, pa-ram0 - имя параметра кривой и начальное значение параметра, max_param - максимальное значение параметра, cc, сс1, сс2 - цвета изображения кривых. При этом первые две команды изображают кривизну и кручения кривой на отдельном графике, третья команда совмещает эти изображения. Приведем фрагмент программы: YuDifGeo[GraphicNaturalCurvature]: = proc(Line,param,param0,max_param,cc) localpa-raml:
plot([YuDifGeo[CurvatureLine] (Line,param,param 1),
YuDifGeo[LengthLine] (Line,param,param0, pa-ram1),param1=param0..max_param],color=cc, la-belfont=[TIMES,ROMAN,12],labels=['s',"]):end:
Указанные программные процедуры используют внутренние процедуры пакета - Curvature-Line, TorsionLine и LengthLine, ответственные
за вычисление длины дуги кривои, ее кривизны и кручения, соответственно. Продемонстрируем выполнение процедуры изображения натуральных уравнений конической винтовой линии r = (t cos (t), t sin Гt), t) на отрезке [0,4п], причем
график кривизны изображается синим цветом, кручения - красным:
> YuDifGeo[GraphicNaturalEquations]([t *cos(t),t*s in(t), t], t, 0,4 *Pi, blue, red);
Natural Equations of Curve
k(s)
kappa(s)
Рис.2. Исполнение процедуры GraphicNaturalEquations для конической винтовой линии.
Оснащенная динамическая визуализация адаптированного репера произвольной параметризованной кривой
Аналогичная задача нахождения натуральных уравнений кривых и их визуализации в системе Mathematica2 приведена и в указанной монографии Грэя [1]. Перейдем теперь к решению гораздо более сложной задачи - построению оснащенной динамической визуализации адаптированного репера произвольной параметризованной кривой. Отметим, что задача построения изображения адаптированного репера кривой также решается достаточно просто: >YuDifGeo[NaturalReper]: =proc(Line,param, pa-ram0,t1,cc1, cc2,cc3)
local rt1,rt2,rt3,tt,bb,nn,xi,zeta,chi:
tt:=YuDifGeo[NormTangentLine](Line,param,para
m0):
rt1:=YuDifGeo[ParamLine] (subs(param =param0,L ine),tt,xi,t1,cc1,scaling=CONSTRAINED): bb:=YuDifGeo[BinormLine] (Line,param,param0):
rt2:= YuDifGeo[ParamLine](subs(param =param0,L ine),bb,zeta,t1,cc2,scaling=CONSTRAINED): nn:= YuDifGeo[MainNormLine] (Line,param,param 0):
rt3:=YuDifGeo[ParamLine] (subs(param =param0,L ine),nn,chi,t1,cc3,scaling=CONSTRAINED): plots[display](rt1,rt2,rt3): end:
Как видно, здесь использован ряд внутренних процедур пакета, ответственных за изображение отдельных элементов репера кривой в ее точке, соответствующей значению параметра ti.
Значительно более сложно решается задача построения оснащенной динамической модели адаптированного репера кривой. Эта задача решается в созданном пакете программной процедурой YuDifGeo[AnimNatural Reper](Line,param, mini,maxi,c,N,p), где, кроме уже введенных параметров, есть параметры mini - минимальное значение параметра t кривой, maxi - максимальное, с - цвет изображения кривой, N - число кадров динамической модели. Параметр p может принимать значение 1 или любое другое, в том числе и буквенное. При p=1 в заголовок рисунка выносятся динамические значения кривизны, кручения и длины дуги. При любом другом значении этого параметра кривизна, кручение и длина дуги кривой отображаются динамическими объемными гистограммами с приложенными к ним динамически обновляемыми значениями указанных скаляров. Для автоматизации процесса построения оптимальной динамической модели необходимо было дать определения ряду графических параметров оснащенной графики, зависящих от конкретного уравнения кривой и заданных границ ее воспроизведения. Для решения этой задачи использовался следующий алгоритм. В каждом кадре определялись минимальные и максимальные значения координат для всех элементов фигуры с помощью встроенной процедуры min и max, затем составлялся список минимальных и максимальных значений координат фигур по всем кадрам и находились максимальные и минимальные координаты по всей динамической
модели. Таким образом, можно было определить максимальные размеры динамического объекта по всем измерениям, что позволило оптимизировать размеры его добавочных элементов. На рис.3 показан один кадр исполнения этой программной процедуры.
к = .244520
к= .708092Є-2
$
Рис.3. Кадр исполнения динамической программной процедуры YuDifGeo[AnimNaturalReper]([t*cos(t),
t*sin(t),0.015*tA2],t,0,16*Pi,red,24,sss) для параболической винтовой линии при значении параметра p=sss.
1. Gray A. Modern Differential Geometry of Curves and Surfaces with Mathematica, Second Edition. - NY.: CRC Press, 1997. - 432 p.
2. Игнатьев Ю.Г. Проблемы информационных технологий в математическом образовании: учеб. по-соб. / под ред. Ю.Г.Игнатьева. - Казань: ТГППУ, 2005. - 118 с.
3. Кирсанов М.Н. Практика программирования в системе Maple. - М.: Издател. дом МЭИ, 2011. -208 с.
4. Игнатьев Ю.Г. Пользовательские графические процедуры для создания анимационных моделей нелинейных физических процессов // Системы компьютерной математики и их приложения. -Смоленск: СмолГу, 2009. - С.43-44.
5. Норден А.П. Дифференциальная геометрия. - М.: Учпедгиз, 1948. - 216 с.
MATHEMATICAL MODELING OF OBJECTS OF DIFFERENTIAL GEOMETRY OF CURVES IN "MAPLE" MATHEMATICAL PACKAGE
Yu.G.Ignatyev, E.G.Israfilova
The author's library of program procedures in the package of the Maple computer mathematics is described in the article. It allows to carry out equipped dynamic visualization of the basic relations of differential geometry of curves.
Key words: mathematical modeling, computer mathematical systems, differential geometry of curves, equipped dynamic visualization.
Игнатьев Юрий Геннадьевич - доктор физико-математических наук, профессор, заведующий кафедрой высшей математики и математического моделирования Института математики и механики Казанского (Приволжского) федерального университета.
E-mail: [email protected]
Исрафилова Элина Габдулхаевна - аспирант кафедры высшей математики и математического моделирования Института математики и механики Казанского (Приволжского) федерального университета.
E-mail: [email protected]
Поступила в редакцию 21.11.2011