Система компьютерной математики Maple
Средства визуализации вычислений и математических понятий в среде Maple: функция для построения двумерных графиков plot и трехмерных plot3d. Построения специальных графиков решения дифференциальных уравнений и прочее. Управляющие параметры среды.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 09.06.2012 |
Размер файла | 2,0 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
19
Размещено на http://www.allbest.ru/
Система компьютерной математики Maple
ВВЕДЕНИЕ
Система компьютерной математики Maple является лидером среди систем символьной математики. Особенно широко она применяется в университетах и крупных научных центрах. Привлекательности системы, особенно новых реализаций Maple, во многом способствуют мощные средства визуализации вычислений и математических понятий.
В ядро системы Maple встроено ограниченное число функций построения графиков. Это, прежде всего, функция для построения двумерных графиков plot и функция для построения трехмерных графиков plot3d. Для построения специальных графиков (например, векторных полей градиентов, решения дифференциальных уравнений, построения фазовых портретов и т. д.) в пакеты системы Maple включено большое число дополнительных графических функций. Для их вызова необходимы соответствующие указания.
Средства для построения графиков в большинстве языков программирования принято считать графическими процедурами или операторами. Однако, в данном случае следует сохранить за ними наименование функций, в силу двух принципиально важных свойств:
*графические средства Maple возвращают некоторые графические объекты, которые размещаются в окне документа -- в строке вывода или в отдельном графическом объекте;
*эти объекты можно использовать в качестве значений переменных, то есть переменным можно присваивать значения графических объектов и выполнять над ними соответствующие операции.
Графические функции заданы таким образом, что обеспечивают построение типовых графиков без какой-либо особой подготовки. Для этого нужно лишь указать функцию, график которой строится, и пределы изменения независимых переменных. Однако, с помощью дополнительных необязательных параметров (опций) можно существенно изменить вид графиков -- например, настроить стиль и цвет линий, вывести титульную надпись, изменить вид координатных осей и т. д. Эти опции имеют значения по умолчанию - они и обеспечивают начальный вид графиков, который получается при использовании функций без задания опций в качестве их параметров.
1. ПОСТРОЕНИЕ ДВУХМЕРНЫХ ГРАФИКОВ
1.1 Функция plot
В математике широко используются зависимости вида f(x) или у(х). Их графики строятся на плоскости в виде ряда точек, обычно соединяемых отрезками прямых. Таким образом, используется кусочно-линейная интерполяция двумерных графиков. Если число точек графика достаточно велико (десятки или сотни), то приближенность построения не очень заметна.
Для построения двумерных графиков служит функция plot. Она задается в виде:
plot(f,h,v)plot(f,h,v,о)
где f -- визуализируемая функция (или функции), h -- переменная с указанием области ее изменения, v -- необязательная переменная с указанием области изменения, о -- параметр или набор параметров, задающих стиль построения графика (толщину и цвет кривых, тип кривых, метки на них и т. д.).
Самыми простыми формами задания этой функции являются следующие:
*plot( f ,xmin..xmax) --построение графика функции, заданной только своим именем;
*plot(f (x) ,x=xmin..xmax) --построение графика функции f(x). Диапазон изменения независимой переменной х задается как xmin..xmax,
где xmin и xmax -- минимальное и максимальное значение х, .. (две точки) -- составной символ, указывающий на изменение независимой переменной. Имя х здесь дано условно -- независимая переменная может иметь любое допустимое имя.
Помимо построения самой кривой у(х) или f(x) необходимо задать ряд других свойств графиков, например вывод координатных осей, тип и цвет линий графика и др. Это достигается применением параметров графика -- специальных указаний для Maple.
1.2 Управляющие параметры
Графики обычно (хотя и не всегда) строятся сразу в достаточно приемлемом виде. Это достигается тем, что многие параметры задаются по умолчанию и пользователь может о них ничего не знать. Однако язык общения и программирования Maple позволяет задавать управляющие параметры и в явном виде.
Для двумерного графика возможны следующие параметры:
*adaptive -- включение адаптивного алгоритма построения графиков;
* axes -- вывод различных типов координат (axes=NORMAL -- обычные оси, выводятся по умолчанию, axes = BOXES -- график заключается в рамку с осями-шкалами, axes = FRAME -- оси в виде перекрещенных линий, axes = NONE -- оси не выводятся);
*axesfont -- задание шрифтов для подписи делений на координатных осях;
*color -- задает цвет кривых;
*coords -- задание типа координатной системы;
*discont -- задает построение непрерывного графика (значения true или false);
*filled -- при filled=trueзадаетсяокраска цветом, заданным параметром color, для области, ограниченной построенной линией и горизонтальной координатной осью х;
*font -- задание шрифта в виде [семейство, стиль, размер];
*labels -- задание надписей по координатным осям в виде [X,Y], где X и Y -- надписи по осям х и у графика;
*labeidirections -- задает направление надписей по осям [X,Y], где X и У может иметь строковые значения HORISONTAL (горизонтально) и VERTICAL (вертикально);
*labelfont -- задает тип шрифта метод;
*legend -- задает вывод легенды (обозначения кривых);
*linestyle -- задание стиля линий (1 -- сплошная, 2 -- точками, 3 -- пунктиром и 4 -- штрихпунктиром);
*numpoints -- задает минимальное количество точек на графике (по умолчанию numpoints = 49);
*resolutions -- задает горизонтальное разрешение устройства вывода (по умолчанию resoiutions = 200, параметр используется при отключенном адаптивном методе построения графиков);
*sample -- задает список параметров для предварительного представления кривых;
*scaling -- задает масштаб графика: CONSTRAINED (сжатый) или UNCONSTRAINED (несжатый -- по умолчанию);
*size- задает размер шрифта в пунктах;
*style--задает стиль построения графика (POINT -- точечный, LINE -- линиями);
*symbol -- задает вид символа для точек графика (возможны значения BOX -- прямоугольник, CROSS -- крест, CIRCLE -- окружность, POINT -- точка,DIAMOND -- ромб);
*symbolsize -- установка размеров символов для точек графика (в пунктах, по умолчанию 10);
*title -- задает построение заголовка графика (title="string", где string -- строка);
*titlefont -- определяет шрифт для заголовка;
*thickness -- определяет толщину линий графиков (0,1,2,3, значение по умолчанию -- 0);
* view=[A, B] --определяет максимальные и минимальные координаты, в пределах которых график будет отображаться на экране, А =[xmin..хmax], B = [yrnin , .уmax] (по умолчанию отображается вся кривая);
*xtickmarks -- задает минимальное число отметок по оси х;
*ytickmarks -- задает минимальное число отметок по оси у.
В основном задание параметров особых трудностей не вызывает, за исключением задания титульной надписи с выбором шрифтов по умолчанию -- в этом случае не всегда поддерживается вывод символов кириллицы (русского языка). Подбором подходящего шрифта эту проблему удается решить. Модификация графиков с помощью управляющих параметров подробно рассматривается ниже.
Рисунок 1 - Искажение графика параболы при задании большого числа Digits
Специальный параметр adaptive задает работу специального адаптивного алгоритма для построения графиков наилучшего вида. При этом Maple автоматически учитывает кривизну изменения графика и увеличивает число отрезков прямых в тех частях графиков, где их ход заметно отличается от интерполирующей прямой. При задании adaptive = false адаптивный алгоритм построения графиков отключается, а при adaptive = true включается (значение по умолчанию).
Замечено, что при больших Digits:=301 (и выше) функция plot дает ошибочное построение графиков даже простых функций, например х^2 или х^3. Характер искажений показан на рис. 1. Здесь дано построение графика параболы функцией plot(x^2,x = -1..1) при Digits:= 300, 301 и 302.
1.3 Параметр coords
В Maple параметр coords задает 15 типов координатных систем для двумерных графиков. По умолчанию используется прямоугольная (декартова) система координат (coords = cartesian). При использовании других координатных систем координаты точек для них (u, v) преобразуются в координаты (х, у) как (u, v) (х, у). Ниже приведены наименования систем координат (значений параметра coords) и соответствующие формулы преобразования:
bipolar:
х = sinh(v)/(cosh(v)-cos(u))
у = sin(u)/(cosh(v)-cos(u))
cardioid:
x = 1/2* (u^2-v^2) / (u^2+v^2)^2
у = u*v/(u^2+v^2)^2
cartesian:
x = u
у = v
cassinian:
x=а*2^(1/2)/2*((exp(2*u)+2*exp(u)*cos(v)+1)^(1/2)+exp(u)*cos(v)+1)^(1/2)
у=а*2^(1/2)/2*((exp(2*u)+2*exp(u)*cos(v)+1)^(1/2)-exp(u)*cos(v)-1)^(1/2)
elliptic:
x = cosh(u)*cos(v)
у = sinh(u)*sin(v)
hyperbolic:
x = ((u^2+v^2)^(1/2)+u)^(1/2)
у = ((u^2+v^2)^(1/2)-u)^(1/2)
invcassinian:
x=а*2^(1/2)/2*((exp(2*u)+2*exp(u)*cos(v)+1)л(1/2)+exp(u)*cos(v)+l)^(l/2)/ (exp(2*u)+2*exp(u)*cos(v)+l)^(l/2)
у=а*2^(1/2)/2*((exp(2*u)+2*exp(u)*cos(v)+1)^(1/2)-exp(u)*cos(v)-l)^(l/2)/(exp(2*u)+2*exp(u)*cos(v)+1)^(1/2)
invelliptic:
x = a*cosh(u)*cos(v)/(cosh(u)^2-sin(v)^2)
у = a*sinh(u)*sin(v)/(cosh(u)^2-sin(v)^2)
logarithmic:
x = a/Pi*ln(u^2+v^2)
у = 2*a/Pi*arctan(v/u)
logcosh:
x = a/Pi*ln(cosh(u)^2-sin(v)^2)
у = 2*a/Pi*arctan(tanh(u)*tan(v))
maxwell:
x = a/Pi*(u+l+exp(u)*cos(v))
у = a/Pi*(v+exp(u)*sin(v))
parabolic:
x = (u^2-v^2)/2
у = u*v
polar:
x = u*соs(v)
у = u*sin(v)
rose:
х = ((u^2+v^2)/4(l/2)+u)/4(l/2)/(u^2+v^2)^(1/2)
у = ((u^2+v^2)^(l/2)-u)^(l/2)/(u^2+v^2)^(1/2)
tangent:
х = u/(u^2+v^2)
у = v/(u^2+v^2)
1.4 Управление стилем и цветом линий двумерных графиков
Mapleпозволяет воспроизводить на одном графике множество кривых с разным стилем, который задается параметром style:
*POINT или point -- график выводится по точкам;
*LINE или line -- график выводится линией.
Если задано построение графика точками, то параметр symbol позволяет представить точки в виде различных символов, например прямоугольников, крестов, окружностей или ромбов. Другой параметр -- color -- позволяет использовать обширный набор цветов линий графиков:
aquamarineblackbluenavycoral
cyanbrowngoldgreengray
greykhakimagentamaroonorange
pinkplumredsiennatan
turquoisevioletwheatwhiteyellow
Различныецветовыеоттенкиполучаютсяиспользованием RGB-комбинацийбазовыхцветов: red -- красный, gray -- зеленый, blue -- синий. Приведемпереводрядадругихсоставныхцветов: black -- черный, white -- белый, khaki -- цвет «хаки», gold -- золотистый, orange -- оранжевый, violet -- фиолетовый, yellow -- желтыйит. д.
При построении графика одной функции она записывается в явном виде на месте шаблона f. Примеры построения графика одной функции представлены:на рис. 2. Необходимо обратить внимание на то, что график функции sin(x)/x строится без характерного провала в точке х = 0, который наблюдается при построении графиков этой функции многими программами. Данный результат связан с использованиемправила -- функция задается равной нулю, если ее числитель равен нулю. Данная функция в этой точке дает устранимую неопределенность 0/01, что и учитывает графический процессор системы Maple.
Рисунок 2 - Примеры построения графика одной функции
При построении графиков одной функции могут быть введены описание диапазонов и различные параметры, например, для задания цвета кривой, толщины линии, которой строится график функции, и др. К примеру, запись в списке параметров color=black задает вывод кривых черным цветом, а запись thikness=2 задает во втором примере (рис. 2) построение графика линией, удвоенной по сравнению с обычной толщиной.Запись color = red дает красный цвет, color=green -- зеленый цвет, color=blue -- синий цвет и т. д. При черно-белой печати цвета представляются оттенками серого цвета.
Для управления отображаемой на графике области служит задание диапазонов принимаемых значений для переменной и функции. Для указания диапазона изменения переменной var используется выражение var = exprl..expr2, где exprl задает левую границу диапазона изменения var, а ехрr2 - правую границу.
В ряде случаев указания на диапазоны можно не применять, тогда Maple автоматически задает приемлемые диапазоны. Однако их явное указание позволяет управлять областью графика вручную. Иногда соответствующее задание диапазонов случайно или целенаправленно ведет к отсечению части графика.
Правильный выбор диапазонов повышает представительность графиков функций. Рекомендуется вначале пробовать строить графики с автоматическим выбором диапазонов, а уже затем указывать их вручную.
2. СПЕЦИАЛЬНЫЕ СРЕДСТВА ПОСТРОЕНИЯ ГРАФИКОВ.
2.1 Построение на бесконечности
Изредка встречаются графики функций f(x), которые надо построить при изменении значения х от нуля до бесконечности или даже отминус бесконечности до плюс бесконечности. Бесконечность в таких случаях задается как особая константа infinity. В этом случае переменной х, устремляющейся в бесконечность, откладывается значение arctan(x).
Некоторые функции, например tan(x), имеют при определенных значениях х разрывы, причем случается, что значения функции в этом месте устремляются в бесконечность.
Функция tan(x), к примеру, в точках разрывов устремляется к“+” и“--”. Построение графиков таких функций нередко дает плохо предсказуемые результаты. Графический процессор Maple не всегда в состоянии определить оптимальный диапазон по оси ординат, а график функции выглядит весьма непредставительно, если не сказать безобразно.
Среди аргументов функции plot есть специальный параметр discont. Если задать его значение равным true, то качество графиков существенно улучшается. Улучшение достигается разбиением графика на несколько участков, на которых функция непрерывна, и более тщательным контролем за отображаемым диапазоном. При discont = falseданный параметр отключен и строятся обычные графики.
Следует отметить, что вид графика можно улучшить, просто задав диапазон по оси у (например, введя в параметры функции запись у = 10..10). При этом в точках разрыва могут появится вертикальные линии. Впрочем, иногда это бывает полезно.
2.2 Построение графиков нескольких функций
Важное значение имеет возможность построения на одном рисунке графиков нескольких функций. В простейшем случае для построения таких графиков достаточно перечислить нужные функции и установить для них общие интервалы изменения.
Обычно графики разных функций автоматически строятся разными цветами. Но это не всегда удовлетворяет пользователя -- например, при распечатке графиков монохромным принтером некоторые кривые могут выглядеть слишком блеклыми или даже не пропечататься вообще. Используя списки параметров color (цвет линий) и style (стиль линий), можно добиться выразительного выделения кривых -- когда линии графиков выделяются стилем. В то же время при задании кривых разным цветом они при черно-белой печати могут перестать различаться.
Рисунок 3 - График функции sin(x)/x и ее полиномиальной аппроксимации
На рис. 3 показан еще один пример такого рода. Здесь построен график функции sin(x)/x и график ее полиномиальной аппроксимации. Она выполняется настолько просто, что соответствующие функции записаны прямо в списке параметров функции plot.
В данном случае сама функция построена сплошной линией, а график полинома точками -- ромбами. Хорошо видно, что при малых х аппроксимация дает высокую точность, но затем с ростом х ее погрешность резко возрастает.
Показанный на рис. 3 график полинома, построенный ромбиками, не означает, что полином представлен отдельными точками. В данном случае просто выбран стиль линии в виде точек. Однако часто возникает необходимость построения графиков функций, которые представлены просто совокупностями точек, т. е. по существу таблично. Такая совокупность может быть создана искусственно, либо просто задаваться списком координат х и значений функции.
В данном случае переменная Р имеет вид списка, в котором попарно перечислены координаты точек функции sin(x). В этом нетрудно убедиться, заменив знак «:» после выражения, задающего Р, на знак «;». Далее по списку Р построен график точек в виде кружков, которые отображают отдельные значения функции sin(x).
На рис. 4 показано построение графиков функций по точкам при явном задании функции списком координат ее отдельных точек. В первом примере эти точки соединяются отрезками прямых, так что получается кусочно-линейный график. Видно также, что указание типа точек после указания стиля линии игнорируется.
Во втором примере (рис. 4) показано построение только точек заданной функциональной зависимости. Они представлены маленькими кружками.
Рисунок 4 - Построение графика функции, явно заданной отдельными точками
2.3 Построение графика по заданным точкам
До сих пор мы рассматривали графики функций. А можно ли задать несколько точек своими координатами и затем последовательно соединить отрезками прямой - другими словами, построить полигон! Используя при этом не специальную функцию, а обычную - plot.
Ответ на этот вопрос положительный. Рисунок 5 показывает вначале задание координат точек -- углов треугольника (аналогично можно было бы рассмотреть и другую фигуру). После этого строится график заданных точек, а затем уже график и самого треугольника.
Способность Maple к упрощению работы пользователя просто поразительна -- жаль только, что многие возможности этого становятся ясными после основательного изучения программы. Применительно к графикам одной из таких возможностей является построение графиков функций, заданных только их функциональными именами -- даже без указания параметров в круглых скобках. Такую возможность наглядно демонстрирует рис. 6.
Рисунок 5 - Построение графиков угловых точек треугольника и самого треугольника
Рисунок 6 - Построение графиков четырех функций, заданных только их именами
Этот пример показывает, что возможно построение графиков функций даже без указания в команде plot диапазонов. При этом диапазон по горизонтальной оси устанавливается равным по умолчанию -10..10, а по вертикальной оси выбирается автоматически в соответствии с экстремальными значениями функций в указанном диапазоне изменения независимой переменной (условно х).
Часто возникает необходимость построения графика точек, ординаты которых являются элементами некоторого вектора. Обычно при этом предполагается равномерное расположение точек по горизонтальной оси. Пример построения такого графика дан на рис. 11.
Рисунок 7 - Построение графика точек с ординатами, заданными элементами вектора
Из этого примера нетрудно заметить, что данная задача решается составлением списка парных значений координат исходных точек -- к значениям ординат точек, взятых из вектора, добавляются значения абсцисс. Они задаются чисто условно, поскольку никакой информации об абсциссах точек в исходном векторе нет, так что фактически строится график зависимости ординат точек от их порядкового номера n.
2.4 Построение графиков, заданных процедурами
mapleplot визуализация математический график
Некоторые виды функций, например кусочные, удобно задавать процедурами. Построение графиков функций, заданных процедурами, не вызывает никаких трудностей и иллюстрируется рис. 8.
Рисунок 8 - Построение графика функции, заданной процедурами
2.5 Построение графиков, заданных функциональными операторами
Еще одна «экзотическая» возможность функции plot -- построение графиков функций, заданных функциональными операторами. Она иллюстрируется рис. 9.
Рисунок 9 - Построение графиков функции, заданной функциональными операторами
Имена функций (без указания списка параметров в круглых скобках) тоже по существу являются функциональными операторами. Так что они также могут использоваться при построении графиков упрощенными способами.
2.6 Графики параметрических функций
В ряде случаев для задания функциональных зависимостей используются заданные параметрически уравнения, например х = f1(t) и у = f2(t) при изменении переменной t в некоторых пределах. Точки (х, у) наносятся на график в декартовой системе координат и соединяются отрезками прямых.
Для этого используется функция plot в следующей форме:
plot([fl(t),f2(t),t=tmin..tmax],h,v,p)
Рисунок 10 - Построение функции, заданной параметрически
Если функции f1(t) и f2(t) содержат периодические функции (например, тригонометрические), то для получения замкнутых фигур диапазон изменения переменной t обычно задается равным 0..2*Pi или -Pi..Pi. К примеру, если задать в качестве функций f1(t) и f2(t) функции sin(t) и cos(t), то будет получен график окружности. Рисунок 10 показывает другие, чуть менее тривиальные примеры построения графиков такого рода.
Задание диапазонов для изменений h и v, а также параметров р не обязательно. Но, как и ранее, они позволяют получить вид графика, удовлетворяющий всем требованиям пользователя.
3. ПОЛЯРНАЯ СИСТЕМА КООРДИНАТ
Графики в полярной системе координат представляют собой линии, которые описывают конец радиус-вектора r(t) при изменении угла t в определенных пределах -- от tmin до tmax. Построение таких графиков также производится функцией plot, которая для этого записывается в следующем виде:
plot([r(t),theta(t),t=tmin..tmax] ,h,v,p,coords=polar)
Здесь существенным моментом является задание полярной системы координат параметр coords=polar. Рисунок 11 дает примеры построения графиков функций в полярной системе координат.
Рисунок 11 - Построение графиков функций в полярной системе координат
Графики параметрических функций и функций в полярной системе координат отличаются огромным разнообразием. Снежинки и узоры мороза на стеклах, некоторые виды кристаллов и многие иные физические объекты подчиняются математическим закономерностям, положенным в основу построения таких графиков.
4.ПОСТРОЕНИЕ ТРЕХМЕРНЫХ ГРАФИКОВ И ПОВЕРХНОСТЕЙ.
4.1 Функция plot3d
Трехмерными графиками называют графики, отображающие функции двух переменных z(x, у). Каждая точка zi, таких графиков является высотой (аппликатой) точки, лежащей в плоскости XY и представленной координатами (хi,yi). Поскольку экран монитора компьютера в первом приближении является плоским, то на деле трехмерные графики представляют собой специальные проекции объемных объектов.
Для построения графиков трехмерных поверхностей Maple имеет встроенную в ядро функцию plot3d. Она может использоваться в следующих форматах:
рlоt3d(expr1,х = а..b,у = с..d, р)
р1оt3d(f,а..b,с..d,р)
plot3d([exprf,exprg,exprh],s = a..b,t = c..d,p)
p1оt3d([f,g,h],a..b,с..d,p)
В двух первых формах plot3d применяется для построения обычного графика одной поверхности, в других формах -- для построения графика с параметрической формой задания поверхности. В приведенных формах записи f, g и h -- функции; exprl -- выражение, отражающее зависимость от х и у; exprr, exprg и exprh -- выражения, задающие поверхность параметрически; а и b -- числовые константы действительного типа; c и d -- числовые константы или выражения действительного типа; х, у, s и t -- имена независимых переменных; р -- управляющие параметры.
4.2 Параметры функции plot3d
С помощью параметров р можно в широких пределах управлять видом трехмерных графиков, выводя или убирая линии каркасной сетки, вводя функциональную окраску поверхностей, меняя угол их обзора и параметры освещения, изменяя вид координатных осей и т. д. Параметры функции plot 3d задаются аналогично их заданию для функции plot.
Однако функция plot3d имеет ряд дополнительных специфических параметров:
*ambientlight=[r,g,b] -- задает интенсивность красного (r), зеленого (g) и синего (b) цветов подсветки в относительных единицах (от 0 до 1);
*grid = [m,n] --задает число линий каркаса поверхности;
*gridstyle = x -- задает стиль линий каркаса х ('rectangular' или 'tri-:.gular');
*light = [phi,theta,г,g,b] -- задает углы, под которыми расположен источник освещения поверхности, и интенсивности составляющих цвета (г, g и Ь);
*lightmodel = x -- задает схему освещения (соответственно`nоnе', `ligntl', `light2', `Iight3' и `light4');
*orientation = [theta,phi] -- задает углы ориентации поверхности (по .умолчанию 45°);
*projections -- задает перспективу при обзоре поверхности (r может быть числом 0 или 1, задающим включение или выключение перспективы, а также одной из строк 'FISHEYE', 'NORMAL' или 'ORTHOGONAL' (это соответствует численным значениям r, равным 0, 0.5, или 1, причем по умолчанию задано :ojection = ORTHOGONAL);
*shading = s -- задает направления, по которым меняется цвет функциональной окраски (значения s могут быть XYZ, XY, Z, ZGREYSCALE, ZHUE, NONE);
*tickmarks = [1,n,m] -- задает характер маркировки по осям х, у и z (числа 1, n и m имеют значения не менее 1);
*view = zmin..zmax или view= [xmin..xmax,уmin..уmax,zmin..zmax] -- задает минимальные и максимальные координаты поверхности для ее видимых участков.
4.3 Выбор и пересчет координат трехмерных графиков
Для трехмерных графиков возможно задание 31 типа координатной системы с помощью параметра cords. Поскольку на экране монитора поверхность отображается только в прямоугольной системе координат и характеризуется координатами х, у и z, то для представления поверхности, заданной в иной системе координат с координатами u, v и w, используются известные формулы для преобразования (u, v, w) (х, у, z). Ниже показаны соответствующие формулы преобразования:
1. bipolarcylindrical:
х = a*sinh(v)/(cosh(v)-cos(u))
у = a*sin(u)/(cosh(v)-cos(u))
z = w
Вид графиков трехмерных поверхности очень сильно различается в разных координатных системах. По умолчанию, трехмерные графики строятся в прямоугольной системе координат -- rectangular.
По умолчанию в Maple строится поверхность с функциональной окраской и стилем style=patch. Функциональная окраска делает рисунки более информативными, но, увы, на рисунках в книге она превращается в окраску оттенками серого цвета.
Помимо значения patch для построения трехмерных поверхностей можно задавать ряд других стилей: point -- точками, contour -- контурными линиями, line -- линиями, hidden -- линиями каркаса с удалением невидимых линий, wireframe -- линиями каркаса со всеми видимыми линиями, patchnogrid -- с раскраской, но без линий каркаса, patchcontour -- раскраска с линиями равного уровня.
Цвет трехмерного графика может задаваться (как и для двумерного) параметром color=c, где с -- цвет. Возможно еще два алгоритма задания цвета:
*HUE -- алгоритм с заданием цвета в виде color = f (x, у);
*RGB -- алгоритм с заданием цвета в виде color = [exprr, exprg, exprb], где выражения exprr, exprg и exprb задают относительную значимость (от 0 до 1) основных цветов (красного -- exprr, зеленого -- exprg и синего -- exprb).
Удачный выбор углов обзора фигуры и применение функциональной окраски позволяют придать построениям трехмерных фигур весьма эффектный и реалистический вид.
Как отмечалось, вид графика трехмерной поверхности существенно зависит от выбора координатной системы.
График той или иной функции в различных системах координат, может быть весьма необычным.
Возможно одновременное наблюдение нескольких окон. В одном окне задано построение графика, а в другом построен сам график. При построении графика в отдельном окне появляется панель форматирования графика. С помощью ее довольно наглядных кнопок можно легко скорректировать вспомогательные параметры графика (окраску, наличие линий каркаса, ориентацию и др.).
4.4 Графики параметрически заданных поверхностей
На рисунке 12 показано построение поверхности при полном ее параметрическом задании. В этом случае поверхность задается тремя формулами, содержащимися в списке.
Обратите здесь внимание на технику удаления частей фигуры путем задания соответствующего диапазона изменения параметров t и u.
>plot3d([30+(7 + 2*cos(s))*cos(t),10 + (7 + 2*cos(s))*sin(t),2*sin(s)],s = 0..2*Pi,t=0..ll*Pi/6,grid=[12,24],
Style = patch,shading=ZHUE,ахеs = frame,scalinq = constrained);
Рисунок 12 - Построение тора с параметрическим заданием его функции и с функциональной окраской поверхности
Полезно обратить внимание на параметр масштаба scaling = constrained, явно введенный в документ рисунка 12. Его можно было бы и не вводить, поскольку этот параметр изначально задается по умолчанию. Он выравнивает масштабы представления фигуры по осям координат, обычно используется по умолчанию и позволяет снизить до минимума геометрические искажения фигур -- тор, например, при этом виден как круглая труба, свернутая в кольцо. У таких графиков есть специфический недостаток -- они занимают малую часть окна вывода.
Задание параметра sсaling = unconstrained означает отказ от равного масштаба по осям. График при этом увеличивается в размерах, но становятся заметны его искажения по осям координат. В итоге тор превращается в толстую сплющенную трубу с эллиптическим сечением (рис. 13).
Весьма важным является учет углов, под которыми наблюдается трехмерая поверхность или объект. К примеру, построение на рисунке13 неудачно в том плане, что оно не показывает наличия у тора дырки.
Рисунок 13 -Top, построенный с применением значения параметра scaling = unconstrained 466
Рисунок 14 - Top с рис. 13 после поворота мышью демонстрирует, что он и впрямь имеет дырку
Простейший и очень удобный способ изменить угол обзора заключается во вращении фигуры на рисунке мышью при нажатой левой кнопке. При этом можно повернуть фигуру гак, что ее геометрические особенности будут отчетливо видны.
В Maple есть способ явно задать углы обзора с помощью параметра orientation = [theta, phi], где theta и phi -- углы, через которые задаются параметрические уравнения трехмерной фигуры или поверхности. Значения заданных углов обзора повторяются в полях углов но контекстной панели инструментов. Разумеется, последние будут меняться, если начать вращать фигуру на рисунке мышью.
Параметрическое задание уравнений поверхности открывает почти неисчерпаемые возможности построения занимательных и сложных фигур самого различного вида.
4.5 Быстрое построение трехмерных графиков smartplot3d
Быстрое (в смысле более быстрое задание построения графиков) построение трехмерных графиков обеспечивает функция smartplot3d. Для этой функции задан диапазон изменения обоих аргументов -5..5. Функция smartplot3d обеспечивает построение не только отдельных поверхностей, но и ряда пересекающихся поверхностей. При этом линии пересечения поверхностей строятся вполне корректно. Эти графики также помечаются надписью Live.
Рисунок 15 - Примеры применения функции smartplot3d
4.6 Специальные приемы построения трехмерных графиков
Трехмерный график как графический объект.Принадлежность функций plot: и plot3d к функциям (в ряде книг их именуют операторами, командами или процедурами) наглядно выявляется при еe создании графических объектов. Графический объект -- это, в сущности, обычная переменная, которой присваивается значение графической функции. После этого такая переменная, будучи вызванной, производит построение соответствующего графика.
Задание трехмерных графиков в виде процедур. Язык программирования Maple допускает применение в процедурах любых внутренних функций, в том числе графических. Практически любые графические построения можно оформлять в виде процедур и использовать такие процедуры в своих документах.
Построение ряда трехмерных фигур на одном график. Функция plot3d позволяет строить одновременно несколько фигур пересекающихся в пространстве. Для этого достаточно вместе описания одной поверхности задать список описаний ряда поверхностей. При этом функции plot3d обладает уникальной возможностью -- автоматически вычисляет точки пересечения фигур и показывает только видимые части поверхностей, что создает изображения, выглядящие вполне естественно.
4.7 Работа с графическими структурами
Функции PLOT и PLOT3D (с именами, набранными большими буквами) позволяют создавать графические структуры, содержащие ряд графических объектов s1, s2, s3 и т. д. Каждый объект может представлять собой точку или фигуру, полигон, надпись и т. д., позиционированную с высокой точностью в заданной системе координат. Координатные оси также относятся к графическим объектам. Важно отметить, что функции PLOT и PLOT3D одновременно являются данными, описывающими графики. Их можно записывать в виде файлов и (после открытия файлов) представлять в виде графиков. Особые свойства этих функций подчеркиваются их записью прописными буквами.
Графические структуры трехмерной графики строятся функцией PL0T3D:
PL0T3D(s1,s2,s3,...,о)
В качестве элементарных графических структур можно использовать уже описанные выше объекты POINTS, CURVES, POLYGONS и TEXT -- разумеется, с добавлением в списки параметров третьей координаты. Кроме того, могут использоваться некоторые специальные трехмерные структуры. Одна из них -- структура GRID:
· GRID(a..b, с..d, 1istlist) -- задание поверхности над участком координатной плоскости, ограниченной отрезками [а,b] и [с,d], по данным, заданным переменной-списком listlist:= [[zll, ...zln], [z21, ...z2n], [zm1...zmn]] с размерностью nm. Заметим, что эта переменная задает координату z для равноотстоящих точек поверхности.
Еще один тип трехмерной графической структуры -- это MESH:
· MESH(listlist) -- задание трехмерной поверхности по данным списочной переменной listlist, содержащей полные координаты всех точек поверхности (возможно задание последней при неравномерной сетке).
Обычная форма задания этой структуры следующая:
MESH([[[x11,y11,z11],...[xln, у1n, zln]],
[[x21,y21, z21],...[x2n, y2n, z2n]],
[[xm1, уm1, zm1],...[xmn, ymn, zmn]]])
4.8 Применение графики пакета plots иplottools
Пакет plots содержит почти полсотни графических функций, существенно расширяющих возможности построения двумерных и трехмерных графиков в Maple.
>with(plots);
Отметим назначение лишь нескольких его функций:
*animate -- создает анимацию двумерных графиков функций;
*animate3d -- создает анимацию трехмерных графиков функций;
*animatecurve -- создает анимацию кривых;
*implicitplot3d -- построение трехмерного графика неявной функции;
* odeplot -- построение двумерного или трехмерного графика решения дифференциальных уравнений;
tubeplot - построение трехмерного графика в виде трубы.
Трехмерный график типа implicitplot3d. Трехмерные поверхности также могут задаваться уравнениями неявного вида.В этом случае дляпостроенияихграфиков используется функция
implicitplot3d:
implicitplot3d(exprl,x = a..b,y = c..d,z = p..q,<options>)
implicitplot3d(f a..b,c..d,p..q,<options>)
С помощью функции можно строить весьма своеобразные фигуры, а для наглядности фигур их можно несколько развернуть в пространстве с помощью мыши.
Графики в разных системах координат. В пакете plots имеется множество функций для построения графиков в различных системах координат. Во встроенных в справочную систему примерах можно найти все нужные сведения, позволяющие строить весьма наглядные фигуры в пространстве, напоминающие трубы или иные объекты, образованные фигурами вращения.
При этом автоматически задается алгоритм удаления невидимых линий даже для достаточно сложных фигур, реалистичность изображения которых может поражать воображение.
Можно долго размышлять о том, как те или иные математические закономерности описывают предметы реального мира, положенные в основу тех или иных геометрических объектов или, возможно, о гениальности людей, сумевших найти такие закономерности для многих из таких объектов. В наше время Mapleоткрывает огромные возможности для таких людей.
Дляпостроение трехмерных анимационных графиков используется функция animate3d:
animate3d(F,х,y,t,o)
Здесь F -- описание функции (или функций), х, у и t -- диапазоны изменения переменных х, у и t. Для задания числа кадров N надо использовать необязательный параметр о в виде frame = N. После задания функции, график которой строится, необходимо выделить график и запустить проигрыватель, как это описывалось для анимации двумерных графиков
5. АНИМАЦИЯ ГРАФИКИ
5.1 Проигрыватель анимированной графики
При включенном выводе панели форматирования во время анимации она приобретает вид панели проигрывателя клипов. Эта панель имеет кнопки управления с обозначениями, принятыми у современных проигрывателей, например магнитофонов:
Поле координат перемещающейся точки графика.
Остановка анимации.
Пуск анимации.
Переход к следующему кадру (фрейму).
Установка направления анимации от конца в начало.
Установка направления анимации из начала в конец (по умолчанию).
Уменьшение времени шага анимации.
Увеличение времени шага анимации.
Установка одиночного цикла анимации.
Установка серии циклов анимации.
Итак, кнопки проигрывателя по существу повторяют команды контекстного подменю управления анимацией, которое появляется после активизации графика мышью.
Нажав кнопку пуска (с треугольником, острием обращенным вправо), можно наблюдать изменение вида кривой для функции sin(x)/(x). Другие кнопки управляют характером анимации. Проигрыватель дает удобные средства для демонстрации анимации, например, во время занятий со школьниками или студентами.
С помощью контекстного меню (и содержащихся в нем подменю) можно получить доступ к параметрам трехмерной графики и выполнить необходимые операции форматирования, такие как включение цветовой окраски, выбор ориентации фигуры и т. д.
Анимация с помощью параметра insequence. Еще один путь получения анимационных рисунков -- создание ряда графических объектов p1, р2, рЗ и т. д. и их последовательный вывод с помощью функций display или display3d:
display(pi,p2,рЗ,...,insequence = true)
disp1ay3d(pi,p2,p3,..., insequence = true)
Здесь основным моментом является применение параметра insequence = true. Именно он обеспечивает вывод одного за другим серии графических объектов р1,р2,рЗ и т. д. При этом объекты появляются по одному и каждый предшествующий объект стирается перед появлением нового объекта.
5.2 Примитивы пакета plottools
Инструментальный пакет графики plottools служит для создания графических примитивов, строящих элементарные геометрические объекты на плоскости и в пространстве: отрезки прямых и дуг, окружности, конусы, кубики и т. д. Его применение позволяет разнообразить графические построения и строить множество графиков специального назначения.
Вызов перечисленных примитивов осуществляется после загрузки пакета в память компьютера командой with (plottools ) . Только после этого примитивы пакета становятся доступными. Обычно примитивы используются для задания графических объектов, которые затем выводятся функцией display. Возможно применение этих примитивов совместно с различными графиками.
Большинство примитивов пакета plottools имеет довольно очевидный синтаксис. Например, для задания дуги используется примитив аrc(с,r,a..b,...), где с -- список с координатами центра окружности, к которой принадлежит дуга, r -- радиус этой окружности, а..b -- диапазон углов. На месте многоточия могут стоять обычные параметры, задающие цвет дуги, толщину ее линии и т. д. Конус строится примитивом cone (с,r, h...) , где с -- список c координатами центра, r -- радиус основания, h -- высота и т. д. Все формы записи графических примитивов и их синтаксис можно найти в справочной системе.
5.3 Анимация трехмерной графики в пакете plottools
Управление анимацией, реализованной средствами пакета plottools, подобно уже описанному ранее. Данный пакет также прекрасно иллюстрирует возможности применения Mapleпри математическом моделировании различных явлений, устройств и систем.
Мы уже не раз использовали графические возможности Maple для визуализации решений математических задач. Так, многие особенности даже функции одной переменной вида f(x) могут быть выявлены с помощью графика этой функции. Затем можно точно вычислить корни функции (точки перехода через 0), экстремумы, крутизну наклона (производную) в заданных точках и т. д. Еще более информативна в этом отношении трехмерная графика -- для большинства функций двух переменных вида z(х, у) нужно очень богатое математическое воображение, чтобы представить их вид -- особенно в одной из многих десятков координатных систем.
Однако некоторые виды графиков трудно представить себе даже при наличии такого воображения. В этом отношении Maple предоставляет поистине уникальные возможности, обеспечивая простую и быструю визуализацию решений.
ЗАКЛЮЧЕНИЕ
Maple содержит мощный инструментарий для работы с графикой. Он удобен для начинающих пользователей тем, что графики строятся в достаточно приемлемом виде с параметрами по умолчанию, а для опытных пользователей доступна настройка большого количества управляющих параметров. Построения возможно производить в различных типах координатных систем (для двухмерных графиков доступно 15 типов систем), среди которых полярная система координат. Предоставлены широкие возможности управления стилем и цветом отображения графиков. Функции графиков можно задавать несколькими способами: точки, процедуры, уравнения. Система имеет функциональность для работы с трехмерной графикой, ее анимацией.
Подводя итог работе, нужно сказать, что изученный программный продукт подойдет для решения разного рода и уровня сложности задач, а также будет удобен в использовании.
СПИСОК ЛИТЕРАТУРЫ
1. В.П. Дьяконов "Maple 9.5/10 в математике, физике и образовании".М.: Солон-Пресс, 2006. - 720 с.
2. А.Н. Васильева "Maple 8. Самоучитель".М.: Диалектика, Вильямс, 2003, 352 c.
3. Говорухин В.Н. Цибулин В.А. Введение в Maple. Математический пакет для всех. - М.: Мир, 1997. - 208 с.
4. Е.Р. Алексеев, О.В. Чеснокова. Решение задач вычислительной математики в пакетах Mathcad 12, MATLAB 7, Maple 9. М: НТ Пресс, 2006, 496с.
Размещено на Allbest.ru
Подобные документы
Команды, используемые для построения графиков функций одной переменной (двумерная графика). Назначение и возможности команды plot (), расположенной в системной библиотеке Maple, ее операции и принцип работы. Порядок отображения графиков функций.
лабораторная работа [141,8 K], добавлен 15.07.2009Раскрытие понятия "системы компьютерной математики", история ее развития. Внутренняя архитектура и составляющие СКМ. Основные принципы работы системы Maple. Ее возможности для решения линейных и нелинейных уравнений и неравенств. Применение функции solve.
курсовая работа [189,4 K], добавлен 16.09.2017Команды, используемые при решении обыкновенных дифференциальных уравнений в системе вычислений Maple. Произвольные константы решения дифференциального уравнения второго порядка, представленном рядом Тейлора. Значения опции method при численном решении.
лабораторная работа [47,2 K], добавлен 15.07.2009Характеристика, свойства и возможности программного пакета Maple. Применение аналитических, численных, графических возможностей системы Maple для моделирования физических явлений. Использование графики и анимации в системе Maple в педагогическом процессе.
курсовая работа [1,5 M], добавлен 12.01.2016Графики вещественнозначных функций вещественного переменного. Построение двумерных графиков. Пример построения графика синусоиды. Пример использования функции subplot. Оформление двумерных графиков в системе MatLab. Основные функции оформления графиков.
курсовая работа [826,3 K], добавлен 30.04.2019Дискретная минимаксная задача с ограничениями на параметры. Применение решений минимаксных задач в экономике с помощью математического пакета Maple. Математические пакеты Maple и Matlab. Основные средства решения минимаксных задач в среде Марle-языка.
курсовая работа [2,2 M], добавлен 17.06.2015Сущность и постановка транспортной задачи для n переменных, их виды, применение и пример решения в MS Excel. Управляющие структуры ветвления Maple языка (if предложение). Решение транспортной задачи в векторных координатах для двух и трёх матриц.
дипломная работа [109,3 K], добавлен 12.01.2011Простейший способ построения 2D-графика. Способы проектирования двух графиков в одной системе координат. Закрепление графического окна. Дополнительные параметры команды plot. Axis: управление масштабом. Оформление графиков. Построение 3D-поверхности.
презентация [962,5 K], добавлен 24.01.2014Прикладной математический пакет Maple. Набор инструментов для работы с дифференциальными уравнениями в частных производных. Метод разделения переменных. Метод функций Грина. Построение формального решения на входном Maple-языке. Основные типы операций.
курсовая работа [193,2 K], добавлен 03.08.2012Определение возможностей математического пакета и изучение методов вычисления выражений в Mathcad. Возможности построения графиков функций одной переменной. Просмотр и способы построения графика функции одного аргумента и участков двухмерных графиков.
контрольная работа [384,8 K], добавлен 06.03.2011