Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Maple.doc
Скачиваний:
4
Добавлен:
01.04.2025
Размер:
3.72 Mб
Скачать

4.2. Анимация

Диаграммы и графики – наглядный способ представления информации, но статические графики не всегда подчеркивают некоторые аспекты поведения рассматриваемых процессов и объектов, например, деформация подпрыгивающего шара. Анимация в Maple – это множество графических структур, воспроизведенных в определенной последовательности, подобно кинофильму, для этого необходимо запустить графический пакет Maple командой with(plots), затем нужно воспользоваться командой двумерной или трехмерной анимации

animate(график команда, [выражение, параметры переменных=а..b], параметр_t=c..d, опции);

где – график команда – процедура Maple, которая производит двумерный или трехмерный график;

параметр_t – параметр в выражении, относительно которого сделана мультипликация;

опции – параметры управления изображением, аналогичны двумерной и трехмерной графики;

a, b, c, d – вещественные константы, указывающие диапазон мультипликации.

По умолчанию, анимация какого-либо объекта будет представлена шестнадцатью графическими структурами. Если процесс мультипликации не совсем плавен, то можно увеличить число шагов опцией frames (например, до 50 шагов – frames=50).

После активации анимированного объекта щелчком правой клавиши мыши в основном меню окна Maple появится дополнительная команда Animation, а на панели инструментов кнопки для управления просмотра анимированного объекта:

– останавливает процесс мультипликации;

– включает режим просмотра;

и – дают возможность пошагового просмотра графических структур анимированного объекта;

– включает режим просмотра с первой графической структуры;

– включает режим просмотра с последней графической структуры;

– включает непрерывный режим просмотра мультипликации;

– счетчик, показываемых графических структур анимированного объекта.

Кнопками устанавливается скорость показа слайдов в секунду (здесь указано по умолчанию 18 графических объектов ).

Пример.

На рисунке (4.11) предыдущего примера в разделе трехмерной графики представлено несколько поверхностей, отображающих изменение давления (Р) от трех переменных (х1, х2, х3). В данном примере приведены графические структуры, отображающие изменение давления на интервале от 1 до 130 МПа с шагом 10.

[> restart;

[> with(plots):

Warning, the name changecoords has been redefined

[>animate(implicitplot3d,[(5.47-Р)-32.19*x1-22.09*x2-11.32*x3+5.63*x1*x3+38.26*x1^2+

16.33*x2^2+5.02*x3^2,x1=-1..1,x2=-1..1, x3=-1..1],Р=1..130, scaling=CONSTRAINED, orientation=[-56,49],axes=box, frames=13);

Рис. 4.12. Графические структуры, отображающие изменение давления на интервале от 1 до 130 МПа с шагом 10

4.3. Геометрические пакеты Maple

4.3.1. Стереометрия

В Maple есть три геометрических пакета: geometry предназначен для задач планиметрии, geom3dдля задач стереометрии; projgeom для проективной геометрии. Перед обращением к командам пакета сам пакет должен быть подгружен с использованием команды with. В каждом пакете кроме команд задания геометрических объектов имеются команды некоторых характерных величин (площадь, объем и др.), а также не менее стандартных величин (линии Эйлера). Все геометрические структуры, определенные при помощи одного из этих пакетов, могут использоваться только в пределах действия данного пакета. Нельзя, например, в команде пакета geom3d ссылаться на точку, заданную при помощи команды из пакета geometry.

Пакет geometry содержит команды для решения задач двумерной евклидовой геометрии. Перед началом работы пакет нужно подгрузить. Латинские буквы х и у используются, как глобальные переменные для координат точек, а также в качестве переменные в уравнениях прямых и окружностей. Геометрические объекты определяются обычным образом: точка задается своими координатами (команда point), прямая – двумя точками или уравнением (команда line), окружность (circle) – тремя точками, уравнением, заданием центра и радиуса, диаметром.

Целый ряд команд пакета проверяет выполнение того или иного условия для геометрических объектов. Результатом является булевская константа (true или false); в некоторых случаях выдаются координаты объекта (например, точки), при которых будет выполнено проверяемое условие.

Примеры команд:

are_collinearпроверка, лежат ли три точки на одной прямой;

are_concurrent – проверка, проходят ли три прямые через одну точку;

are_harmonicпроверка двух точек на гармоническую сопряженность двум другим точкам;

are_orthogonalпроверка двух окружностей на ортогональность;

are_parallelпроверка параллельности двух прямых;

are_perpendicularпроверка перпендикулярности двух прямых;

are_similarпроверка двух треугольников на подобие;

are_tangent(line,circle)проверка, касательна ли прямая line окружности circle;

concyclicпроверка существования окружности, которой принадлежат четыре точки;

is_equilateralпроверка треугольника на равносторонность;

is_rightпроверка треугольника на прямоугольность;

on_ circle(pt, circle)проверка принадлежности точки pt окружности circle;

on_line(pt,line)проверка принадлежности точки pt прямой line.

Для многих команд результат действия присваивается переменной с именем name. Задание большинства геометрических объектов (вершины треугольника, точки отрезка и др.) не должно содержать никаких символических переменных.

Приведем основные команды:

areaвычисление площади заданного объекта (треугольника, круга, квадрата и др.);

bisector(tri,pt,name) вычисление отрезка от вершины pt до середины противоположной стороны треугольника tri (medianсиноним команды);

center(circle)определение центра окружности, результат присваивается переменной center_circle;

centroid(tri,name)вычисление центра тяжести треугольника;

circle(name,[pt,expr])вычисление окружности с центром в точке pt и радиусом expr;

circle(name,[pt1,pt2,pt3])вычисление окружности, проходящей через три точки;

circumcircle(name,tri)вычисление, описанной вокруг треугольника tri окружности;

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

coordinates(pt)вывод координат точки pt;

detailf(arg)вывод информации об аргументе arg, в качестве которого может быть точка, прямая или окружность;

diameter вычисление диаметра круга, содержащего заданные точки;

distance(pt,line)вычисление расстояния между точкой pt и прямой line;

ellipse(name,[ ])определение эллипса одним из следующих способов: по пяти точкам, по центру и двум полуосям или при помощи уравнения;

find_angleвычисление угла между двумя прямыми или двумя окружностями;

incircle(tri,name)вычисление вписанной в треугольник tri окружности;

inter(line1,line2)вычисление точки пересечения двух прямых;

intersion(pt1,circle, name)вычисление для точки pt точки инверсии относительно окружности circle;

midpoint(pt1, pt2, name)вычисление средней точки на отрезке, заданном двумя токами pt1 и pt2;

parallel(pt, line, name)вычисление прямой, проходящей через точку pt и параллельной прямой line;

perpen_bisector(pt1, pt2, name)вычисление прямой, проходящей через середину отрезка, заданного двумя точками pt1 и pt2, и ортогональной ему;

perpendicular (pt, line, name) вычисление прямой, проходящей через точку pt и перпендикулярной прямой line;

projection(pt, line, name)вычисление проекции точки pt на прямую line;

radius вычисление радиуса окружности;

randpoint(line,name)задание случайной точки на прямой line;

reflect(pt,line,name)вычисление точки, зеркально симметричной точке относительно pt прямой line;

sides вычисление периметра треугольника;

symmetric(pt,line,name)вычисление точки, которая симметрична точке pt по отношению к прямой line;

tangent(pt,circle,name1,name2)вычисление двух прямых, проходящих через точку pt и касательных к окружности circle; результат присваивается переменным name1 и name2;

tangentpc(pt,circle,name1)вычисление касательной к окружности circle, проходящей через точку pt.

Пример.

Найти у окружности определенной тремя точками A(7,2), B(2,-6), C(-9,-2) координаты центра, радиус, уравнение, площадь.

[> restart;

[> with(geometry):

[>_EnvHorizontalName:= x:_EnvVerticalName := y:

[> circle(c1,[point(A,7,2), point(B,2,-6), point(C,-9,-2)],'centername'=O1):

center(c1), coordinates(center(c1));

[> radius(c1);

[> Equation(c1);

[> area(c1);

[> detail(c1);

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]