АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

ГРАФИКА В MAPLE

Читайте также:
  1. The House on Maple Street
  2. V2: Компьютерная графика.
  3. Алфавит Maple-языка и его синтаксис. Основные объекты (определение, ввод, действия с ними). Числа. Обыкновенные дроби.
  4. Арифметические операции, типы данных в Maple
  5. АРХИТЕКТУРНАЯ ГРАФИКА И АРХИТЕКТУРНОЕ ПРОЕКТИРОВАНИЕ
  6. Ассимптоты графика: вертика, гор, накл. Геом смысл накл ассимптоты.
  7. Б.З Растровая графика
  8. В СРЕДЕ MAPLE
  9. Векторная графика
  10. Внутренняя структура объектов Maple. Подстановка и преобразование типов.
  11. Возможности предшествующей версии Maple 6
  12. Вольт-амперная характеристика диода с пояснениями (две части графика)

Графика на плоскости.

1) График функции y = f(x) на отрезке [a, b]

>plot(f(x), x=a..b); или >plot(f(x), x=a..b, options);

Примечание. В пакете MAPLE 11 можно к координатным осям добавить сетку координат, выделив график и нажав значок сетки (правый).

 

В качестве опций (справка по команде >?plot[options]) могут быть

А) ЦВЕТ ЛИНИИ color=black, red, blue, green,… см. также >?plot[color]

Б) ТОЛЩИНА ЛИНИИ thickness=0, 1, 2, 3 (больше номер – больше толщина)

В) НАДПИСЬ НА ГРАФИКЕ title=`Parabole` (надпись в обратных кавычках или без них)

Г) КОЛИЧЕСТВО МАРКИРОВАННЫХ ТОЧЕК на оси Х xtickmarks=5

на оси Y ytickmarks=7

Д) КОЛИЧЕСТВО РАСЧЕТНЫХ ТОЧЕК ГРАФИКА numpoints=80 (по умолчанию=49).

Е) ОБРЕЗАНИЕ ГРАФИКА (при бесконечных разрывах)

по Y: y=y1..y2 или view= y1..y2 ; по осям X, Y: view=[x1..x2, y1..y2].

Ж) В точках разрыва возникают вертикальные прямые, которые можно удалить при помощи опции discont=true.

З) В MAPLE 11 опция axis=[gridlines=[n, color=...]] добавляет координатную сетку с заданным количеством линий и с заданным цветом.

Примечание. Если в окне графика щелкнуть какую-нибудь точку, то вверху слева в окошечке появятся коорди­наты этой точки. В последних версиях щелкаем в области графика и водим по графику курсором. В окошечке автоматически высвечиваются координаты курсора. Признак попадания на кривую в пакете MAPLE 9.5 – кривая становится жирной, в MAPLE 11 – тройной.

Если щелкнуть по кривой правой мышью, то появится таблица опций (цвет, толщина и т.д.)

 

2) График функции y = f(x) на отрезке [–10, 10]

>plot(f(x), х);

 

3) График функции y = f(x) на всей числовой оси (–¥, +¥)

>plot(f(x),x= –infinity..infinity);

>plot(exp(x),x= –infinity..infinity);

Числовые оси Х и Y умещаются на отрезках [–1, 1] за счет изменения масштаба (он уменьшается по мере удаления от начала координат). Поэтому на кривой могут возникать точки перегиба, ко­торых нет в реальности.

 

4) Параметрически заданная кривая >plot([x(t),y(t),t=a..b], options);

Пример. Фигура Лиссажу >plot([cos(5*t),sin(3*t),t=0..2*Pi]);

 

5) Кривая в полярных координатах >plot([r(t),j(t), t=a..b], coords=polar);

Примеры. Спираль Архимеда >plot([t/Pi, t, t=0..2*Pi], coords=polar);

Кардиоида >plot([1+cos(t), t, t=0..2*Pi], coords=polar);

 

6) Несколько однотипных кривых на одном графике (используют либо {…} либо […])

>plot({x^2, 1–x, sqrt(x)},x= –2..2); три явно заданных кривых.

Цвет и толщину каждой из них можно задавать соответственно опциями

color=[black, red, green], thickness=[2, 3, 1]. ВНИМАНИЕ! Чтобы было соответствие между кривой и опцией кривые нужно задавать в квадратных скобках.

>plot({[cos(t), sin(t), t=0..Pi], [t^2, t, t= –1..1]}); две параметрически заданных кривых.

>plot({[t/Pi, t, t=0..7], [1+cos(t), t, t=0..2*Pi]},coords=polar); две кривых в полярных коорд.

>plot({[sin(t),t,t=0..Pi/2],[–sin(t),t,t=Pi..3*Pi/2],[1,t,t=0..2*Pi]},coords=polar); «Инь–Ян»

Можно совмещать также параметрическую и явно заданную кривые. Переменную следует обо­значать одной и той же буквой!

>plot({t^2, [cos(t),sin(t),t=0..2*Pi],1–t}, t= –1..1);

 

7) Семейство кривых y=f(x,n), nÎN >plot({seq(f(x,n), n=2..7)}, x = a,,b);

Пример. a) >plot({seq(x^n, n=2..7)}, x=0..1, color=black); b) >plot([x^n$n=2..7],x=0..1,color=black);

Для варианта а) можно рисовать кривые с избранными номерами, задавая n=[3, 5, 11].

 

8) Неявно заданная кривая >with(plots):

Кривая f(x,y)=0 >implicitplot(f(x,y), x = a..b, y = m..n, options);

Кривая f(x,y)=g(x,y) >implicitplot(f(x,y)=g(x,y), x = a..b, y = m..n);

Несколько кривых f(x,y)=0, g(x,y)=0 >implicitplot({f(x,y), g(x,y)}, x = a..b, y = m..n);

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

>implicitplot([x^2+y^2=2,x–y], x= –2..2, y= –2..2, color=[black, green]);

Сетка вычисляемых точек задается опцией grid=[m, n]. По умолчанию m=n=25.

Примечание. 1) Можно обойтись без подгрузки >with(plots):, используя составную команду

>plots[implicitplot](.........); 2) Сложную кривую полезно разложить на множители и строить несколко кривых.

 

9) Функция DISPLAY (совмещение разнотипных объектов на одном чертеже) >with(plots):

>F:=plot([t/Pi, t, t=0..2*Pi], coords=polar): спираль Архимеда в полярных координатах.

>G:=plot(x^2,x=-3..3, color=red): явно заданная парабола.

>H:=implicitplot(x^2+2*x*y+3*y^2=6, x= –3..3,y= –3..3): неявно заданный эллипс.

>display({F,G,H},view=[–3..3, –2..2]);

Примечание. Можно обойтись без подгрузки >with(plots):, используя составную команду

>plots[display]({F,G,H},view=[–3..3, –2..2]);

 

10) Анимация >with(plots): или >with(plots,animate):

Показывается деформация во времени кривой y = f(x, p), xÎ [ a, b ], если параметр р изменяется от c до d, принимая N промежуточных значений. Аналогично для других типов кривых.

>animate(f(x,p), x=a..b, p=c..d, frames=N);

После выполнения этой команды щелкнуть по графику. Появится панель управления анимацией.

>animate(x^p–x^(2*p), x=0..1, p=1..20, frames=100);

Несколько деформирующихся кривых

>animate({x^(1/p), x^p},x=0..1, p=1..20, frames=50);

Параметрически заданная кривая (фигуры Лиссажу)

>animate([cos(p*t), sin(3*t), t=0..2*Pi], p=1..2, frames=60);

Кривая в полярных координатах, кривая r = sin(pj)

>animate([sin(p*t), t, t= –4..4], p=1..4,coords=polar,numpoints=100,frames=100);

Примечание. Можно обойтись без подгрузки >with(plots):, используя команду

>plots[animate](.........);

 

11) Векторное поле , >with(plots): или >with(plots,fieldplot):

>fieldplot([P(x,y), Q(x,y)], x=a..b, y=c..d);

>fieldplot([sin(x+y), sin(x–y)], x=0..2*Pi, y=0..2*Pi);

Примечание. Можно обойтись без подгрузки >with(plots):, используя команду

>plots[fieldplot](.........);

 

12) Конформное отображение >with(plots): или >with(plots,conformal):

>conformal(f(z), z=z1..z2);

Рисуется образ прямоугольника с диагональю [z1..z2]при отображении w=f(z). Если точки z1..z2 лежат на одной вертикали (горизонтали), то рисуется образ отрезка.

Примечание. Можно обойтись без подгрузки >with(plots):, используя команду

>plots[conformal](.........);

 

Число вертикальных (m) и горизонтальных (n) линий, задающих сетку в исходном прямоугольнике, определяется опцией grid=[m, n]. По умолчанию m = n = 11.

Количество точек, вычисляемое на горизонтальных (m) и вертикальных (n) отрезках, определя­ется опцией numxy=[p, q]. По умолчанию p = q = 15.

>conformal(f(z), z=z1..z2, w1..w2);

Рисуется образ прямоугольника с диагональю [z1..z2], обрезанный на плоскости W прямоугольником с диагональю [w1..w2].

 

13) Комплексная функция действительного переменного (кривая на плоскости Z).

>with(plots):

>complexplot((1+I*t)/(–t^2+2*I*t+2), t=0..4);

>complexplot({1/(t+I), 1/(t–I)}, t= –5..5); две кривые.

Примечание. Можно обойтись без подгрузки >with(plots):, используя команду

>plots[complexplot](.........);

 

14) Графическое решение системы линейных неравенств. with(plots):

>inequal({линейные неравенства}, x=a..b, y=c..d, options);

В качестве опций могут быть

optionsfeasible=(color=red) – цвет области, удовлетворяющей всем неравенствам,

optionsexcluded=(color=yellow) – цвет области, не удовлетворяющей системе.

optionsopen=(color=blue, thickness=2) – граница открытой области, её цвет и толщина

optionsclosed=(color=green, thickness=3) – граница замкнутой области, её цвет и толщина.

Мжно нарисовать координатную сетку, добавив в {...} уравнения типа х=т, у=п, y=kx+b.

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

Примечание. Можно обойтись без подгрузки >with(plots):, используя команду

>plots[inequal](.........);

 

15) Ломаная линия по точкам (график последовательности). with(plots):

>listplot([a1,a2,a3,…,an], options); для абсцисс = 1, 2, 3, … n заданы ординаты.

Эти ординаты можно задавать формулой >a[n]:=f(n); тогда команда примет вид

>listplot([a[n]$n=1..7], linestyle=dash); пунктирная ломаная линия (в ранних версиях DASH)

>listplot([[a1,b1],[a2,b2],…,[an,bn]],options); заданы координаты узлов.

Координаты узлов можно задавать формулами

>listplot([seq([f(n),g(n)], n=3..7)]); или >listplot([seq([f(n), g(n)], n=[a,b,c,d])]);

Примечание. Можно обойтись без подгрузки >with(plots):, используя команду

>plots[listplot](.........);

 

Графика в пространстве.

1) Поверхность z = f(x,y) над прямоугольником [a,b]x[c,d].

>plot3d(f(x,y), x=a..b, y=c..d, options);

>plot3d(1–x^2*y^2, x= –1..1, y= –1..1);

 

Поверхность z = f(x,y) над правильной областью {a ≤ x ≤ b, y1(x) ≤ y ≤ y2(x)}

>plot3d(f(x,y), x=a..b, y=y1(x)..y2(x), options);

 

ОПЦИИ: grid=[m,n] – число разбиений по осям Х и Y (сетка в прямоугольнике [a,b]x[c,d]). По умолчанию m=n=25. Для неявно заданной поверхности эта опция имеет вид grid=[m, n, s].

numpoints=n – число вычисляемых точек (по умолчанию n=625).

gridstyle=triangular разбиение поверхности на треугольнички

title=`hyperboloid` – название поверхности (надпись на графике, можно без кавычек).

label=[x,y,z] – наименование осей координат.

view=[x1..x2, y1..y2, z1..z2] – обрезание поверхности по осям координат.

view = z1..z2 – обрезание только по оси Z.

orientation=[j,q] – ориентация поверхности, углы в градусах (см. рис).

Справки: >?plot3d, >?plot3d[options]

ОПЦИИ ГРАФИКА (вид поверхности)

style=point поверхность из цветных крестиков

style=hidden цветная решетка (непрозрачная)

style=patch решетка с цветной заливкой (по умолчанию)

style=line прозрачная решетка

style=patchnogrid только заливка, без решетки

style=contour поверхность из линий уровня

style=patchcontour заливка + линии уровня

ОПЦИИ можно вызвать щелчком правой мыши по поверхности

Поворот поверхности. Производится левой мышью.

 

2) Несколько поверхностей на одном графике.

>plot3d({f1(x,y), f2(x,y), f3(x,y)}, x=a..b, y=c..d);

>plot3d({x^2, 1–y^2}, x= –1..1, y= –1..1);

3) Семейство поверхностей z = F(x,y,n), nÎN.

>plot3d({F(x,y,n)$n=2..5}, x=a..b, y=c..d);

>plot3d({y^2/n$n=1..3}, x= –1..1, y= –1..1);

 

4) Неявно заданная поверхность. >with(plots):

>implicitplot3d(F(x,y,z), x=a..b, y=m..n, z=p..q); поверхность F(x,y,z)=0.

>implicitplot3d(F(x,y,z)=G(x,y,z), x=a..b, y=m..n, z=p..q); поверхность F(x,y,z)=G(x,y,z).

>implicitplot3d(x^2–y^2–z^2=1, x= –3..3, y= –3..3,z= –3..3);

 

5) Несколько неявно заданных поверхностей F(x,y,z)=0, G(x,y,z)=0. >with(plots):

>implicitplot3d({F(x,y,z),G(x,y,z)}, x=a..b, y=m..n, z=p..q);

>implicitplot3d({y^2+z^2=1,x^2–y^2–z^2=1}, x= –3..3, y= –3..3, z= –3..3);

Примечание. Можно обойтись без подгрузки >with(plots):, используя команду

>plots[implicitplot3d](.........);

6) Параметрически заданная поверхность

>plot3d([x(u,v), y(u,v), z(u,v)], u=a..b, v=c..d);

Примеры.

а) Поверхность вращения (кривая z = f(y), yÎ [ a..b ], вращается вокруг оси Z).

>plot3d([u*cos(v), u*sin(v), f(u)], u=a..b, v=0..2*Pi);

> plot3d([u*cos(v), u*sin(v), 1/u], u=0.2..1, v=0..2*Pi);

Если та же кривая вращается вокруг оси Y, то команда будет иметь вид

>plot3d([f(u)*cos(v), u, f(u)*sin(v)], u=a..b, v=0..2*Pi);

б) Вертикальная цилиндрическая поверхность.

>plot3d([x(u), y(u), v], u=a..b, v=0..H);

>plot3d([u, cos(u), v], u= –Pi..Pi, v=0..1);

в) Сфера.

>plot3d([R*cos(u)*cos(v), R*sin(u)*cos(v), R*sin(v)], u=0..2*Pi, v= –Pi/2..Pi/2);

v – широта, от южного полюса до северного (от –p/2 до p/2),

u – долгота от оси Х к оси Y.

г) Геликоид радиуса R с шагом h (винтовая лестница).

>plot3d([u*cos(v), u*sin(v), h*v/2/Pi], u=0..R, v=0..2*Pi);

д) Тор; a – средний радиус тора, b – радиус «колбасы».

>plot3d([(a+b*cos(v))*cos(u), (a+b*cos(v))*sin(u), b*sin(v)], u=0..2*Pi, v=0..2*Pi);

е) Лента Мёбиуса; R – радиус средней линии, 2а – ширина ленты.

>plot3d([(R+v*cos(u/2))*cos(u), (R+v*cos(u/2))*sin(u), v*sin(u/2)], u=0..2*Pi, v= –a..a);

 

7) Несколько параметрически заданных поверхностей.

Пересечение 2-х параболических цилиндров.

>plot3d({[u*cos(v),u*sin(v),u^2*cos(v)^2],[u*cos(v),u*sin(v),a^2-u^2*sin(v)^2]},u=0..a,v=0..2*Pi);

Пересечение двух круговых цилиндров

>plot3d({[u, cos(v), sin(v)], [cos(v), u, sin(v)]}, u= –1..1, v=0..2*Pi); или

>plot3d({[sin(v), u*sin(v), cos(v)], [u*cos(v), cos(v), sin(v)]}, u= –1..1, v=0..2*Pi);

 

8) Кривые в пространстве >with(plots):

>spacecurve([x(t), y(t), z(t)], t=a..b); одна кривая

>spacecurve({[x1(t), y1(t), z1(t)], [x2(t), y2(t), z2(t)]}, t=a..b); две кривых

>spacecurve([R*cos(t), R*sin(t), k*t], t=0..2*Pi); – винтовая линия.

>spacecurve([a*(1+cos(2*t)), a*sin(2*t), 2*a*sin(t)], t=0..2*Pi); кривая Вивиани – пересечение

цилиндра x2+y2=2ax и сферы x2+y2+z2=4a2.

>spacecurve([a*cos(t), a*sin(t),a^2*cos(t)^2], t=0..2*Pi); – линия пересечения двух параболичес-

ких цилиндров.

 

9) Функция DISPLAY (совмещение на одном чертеже разных объектов) >with(plots):

а) Сечения куба двумя параллельными плоскостями и диагональ этого куба

>A:=plot3d(1–x–y, x=0..1, y=0..1–x):

>B:= plot3d(2–x–y, x=0..1, y=1–x..1):

>C:=spacecurve([t,t,t], t=0..1, thickness=3):

>display({A,B,C});

б) Два пересекающихся параболических цилиндра и пространственная линия их пересечения:

>F:=plot3d({x^2, 1–y^2}, x= –1..1, y= –1..1):

>G:=spacecurve([cos(t), sin(t), cos(t)^2], t=0..2*Pi, thickness=3):

>display({F,G});

в) Сфера, пересекающий её цилиндр и кривая Вивиани:

>A:=plot3d([2*cos(u)*cos(v), 2*sin(u)*cos(v), 2*sin(v)], u=0..2*Pi, v= –Pi/2..Pi/2):

>B:=plot3d([1+cos(u), sin(u), 2*v], u=0..2*Pi, v= –1..1):

>C:=spacecurve([1+cos(2*t), sin(2*t), 2*sin(t)], t=0..2*Pi, thickness=3, color=black):

>display({A,B,C});

Примечание. Можно обойтись без подгрузки with(plots): если для построения нескольких объектов использовать команду

>plots[display]({A,B,C});

 

10) Линии уровня функции z=f(x,y). >with(plots):

>contourplot(f(x,y), x=a..b, y=c..d); одна поверхность z = f(x,y)

>contourplot({f(x,y),g(x,y)}, x=a..b, y=c..d); несколько поверхностей.

По умолчанию изображаются 8 линий уровня. Их число можно изменить, добавив в команду опцию contours=n. Можно также задать линии уровня значениями функции contours=[z1, z2.. zn].

>contourplot({x*y, x^2–y^2}, x= –1..1, y= –1..1);

>contourplot([u*cos(v), u, u*sin(v)], u= –1..1, v=0..2*Pi); параметрическое задание поверхности.

 

11) Поверхность с п линиями уровня на ней

>plot3d(f(x,y), x=a..b, y=c..d, contours=n,style=patchcontour); вариант – contours=[z1,z2,…,zn]

 

12) Вид на поверхность сверху. Более высокие участки – более светлые. >with(plots):

>densityplot(f(x,y), x=a..b, y=c..d);

 

13) Поверхность r = f(p,z) в цилиндрических координатах (r, p, z). >with(plots):

>cylinderplot(f(p,z), p=a..b, z=a..b);

>cylinderplot(p*sin(z), p=0..4*Pi, z=0..Pi/2);

Параметрическое задание поверхности в цилиндрических координатах

>cylinderplot([r(u,v), p(u,v), z(u,v)], u=a..b, v=c..d);

 

14) Поверхность в сферических координатах (r, t, p), где t – долгота, отсчитываемая от оси Х к оси Y, p – широта, отсчитываемая от северного полюса к южному. >with(plots):

>sphereplot(F(t,p), t=a..b, p=c..d); поверхность r = F(t,p).

>sphereplot(1.2^t*sin(p), t= –3..6, p=0..Pi); «раковина улитки»

Параметрическое задание поверхности в сферических координатах

>sphereplot([r(u,v), t(u,v), p(u,v)], u=a..b, v=c..d);

 

15) Анимация в пространстве. >with(plots):

>animate3d(f(x,y,p), x=a..b, y=c..d, p=A..B); динамика изменения поверхности z = f(x,y,p) с из­менением параметра р от А до В.

>animate3d((x^2–y^2)*sin(p), x= –1..1, y= –1..1, p=0..2*Pi);

 

 


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.024 сек.)