maple

Форум пользователей пакета Maple

Модератор: Admin

Кли
Сообщения: 147
Зарегистрирован: Пт ноя 04, 2016 4:54 pm

maple

Сообщение Кли » Ср янв 23, 2019 4:59 pm

Здравствуйте!! Хочу спросить, есть ли какие нибудь книжки или статьи по закрашивание областей или пересечения функции maple?

Kitonum
Сообщения: 2076
Зарегистрирован: Ср дек 31, 2008 1:55 pm
Откуда: г. Пенза

Re: maple

Сообщение Kitonum » Чт янв 24, 2019 6:54 pm

Для закрашивания двумерных областей (начиная с Maple 17) хорошо работает команда plots:-inequal . Вот пример:
with(plots):
inequal({0 < 3*y-x-2, x^2-y < 0, x^2+y^2 < 9}, x = -2 .. 2, y = 0 .. 3, color = "LightBlue");
Изображение

Markiyan Hirnyk
Сообщения: 1314
Зарегистрирован: Вс дек 04, 2011 11:07 pm

Re: maple

Сообщение Markiyan Hirnyk » Чт янв 24, 2019 11:03 pm

Kitonum,
Для закрашивания двумерных областей (начиная с Maple 17) хорошо работает команда plots:-inequal

Я бы не сказал. Попробуйте

Код: Выделить всё

with(plots): inequal(floor(-y^2+x) < 3, x = 0 .. 5, y = 0 .. 5, color = "LightBlue");

Впрочем, я слишком придирчев. Мэйпл прав, показывая, где имеет меcто равенство. Ср. с

Код: Выделить всё

plots:-inequal(floor(-y^2+x) < 3, x = 0 .. 5, y = 0 .. 5, color = "LightBlue", nolines);
Последний раз редактировалось Markiyan Hirnyk Чт янв 24, 2019 11:12 pm, всего редактировалось 2 раза.

Кли
Сообщения: 147
Зарегистрирован: Пт ноя 04, 2016 4:54 pm

Re: maple

Сообщение Кли » Чт янв 24, 2019 11:07 pm

а для параметрических функций, какая команда хороша?

Kitonum
Сообщения: 2076
Зарегистрирован: Ср дек 31, 2008 1:55 pm
Откуда: г. Пенза

Re: maple

Сообщение Kitonum » Чт янв 24, 2019 11:57 pm

Посмотрите этот мой пост https://www.mapleprimes.com/posts/145922-Perimeter-Area-And-Visualization-Of-A-Plane-Figure- на mapleprimes.com Процедура Picture позволяет раскрасить плоскую область, ограниченную кусочно гладкой кривой (граница этой области). Граница может быть задана как явными, так и параметрическими уравнениями, а также и в полярных координатах. Там много примеров.

Кли
Сообщения: 147
Зарегистрирован: Пт ноя 04, 2016 4:54 pm

Re: maple

Сообщение Кли » Пт янв 25, 2019 12:03 am

спасибо

Кли
Сообщения: 147
Зарегистрирован: Пт ноя 04, 2016 4:54 pm

Re: maple

Сообщение Кли » Вт янв 29, 2019 7:46 pm

Код: Выделить всё

A:=plot([2*sin(phi), 4*sin(phi)],phi=0..Pi,color=[red,blue],coords=polar):
B:=plot(sqrt(3)*x,x=0..2,color=green):
C:=plot(x/sqrt(3),x=0..2,color=grey):
R:=implicitplot((r-2*sin(phi))*(r-4*sin(phi)),r=0..4,phi=Pi/6..Pi/3,coloring=[red,white],color=white,coords=polar,filled):
display(R,A,B,C,scaling=constrained);

http://skrinshoter.ru/s/290119/VZg75S
как избавиться от белых пятен?

Kitonum
Сообщения: 2076
Зарегистрирован: Ср дек 31, 2008 1:55 pm
Откуда: г. Пенза

Re: maple

Сообщение Kitonum » Вт янв 29, 2019 9:29 pm

Я кое-что подкорректировал для улучшения качества:

A:=plot([2*sin(phi), 4*sin(phi)],phi=0..Pi,color=[red,blue],thickness=3,coords=polar):
B:=plot(sqrt(3)*x,x=0..2,color=green, thickness=3):
C:=plot(x/sqrt(3),x=0..2,color=gold, thickness=3):
R:=plots:-implicitplot((r-2*sin(phi))*(r-4*sin(phi)), r=0..4, phi=Pi/6..Pi/3, filledregions, coloring=[yellow,white],coords=polar):
plots:-display(R,A,B,C,scaling=constrained, size=[600,500]);

Изображение

Кли
Сообщения: 147
Зарегистрирован: Пт ноя 04, 2016 4:54 pm

Re: maple

Сообщение Кли » Вт янв 29, 2019 9:41 pm

на size что-то ругается
Error, (in plots:-display) unexpected option: size = [60, 50]

Kitonum
Сообщения: 2076
Зарегистрирован: Ср дек 31, 2008 1:55 pm
Откуда: г. Пенза

Re: maple

Сообщение Kitonum » Вт янв 29, 2019 9:46 pm

У вас какая-то старая версия Maple, в которой ещё нет этой опции. Просто уберите её из кода.

Кли
Сообщения: 147
Зарегистрирован: Пт ноя 04, 2016 4:54 pm

Re: maple

Сообщение Кли » Вт янв 29, 2019 9:49 pm

maple 17 у меня стоит, а если ее убрать, то выводит с белыми пятнами
а нельзя ли использовать polygonplot и seq?

Kitonum
Сообщения: 2076
Зарегистрирован: Ср дек 31, 2008 1:55 pm
Откуда: г. Пенза

Re: maple

Сообщение Kitonum » Вт янв 29, 2019 10:10 pm

Попробуйте опцию numpoints :

restart;
A:=plot([2*sin(phi), 4*sin(phi)],phi=0..Pi,color=[red,blue],thickness=3,coords=polar):
B:=plot(sqrt(3)*x,x=0..2,color=green, thickness=3):
C:=plot(x/sqrt(3),x=0..2,color=gold, thickness=3):
R:=plots:-implicitplot((r-2*sin(phi))*(r-4*sin(phi)), r=0..4, phi=Pi/6..Pi/3, filledregions, coloring=[yellow,white],coords=polar, numpoints=10000):
plots:-display(R,A,B,C,scaling=constrained);

Кли
Сообщения: 147
Зарегистрирован: Пт ноя 04, 2016 4:54 pm

Re: maple

Сообщение Кли » Вт янв 29, 2019 10:18 pm

вот, что выводит, это из-за версии?
21.gif
21.gif (20.73 КБ) 173 просмотра

Кли
Сообщения: 147
Зарегистрирован: Пт ноя 04, 2016 4:54 pm

Re: maple

Сообщение Кли » Вт янв 29, 2019 11:44 pm

Код: Выделить всё

a1:=implicitplot(x^2+y^2=2*y,x=-10..10,y=-10..10,grid=[100,100]):
a2:=implicitplot(x^2+y^2=4*y,x=-10..10,y=-10..10,grid=[100,100]):
a3:=plot(sqrt(3)*x,x=0..5):
a4:=plot(x/sqrt(3),x=0..5):
y1:=solve(i^2+y^2=2*y,y)[1]: y2:=solve(i^2+y^2=4*y,y)[1]:

g1:=NULL: c:=0:
for i from 2.6 to 3 by 0.01 do
c:=c+1:
q(c):=plot([i,t,t=y1..y2]):
g1:=g1,q(c):
end do:

g2:=NULL: c:=0:
for i from 3 to 4 by 0.01 do
c:=c+1:
q(c):=plot([i,t,t=i..y2]):
g2:=g2,q(c):
end do:

display(g1,g2,a1,a2,a3,a4);

а если такой взять код, то как надо подкорректировать?

Kitonum
Сообщения: 2076
Зарегистрирован: Ср дек 31, 2008 1:55 pm
Откуда: г. Пенза

Re: maple

Сообщение Kitonum » Ср янв 30, 2019 12:39 pm

Если вы хотите закрашивать свою область отдельными отрезками, то сами отрезки лучше брать не параллельными осям координат, а проходящими через начало. При этом мы нуждаемся в полярных уравнениях ваших окружностей. Вот реализация этой идеи:
restart;
C1:=eval(x^2+y^2=2*y, [x=r*cos(t),y=r*sin(t)]):
Eq1:=simplify(op({solve(C1, r)} minus {0}));
C2:=eval(x^2+y^2=4*y, [x=r*cos(t),y=r*sin(t)]):
Eq2:=simplify(op({solve(C2, r)} minus {0}));
P1:=plot(Eq1, t=0..Pi, color=red, thickness=3, coords=polar):
P2:=plot(Eq2, t=0..Pi, color=blue, thickness=3, coords=polar):
P3:=plot([sqrt(3)*x, x/sqrt(3)], x=-2.5..2.5, color=[green,gold], thickness=3):
P4:=plot([seq([r*cos(t),r*sin(t),r=Eq1+0.01..Eq2-0.01], t=Pi/6+0.02..Pi/3-0.01, 0.01)], color=yellow):
plots:-display(P1,P2,P3,P4, scaling=constrained, view=[-2.5..2.5, -1..4.5]);
Изображение