Научная статья на тему 'Программирование объектов векторной алгебры и стереометрии в системе компьютерной математики Maple'

Программирование объектов векторной алгебры и стереометрии в системе компьютерной математики Maple Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
1241
145
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ / КОМПЬЮТЕРНАЯ МАТЕМАТИКА / ВЕКТОРНАЯ АЛГЕБРА / MATHEMATICAL SIMULATIONS / COMPUTER MATHEMATICS / VECTOR ALGEBRA

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Сачкова Ольга Алексеевна

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Сачкова Ольга Алексеевна

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

THE PROGRAMMING OF THE OBJECTS OF VECTOR ALGEBRA AND STEREOMETRY IN THE COMPUTER MATHEMATICAL SYSTEM MAPLE

The article presents the basic principles and programme procedures of the mathematical modelling in computer mathematical system Maple of the operations of Vector Algebra and Stereometry. The pro-gramme procedures of graphical mapping of these operations and figures are also described.

Текст научной работы на тему «Программирование объектов векторной алгебры и стереометрии в системе компьютерной математики Maple»

ВЕСТНИК ТГГПУ. 2010. №3(21)

УДК 512;514; 519.6;519.8

ПРОГРАММИРОВАНИЕ ОБЪЕКТОВ ВЕКТОРНОЙ АЛГЕБРЫ И СТЕРЕОМЕТРИИ В СИСТЕМЕ КОМПЬЮТЕРНОЙ МАТЕМАТИКИ MAPLE

© О.А.Сачкова

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

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

1. Введение

Математические модели, как планиметрии, так и стереометрии, изучаемые в системе высшего образования, основаны на векторной алгебре, хотя и не используют явно понятие векторного пространства. Однако при этом в системе высшего нематематического образования применяется идея аналитической геометрии, проще говоря, метод координат [1]. С математической точки зрения методы аналитической геометрии, применяемые в курсах высшей математики для нематематических специальностей, строго не обоснованы. Тем не менее даже такие полуаприорные методы могут дать достаточно сильные результаты при условии ясного понимания студентами основных понятий векторной алгебры.

Вместе с тем как раз здесь зачастую и возникают непреодолимые сложности, связанные, во-первых, с неразвитостью пространственного мышления, во-вторых, с трудностью психологического перехода от школьной, по существу, гильбертовской математической структуры геометрии, построенной на базовых множествах точек, прямых и плоскостей, к вузовской, фактически, вейлевской математической структуре геометрии, построенной на базовых множествах чисел, точек и векторов и являющейся основой аналитического метода [2]. В связи с этим наглядность изложения векторной алгебры и ее приложений к стереометрии играет первоочередную роль. Традиционные методы изложения, связанные с мелом и доской здесь малоэффективны. Системы компьютерной математики (СКМ), особенно Maple, обладающие уникальными графическими возможностями, способны помочь разрешению указанной проблемы.

2. Математические модели векторной алгебры и стереометрии

Векторы a,b,... рассматриваются в курсах высшей математики, как направленные отрезки, то есть являются, по существу, геометрическими векторами:

а = АВ . (1)

Заметим, что в связи с этим у студентов, как и у старшеклассников, возникает путаница. Действительно, какой смысл имеет направленный отрезок, то есть часть прямой, заключенной между двумя точками А и В, если рассматривается, например, вектор скорости, вектор напряженности электрического поля и т.п.? Эта несуразица возникает как раз вследствие неполного аксиоматического определения структуры векторного пространства и пространства точек. Основные векторные операции, изучаемые в курсе высшей математики, следующие тетрарные операции:

1. сложение векторов:

е = а + Ь (2)

2. умножение вектора на число:

С = Ц- а (3)

Обе эти указанные операции объединяются в одну - линейную комбинацию векторов, являющуюся одним из базовых понятий как линейной алгебры, так и аналитической геометрии:

П

С =

1=1

3. скалярное произведение векторов:

(а,Ь) =| а | • | Ь | • 0080 е М, (4)

4. и векторное произведение:

с = [а х Ь] е V,, (5)

так что:

|с| = |а||ь| 8ш<9; (6)

и две тернарные операции:

5. смешанное произведение векторов:

(а,Ь,с) = Ле М (7)

6. и двойное векторное произведение:

[а,[Ь,с]] = Ь(а,с) - с(а,Ь) = й е V,. (8)

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

i j k ax ay az

[a, b] = ax ay az ; (a, b,c) = bx by bг

bx by bг cx cy cz

всех указанных операций в ортонормированном

базисе {ei }З I (ei, еk ) = Sk :

З З

a+b=Z (ai + br )ei; (a •b)=Z a>b>;

(9)

С помощью указанных операций определяется ряд важных для геометрических приложений величин:

• проекция вектора a на ось є:

I I . (а, є)

Ргеа = а С08в = ——, (10)

Іе I

• продольная и перпендикулярная составляющие вектора а на ось е:

а = (а, е) ■ е ; а = а (а, е) ■ е ;

аіі е2 ; а ^ а е2 ; (11)

площадь треугольника со сторонами |а| и

Ibl:

S. = -21 la, b

(12)

• объем тетраэдра с ребрами |a|, |b| и |c|: ^e,=-6| (a, b, c )|

и другие величины. Указанные соотношения и составляют математическую модель векторной алгебры. Связь этих объектов с объектами стереометрии устанавливается биективным отношением между вектором и направленным отрезком.

3. Компьютерное моделирование объектов векторной алгебры и стереометрии Процесс компьютерного моделирования фигур и объектов аналитической геометрии состоит из трех этапов: на первом этапе в координатном представлении вычисляются результаты векторных операций; на втором этапе конструируются графические объекты, соответствующие этим операциям, наконец, на заключительном, третьем этапе, производится сборка сложных графических структур на основе простых. Сборка осуществляется с помощью команды display библиотеки Maple plots. Таким образом, можно сконструировать достаточно сложные многопараметрические программные процедуры, позволяющие контролировать свойства конструируемых графических объектов. Такие процедуры удобно объединить в пользовательскую библиотеку программных процедур.

3.1. Компьютерное моделирование векторных операций

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

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

Заметим, что при создании новой библиотеки ряд встроенных в библиотеки Maple команд неоднозначно взаимодействует со средой proc в пользовательских процедурах. Примером такого конфликта является использование процедуры linalg[matadd]. Поэтому при создании авторских программных процедур рекомендуется проверять их взаимодействие с встроенными в Maple процедурами и при необходимости заменять их собственными. Так, например, программная процедура, реализующая формулу (9) сложения векторов, имеет вид:

> VectorAlgebra[Sum_vec]: =proc(x1,x2) local nn,F:nn:=nops(x1): F:=[seq(x1[i]+x2[i],i=1..nn)]:F: endproc:

Аналогично строится процедура вычитания векторов:

> VectorAlgebra[V_vec]: =proc(x1,x2) local nn,F:nn:=nops(x1):

F:=[seq(x1 [i]-x2[i],i=1..nn)]:F:

end proc:

и процедура произведения вектора на число (по формуле (З)):

>VectorAlgebra[Vec_num]:=proc(mu,a)local nn,k:

nn:=nops(a):[seq(a[k]*mu,k=1..nn)]:

end proc:

Процедуры вычисления скалярного, векторного и смешанного произведений составляются в соответствии с алгоритмами (9). Так, например, процедура вычисления скалярного произведения имеет вид:

>VectorAlgebra[Scal_Vec]:=proc(a,b) local nn,k: nn:=nops(a):sum(a[k]*b[k],k=1..nn):end proc:

Приведем также пример вычисления параллельной составляющей вектора на направление (по формуле (11)):

>VectorAlgebra[Prl_Vec]:=proc(x,e) local xe,e2: xe:=VectorAlgebra[Scal_Vec](x,e): e2:=VectorAlgebra[Scal_Vec](e,e): smplify(VectorAlgebra[Vec_num] (xe/e2,e)):end proc:

З.2. Геометрическая интерпретация векторных операций

Перейдем к описанию программных процедур графической интерпретации векторных операций. Рассмотрим принципы построения таких процедур на примере создания процедуры графической иллюстрации сложения векторов. Эта процедура основана на более простой программной процедуре VectorAlgebra[strelka](A,a,c), которая, в свою очередь, построена на основе программной процедуры Arrow библиотеки plots:

1=1

i=1

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

> VectorAlgebra[S_vec]: =proc(A,a,b) local f,a1,b1,c1,ab:

f:=VectorAlgebra[Sum_vec](a,b):

ab:=VectorAlgebra[Sum_vec] (A,a):

a1:=VectorAlgebra[strelka] (A,a, blue):

c1:=VectorAlgebra[strelka] (A,f,red):

b1:=VectorAlgebra[strelka](ab, b,green):

plots[display](a1,b1,c1,axes=BOXED):end proc:

Процедура VectorAlgebra(A,a,b) осуществляет построение суммы векторов a и b, приложенных к точке A, причем окрашивает первый вектор в голубой цвет, второй - в зеленый, а сумму векторов - в красный. Аналогично строится и программная процедура визуализации векторного произведения Prod_vec(A,a,b), которая осуществляет графическое отображение векторов a, b, приложенных к точке A, их векторного с = a х b , а также параллелограмма, построенного на векторах a,b. При этом первый вектор окрашивается в красный цвет, второй - в зеленый, третий - в голубой, а плоскость параллелограмма - в желтый цвет. Процедура графической иллюстрации продольной и параллельной составляющих вектора, Vec_Pr(M,x,e), осуществляет графическую визуализацию векторов х и е, приложенных к точке М, продольной и перпендикулярной составляющих вектора х относительно вектора е.

3.3. Компьютерное моделирование объектов стереометрии

На третьем этапе компьютерного моделирования конструируются программные процедуры изображения геометрических фигур. Продемонстрируем пример создания процедуры

Nagle(R,a,n,c) графического отображения призмы с ребром a (список), окрашенной в цвет c, в основании которой лежит правильный n-угольник, вписанный в окружность радиуса R:

>VectorAlgebra[Nagle]:=proc(R,a,n,c) local M, i,MN,Ma,MNa,ab,t,k,gab:

M: =(i)->[R*cos(2*Pi*i/n),R*sin(2*Pi *i/n),0]: Ma:=(i)->[R *cos(2*Pi*i/n)+a[1], R*sin(2*Pi*i/n)+a[2],a[3]]:

MN:=plots[polygonplot3d]([seq(Ma(i),i=1..n)],style

=WIREFRAME,color=c):MNa:=plots[polygon-

plot3d]([seq(M(i),i=1..n)]

,style=WIREFRAME,color=c):

ab:=(i,t)->[seq(M(i)[k]+a[k]*t,k=1..3)]:

gab:=(i)-

>plots[spacecurve](ab(i,t),t=0..1,color=c): plots[display] (MN,MNa,seq(gab(i),i=1..n)):end proc:

Результат исполнения этой процедуры показан на Рис.1:

VectorAlgebra[Nagle]:=proc(R,a,n,c)

Рис.1. Графическая иллюстрация призмы VectorAlge-bra[Nagle](2,[1,2,3],3,red);

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Пользовательская библиотека программных процедур "Vector-Algebra" содержит следующие процедуры:

• Reper(A,a,b,c,g,c1,c2,c3) - процедура графической иллюстрации координатного репера с опорной точкой A, и базисными векторами

a,b,c, где g=n x m - количество отображаемых линий координатной сети, c1,c2,c3 - цвета соответствующих плоскостей.

• Reper_name(A,a,b,c,g,c1,c2,c3,p,t,r,d) -процедура графического изображения подписей к координатным осям репера, где a,b,c - базисные векторы, g=n x m - количество отображаемых линий координатной сети, c1,c2,c3 - цвета соответствующих плоскостей, p,t,r - подписи к осям, d - цвет надписей на осях координат.

• Reper_pr (A,a,b,c,g,x1,y1,z1,x2,y2,z2,c1,c2, c3,c4,c3,p,t,r,d) - процедура графического изображения вектора с его проекциями в трехмерной системе координат. Эта процедура является комплексной, содержащей все выше перечисленные процедуры, вложенные друг в друга; здесь a,b,c - координаты заданных векторов, x1,y1,z1 - координаты начала вектора, x2,y2,z2 -координаты конца вектора, c1,c2,c3 - цвета соответствующих плоскостей, c4 - цвет изображения вектора, c3 - цвет его проекции на координатные плоскости, d - цвет надписей на осях координат.

• parallelogram(A,a,b) - процедура графической иллюстрации параллелограмма где a,

b, заданные векторы, приложенные к точке A.

• paralleiepiped_ABCD](A,a,b,c) и pyra-mid_ABCDE](A,a,b,c) - аналогичные процедуры визуализации параллелепипеда и тетраэдра.

На рис.2, З и 4 показано исполнение процедур S_vec(A,a,b),Prod_ vec(A,a,b) и Vec_Pr(M,x,e):

Рис.2. Исполнение графической иллюстрации сложения векторов S_vec ([1,2,1],[1,1,1],[2,3,2]);

Рис.З. Исполнение процедуры векторного произведения Prod_vec ([1,2,1], [1,1,-1],[2,3,2]);

Рис.4. Исполнение графической иллюстрации параллельной и перпендикулярной составляющих вектора Угс_Рг([0,0,0],[10,10,10], [2,4,3])

1. Атанасян Л.С., Базылев В.Т. Геометрия. - М.: Просвещение, 1987. - Ч.І. - 352 с.

2. Клейн Ф., Элементарная математика с точки зрения высшей. Геометрия. - М.: Наука, 1987. - Т.2. - 416 с.

THE PROGRAMMING OF THE OBJECTS OF VECTOR ALGEBRA AND STEREOMETRY IN THE COMPUTER MATHEMATICAL SYSTEM MAPLE

O.A.Sachkova

The article presents the basic principles and programme procedures of the mathematical modelling in computer mathematical system Maple of the operations of Vector Algebra and Stereometry. The programme procedures of graphical mapping of these operations and figures are also described.

Key words: mathematical simulations, computer mathematics, Vector Algebra.

Сачкова Ольга Алексеевна - аспирант кафедры геометрии и математического моделирования Татарского государственного гуманитарно-педагогического университета.

E-mail: sachkova.olga@mail.ru

i Надоели баннеры? Вы всегда можете отключить рекламу.