Библиотека программных процедур создания управляемой оснащенной динамической визуализации геодезических линий в СКМ Maple

ВЕСТНИК ТГГПУ. 2011. №4

ФИЗИКО-МАТЕМАТИЧЕСКИЕ НАУКИ

УДК 512.5;519.6;519.8;372.851;378.02

БИБЛИОТЕКА ПРОГРАММНЫХ ПРОЦЕДУР СОЗДАНИЯ УПРАВЛЯЕМОЙ ОСНАЩЕННОЙ ДИНАМИЧЕСКОЙ ВИЗУАЛИЗАЦИИ ГЕОДЕЗИЧЕСКИХ ЛИНИЙ В СКМ MAPLE

© В.А.Бушкова

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

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

Введение

Теория геодезических линий представляет собой один из основных разделов современной римановой геометрии. Она имеет многочисленные приложения в механике, оптике, теории поля для моделирования динамических систем на римановых многообразиях (см., например, [1; 2]). Исследование геодезических линий поверхностей сопряжено с необходимостью исследования и решения систем обыкновенных нелинейных дифференциальных уравнений, что резко ограничивает возможности применения аналитических методов и вынуждает прибегать к численным, компьютерным методам исследования. Наиболее эффективное решение задачи исследования геодезических линий и построения их компьютерных моделей возможно в системах компьютерной математики, в частности, в системе Maple. Уникальные возможности проведения вычисления тензорных операций, построения трехмерной динамической компьютерной модели геодезических линий, оснащенной динамическим цифровым, языковым и графическим сопровождением, являются несомненными достоинствами пакета Maple, позволяющими отдать ему предпочтение при решении задач компьютерного моделирования. Следует отметить, что методы визуализации геодезических на поверхностях в пакете Maple развивались и ранее в школе профессора Ю.Г.Игнатьева1. Статья посвящена разработке основных принципов оснащенной динамической визуализации теории геодезических линий на римановых поверхностях в пакете Maple.

1 См., например, [3].

Математическое моделирование геодезических линий на римановой поверхности

В геометрии тех пространств, где метрика считается заданной, геодезические линии определяют как кратчайшие линии на поверхности. Как известно, в римановом пространстве метрика задается формулой

ds2 = gjJdx'dxJ.

Метрический тензор gjj определяет символы Кристоффеля первого рода Гик и второго рода Г1к. Тогда геодезические линии определяются уравнениями

d2 x1 + г i dx1 dxk = о ds2 1 ds ds

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

dx' dxJ

соотношение нормировки g11--------------= const. В

1 ds ds

системе Maple, начиная с версии Maple V, имеется библиотека тензорной алгебры tensor, одной из команд которой является geo-desic_eqns(coord,param,Cf2), где coord - список имен координат, param - параметр кривой, Cf2 -символы Кристоффеля второго рода. Эта команда позволяет находить уравнение Эйлера-Лагранжа для геодезических кривых.

Получим с помощью команды geo-desic_eqns(coord,s,Cf2) уравнения геодезических линий поверхности, при этом присвоим натуральному параметру линии имя ”s”.

> Geod:=tensor[geodesic_eqns](coord,s,Cf2);

Автоматизированный ввод задачи Коши Для интегрирования системы уравнений геодезических необходимо указать точку М0(и0,Уо) поверхности, а также направление геодезической

ФИЗИКО-МАТЕМАТИЧЕСКИЕ НАУКИ

в этой точке —. В Maple для решения системы

ds

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

dsolve({ODE,ICs}, options). Здесь ODE - система дифференциальных уравнений с указанием начальных условий, Ics - выражение, задающее начальные условия. В нашем случае аналитическое решение не требуется. Для решения уравнений в численном виде функцию dsolve используем с параметром numeric или type=numeric.

Проиллюстрируем это на примере интегрирования системы уравнений геодезических линий на торе: x = (2 + cosv)cosu ,

y = (2 + cosv)sinu , x = sinv.

Зададим начальные условия (V(0) - некоторое направление).

> IC1:=[u(0)=2,v(0)=2,U(0)=1,V(0)=1] ;

> SS:=dsolve({op(System)}union{op(IC1)},type= numeric, method=rkf45,output=listprocedure);

SS:=[s=(proc(s) ...end proc), U(s)=(proc(s) ...end proc), V(s)=(proc(s) ...end proc), u(s)=(proc(s)... end proc), v(s)=(proc(s) ... end proc)]

Запись и проверка решений осуществляется с помощью подстановки решения в соответствующую величину:

>u_U2:=subs(SS,u(s));v_U2:=subs(SS,v(s));

u_U2(1);v_U2(1);

v_U2: = proc(s)...end proc

3.2769080663378611

2.1055408391400818

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

Касательный вектор к геодезической линии

Поставим задачу нахождения касательного вектора к геодезической линии в точке М0 в указанном направлении. Опишем процедуру его нахождения.

> kas_vect: = proc

local X,Y,Z,R,RV,t,a,TR,u_U0,v_U0,x,TRt,Mod, tau, Tau,Tau ris;R[u]: =[diff(X1,u),diff(Y1,u),diff(Z1,u)]: R[v]:=[diff(X1,v),diff(Y1,v),diff(Z1,v)]:

RV:=[X,Y,Z]:

TR:=(t,a)->RV(u_U0(t/20),v_U0(t/20)): TR(t,5): TRt:=(t,a)->subs(x=t,diff(TR(x,a),x)): TRt(t,a): Mod:=(x)->simplify(sqrt(innerprod(x,x))): Mod(TRt(t,a)):

tau:=(t,a)->scalarmul(TRt(t,a),1/Mod(TRt(t,a))): tau(t,a): Mod(tau(t,a)):Tau:=(t,a,u)-> matadd(scalarmul(tau (t,a),u),TR(t,a),1,1):Tau(t,a,u):

Tau_ris:=(t,a)->spacecurve(Tau(t,a,u),u=0..1,color =RED, thickness=2,scaling=CONSTRAINED):end proc:

Графическое представление решений

Библиотека plots системы Maple предоставляет возможности построения трехмерной динамической компьютерной модели геодезических линий, оснащенной динамическим цифровым, языковым и графическим сопровождением. Составим программу динамической визуализации движения касательного вектора к геодезической линии на поверхности тора. С помощью команды seq([f(i/m),g(i/m),h(i/m)],i=0..n) вводим последовательности численных решений и затем представляем их в виде графика с помощью команды spacecurve библиотеки plots. Совмещение графиков производим с помощью команды display той же библиотеки.

Приведем фрагмент кодов процедуры

> graphic:=proc(X1,Y1,Z1,u0,v0,V0) local r_U0,u_U0, v_U0,

GeoU0,TVL,RV,Pov,t,a,Rep,Rep_seq; r_U0:=[seq([(2+cos(v_U0(i/20)))*cos(u_U0(i/20)), (2+cos(v_U0(i/20)))*sin(u_U0(i/20)),sin(v_U0(i/20) )],i=0..500)]: GeoU0:=plots [spacecurve](r_U0,thick ness=2,color=black):TVL: =plots[spacecurve] (RV(u _U0(i/20),v_U0(i/20)),i=0..500,numpoints=2000,col or=navy,scaling=CONSTRAINED,thickness=2):Pov :=plot3d(RV(u,v),u=0..2*Pi,v=0..2*Pi,style=WIRE FRAME,color=GREY,scaling=CONSTRAINED):plo ts [display] (TVL,Pov): Rep:=(t,a)-> dis-

play(kas_vect(X1,Y1,Z1),TVL,Pov): Rep(0,2*Pi):Rep_seq:=(a,N)->plots [display] (seq( Rep(i*2*Pi,a),i=0..N), insequence=true: Rep_seq(4,80):end proc:

Приведем пример ввода и исполнения процедуры для тора:

> graphic((2+cos(v))*cos(u),(2+cos(v))*sin(u), sin(v), 2,2,1);

Рис.1. Исполнение команды

graphic

В.А.БУШКОВА

Заключение

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

Автор благодарен профессору Ю.Г.Игнатьеву за постановку задачи и ее обсуждение.

1. Синг Дж. Классическая динамика. - М.: Изд-во физико-математической лит., 1963. - 448 с.

2. Арнольд В.И. Математические методы классической механики. - М., 1989. - 472 с.

3. Проблемы информационных технологий в математическом образовании: учеб. пособ. / под ред. Ю.Г.Игнатьева. - Казань: ТГППУ, 2005. - 118 с.

4. Дьяконов В. Мар1е7: учеб. курс. - СПб.: Питер, 2002. - 672 с.

5. Ленг С. Введение в теорию дифференцируемых многообразий. - М.: Мир, 1967. - 203 с.

6. Эйзенхарт Л.П. Риманова геометрия. - М.: Иностр. лит., 1948. - 316 с.

7. Рашевский П.К. Риманова геометрия и тензорный анализ. - М.: Наука, 1967. - 664 с.

8. Димитриенко Ю.И. Тензорное исчисление. - М.: Высш. шк., 2001. - 575 с.

9. Акивис М.А., Гольдберг В.В. Тензорное исчисление. - М.: Наука, 1969. - 352 с.

PROGRAM PROCEDURE LIBRARY FOR CONTROLLED EQUIPPED DYNAMIC VISUALISATION OF GEODESIC LINES

V.A.Bushkova

The library of program procedures in the Maple computer mathematical system with a view to create controlled equipped dynamic visualization of geodesic lines on arbitrary surfaces is described in the article.

Key words: mathematical modeling, computers mathematical systems, algorithms, differential geometry, geodesic lines.

Бушкова Виктория Аркадьевна - аспирант кафедры высшей математики и математического моделирования Института математики и механики Казанского (Приволжского) федерального университета.

E-mail: vbushkova@inbox.ru

Поступила в редакцию 21.11.2011