Научная статья на тему 'ПРОГРАМУВАННЯ В СЕРЕДОВИЩІ MAPLE ДЛЯ РОЗВ’ЯЗУВАННЯ ЗАДАЧ АНАЛІТИЧНОЇ ГЕОМЕТРІЇ'

ПРОГРАМУВАННЯ В СЕРЕДОВИЩІ MAPLE ДЛЯ РОЗВ’ЯЗУВАННЯ ЗАДАЧ АНАЛІТИЧНОЇ ГЕОМЕТРІЇ Текст научной статьи по специальности «Математика»

CC BY
79
48
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПРОГРАММИРОВАНИЕ В СРЕДЕ MAPLE

Аннотация научной статьи по математике, автор научной работы — Кобильник Т.П.

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

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

PROGRAMMING IN MAPLE SYSTEM FOR SOLVING ANALYTICAL GEOMETRY PROBLEMS

The article deals with the learning of Maple system by solving analytical geometry solving. Two geometrical packages geometry and geom3d are analyzed in the article and the characteristic of some commands are given.

Текст научной работы на тему «ПРОГРАМУВАННЯ В СЕРЕДОВИЩІ MAPLE ДЛЯ РОЗВ’ЯЗУВАННЯ ЗАДАЧ АНАЛІТИЧНОЇ ГЕОМЕТРІЇ»

ПРОГРАМУВАННЯ В СЕРЕДОВИЩ1 MAPLE ДЛЯ РОЗВ'ЯЗУВАННЯ ЗАДАЧ АНАЛ1ТИЧНО1 ГЕОМЕТР11

Т.П.Кобильник, астрант,

Нащональний педутверситет M. М.П.Драгоманова,

м.Киы, УКРА1НА

Стаття присвячена вивченню систем комп 'ютерног математики Maple на основг задач з аналтичног геометрИ У статт1 описано два геометричм пакети geometry та geom3d та дано характеристику деяким командам з цих пакет1в.

В останш десятирiччя сформувався та розвиваеться науковий напрям на межi математики та шформатики -комп'ютерна математика [1], основними засобами яко'1 е системи комп'ютерно'1 математики (СКМ).

На сьогодш юнуе досить багато СКМ, за допомогою яких можна роз-в'язувати складш математичш задачi за невеликий промiжок часу. Проте слщ пам'ятати, що застосування СКМ при розв'язуванш задач повинно бути гра-мотним, що в свою чергу передбачае:

- знання математично!' термшологи;

- знання методiв i засобiв розв'язу-вання задач;

- вмiння правильно сформулювати задачу, яку повинен виконати комп'ю-тер;

- здатнiсть передбачити результат;

- вмшня контролювати правиль-шсть розв'язування задачi на промiжних етапах;

- вмшня аналiзувати i дослiджува-ти отриманий результат.

Розглянемо використання системи комп'ютерно'1 математики Maple[2] для розв'язування деяких задач анал^ично'! геометрп. Maple - унiверсальний мате-матичний пакет, в якому передбачеш засоби для аналiтичних перетворень, чисельних методiв розв'язування задач, комп'ютерно'1 графши.

Система Maple мiстить два геомет-ричнi пакети: geometry - для задач плашметрп, geom3d - для задач стереометра. Перед зверненням до ix команд пакети потрiбно тд'еднати за допомогою команди with. У кожному пакет^ ^м команд задання геометричних об'eктiв (вiдрiзку, прямо'1, площини, кола, сфери i т.д.), е команди для обчис-лення деяких характерних величин (площ^ об'ему та iн.), а також структу-ри дещо менш стандартних величин (наприклад, лшп Ейлера). Вс геомет-ричнi об'екти, що визначаються за допомогою одного з цих пакепв, можуть використовуватися тшьки в межах робо-ти з даним пакетом. Для вах геометричних пакепв характерний наступний спо-сiб визначення об'ектiв: перший параметр команди задае iм'я об'екта, далi -власне вiдомостi про об'ект. Цим гео-метричнi пакети вiдрiзняються вiд звич-ного при робот з Maple визначення змшно'1 або структури за допомогою операцп надання значення. Для перегляду полiв структури, за допомогою яко'1' описуеться геометричний об'ект, вико-ристовуеться команда detail() . Для графiчного подання геометричних об'екпв використовуеться команда draw(). При побудовi на одному рисунку кшькох геометричних об'екпв можна вказувати параметри графiчного зображення (наприклад, колiр) кожного

© Kobylnyk T.

об'екта. Результатом виконання коман-ди е структури дво- або тривимiрноi графiки, тому при зверненш до команди використовуються параметри, аналопч-нi до параметрiв графiчних об'ектiв.

Роботу з командами Maple прошю-струемо на прикладах 3i збiрника задач з анал^ично" геометрп Д.В.Клетеника [3].

Розглянемо кiлька задач з анал^ич-но'' геометрп на площиш.

Задача 1. Дано рiвняння двох сторiн прямокутника 5 х + 2 y - 7 = 0, 5х + 2 y - 7 = 0 та рiвняння його дiагоналi 3х + 7y -10 = 0. Скласти рiвняння шших сторiн та друго" дiагоналi [2, с.44].

Розв 'язання. Нехай AD : 5 х + 2y - 7 = 0, BC :5 х + 2y - 7 = 0 та AC :3х + 7y-10 = 0.

Складемо схему розв'язування дано'' задача

1. Побудуемо схематично рисунок до задач' (рис.1):

2. Знайдемо координати точок перетину дiагоналi AC зi сторонами прямокутника AD та BC (вщповщно точки A та C ).

3. Знайдемо рiвняння сгорш AB та CD.

4. Знайдемо координати точок B та D .

5. Знайдемо рiвняння дiагоналi BD. Перш за все тд'еднаемо пакет

geometry та задамо iмена горизонтально'' та вертикально'' координат: >with(geometry): _EnvHorizontalName := x: _EnvVerticalName := y:

Задамо двi сторони та дiагональ прямокутника:

>line(AD,5*x+2*y-7=0): line(BC,5*x+2*y-36=0): line(AC,3*x+7*y-10=0):

Координати т. A знаходимо як точку перетину прямих AD та AC , тобто A = AD n AC. Аналогiчно знаходимо координати т. C як координати точки перетину прямих BC та AC , тобто C = BC n AC :

> intersection(A,AD,AC): intersection(C,BC,AC): Знайдемо рiвняння сторiн AB як

перпендикулярно'' прямо'' до AD, що

проходить через точку B :

>

PerpendicularLine(AB,A,AD):

Аналогiчно шукаемо рiвняння сторони CD :

> PerpendicularLine(CD,C,AD): Маючи рiвняння всiх сгорiн прямо-

кутника, знайдемо координати т. B як перетин сгорiн AB та BC та координати т. D як перетин сторш AD та CD :

> intersection(B,AB,BC): intersection(D,AD,CD):

За двома точками B та D знаходимо рiвняння дiагоналi BD: >line(BD,[B,D]): Залишилось тшьки вивести рiвняння сторiн AB, CD та дiагоналi BD:

> Equation(AB); 3 + 2 х - 5 y = 0

> Equation(CD);

-26 + 2 х - 5 y = 0

> Equation(BD);

-33 + 7 х - 3 y = 0

Для вiзуалiзацii розв'язку побудуемо

прямокутник:

>

draw([AD,BC,CD,AB,AC,BD],printt ext=true,view=[-2..10,-8..6]);

®

Розглянемо наступну задачу. Задача 2. Точка Е(1;-1) е центром квадрата, одна зi сторiн якого лежить на прямш х-2у +12 = 0. Скласти рiвнян-ня прямих, на яких лежать iншi сторони цього квадрата [2, с.45].

Розв 'язання. Зазначимо, що центр квадрату - це точка перетину його дiагоналей.

Задамо т. Е та пряму (а1), яка мiстить сторону квадрата: >point(E,1,-1): line(a1,x-2*y+12=0): Спроектуемо точку перетину дiаго-налей (т. Е) квадрата на пряму а1 та знайдемо вщстань вщ т. Е до прямо! а1, що дорiвнюе половинi довжини сторони квадрата:

>projection(F,E,a1): coordinates(F),• d:=distance(E,a1),• [-2,5]

а := 3./5

Побудуемо двi вершини квадрата (точки А та В ), яю належать прямш а1 та розмiщенi по рiзнi сторони вiд точки проекцп центра квадрата (т. ^) на вщсташ d вiд не!:

> point(A,[HorizontalCoord(F)-d*2/sqrt(5),

VerticalCoord(F)-d/sqrt(5)]): point(B,[HorizontalCoord(F)+d *2/sqrt(5),

VerticalCoord(F)+d/sqrt(5)]):

Побудуемо перпендикуляри з вершин A та B квадрата до прямо'' a1: >PerpendicularLine(AD,A,a1): PerpendicularLine(BC,B,a1): Проведемо дiагоналi квадрата, якi проходять через точки A та B :

> line(AC,[A,E]): line(BD,[B,E]):

Знайдемо точки перетину з вiдповiдними сторонами квадрата:

> intersection(D,AD,BD): intersection(C,AC,BC): Знайдемо рiвняння прямо'', на якш

лежить сторона CD: >line(CD,[C,D]): Виведемо рiвняння прямих, на яких лежать сторони квадрата:

> Equation(a1); 12 + х - 2 y = 0

> Equation(BC);

16 - 2 х - y = 0

> Equation(CD);

-108 + 6 х - 12 y = 0

> Equation(AD);

-14 - 2 х - y = 0

Для вiзуалiзацii задачi можна

побудувати рисунок:

>

draw({square(sq,[A,B,C,D]),F,

segment(v1,[E,B]),

segment(v2,[E,A]),

segment(v3,[E,F])} union

{a1,AD,BC,CD},view=[-11..11,-

11..9],printtext=true);

5

6 4 2 0 -2 -4 -6 -S

-10,

'-10 -5 0 5 10 Розглянемо розв'язування задач ана-л^ично'' геометрп у просторi.

© КоЬу1пук Т.

Задача 3. Скласти рiвняння площин, паралельних площинi 2х - 2у - z - 3 = 0 i вiддалених вiд не! на вiдстань d = 5 [2, с.159].

Розв'язання. Перш за все тдклю-чимо пакет geom3d: >with(geom3d): Побудуемо задану площину ^1), а паралельну площину (a2) задамо як рiв-няння з одним невщомим - вiльним членом D, а всi коефiцiенти при незалежних змш-них будуть дорiвнювати вщповщним кое-фiцiентам задано! площини: plane(a1,2*x-2*y-z=0,[x,y,z]);

plane(a2,2*x-2*y+D=0,[x,y,z]);

Знайдемо коефiцiент D з умови, що вщстань d мiж цими площинами дорiвнюе 5:

> r:=distance(a1,a2),•

г := ||3 + О

> solve(r=5,D),•

12, -18

Знайдемо рiвняння площин, паралельних площиш 2 х - 2 у - z - 3 = 0

i вiддалених вiд не! на вiдстань d = 5 :

>

subs(D=d1[1],Equation(a2)); subs(D=d1[2],Equation(a2));

2 х - 2 у - z + 12 = 0

2 х - 2 у - z - 18 = 0 Задача 4. Знайти точку Q, симет-ричну до точки Р(3;-4;-6) вiдносно площини, що проходить через точки M! (—6;1;—5), M2(7;-2;-1) та

M3 (10;-7;1) [2,с.173].

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

Розв 'язання. Визначимо точки Д3;-4;-6), Mх(-6;1;-5), M2(7;-2;-1), M3 (10;-7;1) :

>point(P,[3,-4,-6]); point(M1,[-6,1,-5]); point(M2,[7,-2,-1]); point(M3,[10,-7,1]);

P

M1

Ы22

Знайдемо рiвняння площини a1, що

проходить через точки M1, M2 та M3:

>

plane(a1,[M1,M2,M3],[x,y,z]); Equation(a1),•

a1

-182 + 14 х - 14 у - 56 z = 0 Знайдемо нормальний вектор площини a1, який буде напрямним для прямо! l, яка проходить через точку P(3;-4;-6). Запишемо рiвняння прямо! l у параметричному виглядг

>п := NormalVector(a1); line(l,[n,P]); riv:=Equation(l1,,t,); п := [14, -14, -56] ;

т := [3 + 14 t, -4 - 14 t, -6 - 56 ^ Знайдемо координати точки O

перетину прямо! l з площиною a1:

>

solve({x=riv[1],y=riv[2],z=riv [3],a1l},{x,y,z,t});assign(%);

{ t = 14,у = -3, х = 2, z = -2}

Слщ зазначити, якщо при розв'язу-ваннi рiвнянь або систем рiвнянь вщпо-вiдь отримуеться у виглядi множини рiвнянь, в яких лiва частина е невщо-мою змiнною, то для того щоб надати значення змшним, вiдносно яких розв'я-зувалось рiвняння або система рiвнянь, потрiбно застосувати команду assign(). За щею командою надають-ся значення змшним в лiвiй частиш рiвнянь з множини розв'язкiв, значення, яю дорiвнюють правим частинам. Символ % означае посилання на результат виконання попередньо! операцп. Визначимо т. O: >point(O,[x,y,z]); О

Задамо т. Q( х0, У0, Zo): >point(Q,[x0,y0,z0]);

Q

Визначимо середину вiдрiзка PQ :

>midpoint(M,P,Q);

M

Координати точок M та O рiвнi. Тому для знаходження координат точки Q прирiвняемо вщповщш координати точок M та O :

> z1:=coordinates(M); CP:=coordinates(O);

"3 1.11

z1 :=

„ + - х0, -2 + -y0, -3 + - z0 2 2' 2' ' 2

CP := [2, -3,-2]

>

solve({z1[1]=CP[1],z1[2]=CP[2 ],z1[3]=CP[3]},{x0,y0,z0});

{ z0 = 2, х0 = 1, y0 = -2}

Точка Q(1;-2;2) е симетричною до точки P(3;-4;-6) вiдносно площини a1.

Система Maple мае потужш засоби для розв'язування задач з анал^ично' геометрп. Вивчення СКМ дозволить ютотно розширити коло навчальних, математичних та науково-дослiдних задач, зокрема на побудову та дослщ-ження математичних моделей за допо-могою СКМ, пiдвищити математичну та шформацшну культуру студентiв, як-найкраще пiдготувати молодь до профе-сшно' дiяльностi в умовах шформацш-ного суспшьства. Застосування СКМ в

освт позбавляе студентiв вiд виконан-ня рутинних обчислень, вивiльняе час, обмiрковування алгоритмiв розв'язування задач, постановки задач i побудови вiдповiдних математичних моделей, по-дання результатiв у найбшьш зручнiй формi. Вивiльнений час можна викорис-тати для бшьш глибокого вивчення математично' сутностi задач i методiв 'х розв'язання. При цьому вщкриваються новi можливостi щодо гумашзацп нав-чального процесу та гумаштаризацп освiти, диференцiацii навчання вщпо-вiдно до запитiв, нахилiв i здiбностей студентiв. Використання СКМ не тшьки не позбавляе студентiв вмшь розв'язу-вати математичнi задачi, а навпаки, здатне суттево 'х поглибити.

1. Дьяконов В.П. Компьютерная математика. Теория и практика. - М. :Нолидж, 2001. - 624с.

2. Прохоров Г.В., ЛеденевМ.А., Колбе-ев В.В. Система аналитических вычислений Maple -М. : Петит, 1997. - 200 с.

Клетеник Д. В. Сборник задач по аналитической геометрии под ред.проф. Н.В.Ефимова. -M.: Наука, 1969. -256 с.

Резюме. Кобыльник Т.П. ПРОГРАММИРОВАНИЕ В СРЕДЕ MAPLE ДЛЯ РЕШЕНИЯ ЗАДАЧ АНАЛИТИЧЕСКОЙ ГЕОМЕТРИИ. Статья посвящена изучению систем компьютерной математики Maple на основе задач по аналитической геометрии. В статье описаны два геометрических пакета geometry и geom3d и дана характеристика некоторым командам из этих пакетов.

Summary. Kobylnyk T. PROGRAMMING IN MAPLE SYSTEM FOR SOLVING ANALYTICAL GEOMETRY PROBLEMS. The article deals with the learning of Maple system by solving analytical geometry solving. Two geometrical packages geometry and geom3d are analyzed in the article and the characteristic of some commands are given.

Hadiuwna do pedaKUfi 13.11.2006p.

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