> restart; with(student); with(plots)

> a := 1; b := 1; zakr := 2*Pi; m := 36

[Maple Plot]
Gdy po zielonym, nieruchomym okręgu o promieniu a =1 toczy się okrąg niebieski o promieniu b =1 , to ustalony punkt niebieskiego okręgu 'biegnie' po krzywej zwanej kardioidą . Oto jej opis (kard):

> okra := [a*cos(t), a*sin(t)]

> okrb := [b*cos(t), b*sin(t)]

> T := Pi+t+a/b*t

> kard := okra+okrb+[b*cos(T), b*sin(T)]

kard := [-cos(2*t)+2*cos(t), -sin(2*t)+2*sin(t)]

Poniżej typowy zapis parametryczny kardioidy kard:

> x := kard[1]; y := kard[2]; t = 0 .. zakr

x := -cos(2*t)+2*cos(t)

y := -sin(2*t)+2*sin(t)

t = 0 .. 2*Pi

Wygląda jak niżej (warto pominąć szczególy tych formul):

> w:=k->plot([[op(okra),t=0..zakr],[((a+b)*cos(zakr*k/m),(a+b)*sin(zakr*k/m))+op(okrb),t=0..zakr],[op(kard),t=0..zakr*k/m],
[op(kard-[c1*b*cos(T),c1*b*sin(T)]),t=0..zakr*k/m],[op(kard+[c1*b*cos(T),c1*b*sin(T)]),t=0..zakr*k/m]],
color=[green,blue,red,brown,cyan]):display([seq(w(k),k=1..m)],insequence=true, scaling=CONSTRAINED);

[Maple Plot]

Wektor prędkości czerwonego punktu i jego dlugość dl :

> [diff(x,t), diff(y,t)]

[2*sin(2*t)-2*sin(t), -2*cos(2*t)+2*cos(t)]

> dl := (diff(x,t)^2+diff(y,t)^2)^(1/2)

dl := sqrt((2*sin(2*t)-2*sin(t))^2+(-2*cos(2*t)+2*c...

Dlugosc kardioidy:

> Int((Diff('x',t)^2+Diff('y',t)^2)^(1/2),t = 0 .. za...

Int(sqrt(Diff(x,t)^2+Diff(y,t)^2),t = 0 .. 2*Pi) :=...

> evalf(int( dl, t=0..zakr));

16.

Pole ograniczone kardioidą (z malym blędem - jakim?):

> Int(2*('y')*Diff('x',t),t = 0 .. Pi) := 2*Int(y*Dif...

Int(2*y*Diff(x,t),t = 0 .. Pi) := 2*Int((-sin(2*t)+...

Gdy na promieniu niebieskiego okręgu zaznaczymy brązowy punkt i na przedlużeniu (tego promienia) punkt blękitny , to wykreślą trochę inne krzywe ( warto pominąć szczególy tych formul ):

> c1:=1/2:w1:=k->plot([[op(okra),t=0..zakr],[((a+b)*cos(zakr*min(1, k/m)) ,(a+b)*sin(zakr*min(1,k/m)))+op(okrb),t=0..zakr], [op(kard),t=0..zakr*k/m],[op(kard-[c1*b*cos(T),c1*b*sin(T)]),t=0..zakr*k/m],[op(kard+[c1*b*cos(T),c1*b*sin(T)]),t=0..zakr*k/m]],color=[green,blue,red,brown,cyan]):display([seq(w1(k),k=1..2*m)],insequence=true, scaling=CONSTRAINED);

[Maple Plot]

Opis tych krzywych: przyjmujemy stalą c oznaczającą który punkt promienia będzie kreślil krzywą i nieznacznie modyfikujemy stare wzory (wlaściwie tylko kard; resztę kopiujemy BEZ ZMIAN):

> kard := okra+okrb+[c*b*cos(T), c*b*sin(T)]

kard := [-c*cos(2*t)+2*cos(t), -c*sin(2*t)+2*sin(t)...

> x := kard[1]; y := kard[2]; t = 0 .. zakr

x := -c*cos(2*t)+2*cos(t)

y := -c*sin(2*t)+2*sin(t)

t = 0 .. 2*Pi

> [diff(x,t), diff(y,t)]

[2*c*sin(2*t)-2*sin(t), -2*c*cos(2*t)+2*cos(t)]

> dl := (diff(x,t)^2+diff(y,t)^2)^(1/2)

dl := sqrt((2*c*sin(2*t)-2*sin(t))^2+(-2*c*cos(2*t)...

Przyjmujemy do obliczeń c=1/2. Dlugosc takiej NOWEJ kardioidy:

> c := 1/2

> Int((Diff('x',t)^2+Diff('y',t)^2)^(1/2),t = 0 .. za...

Int(sqrt(Diff(x,t)^2+Diff(y,t)^2),t = 0 .. 2*Pi) :=...

Co upraszcza się do:

> evalf(int( dl, t=0..zakr));

13.36489322

Jej pole (też z blędem):

> Int(2*('y')*Diff('x',t),t = 0 .. Pi) := 2*Int(y*Dif...

Int(2*y*Diff(x,t),t = 0 .. Pi) := 2*Int((-1/2*sin(2...

Przyjmujemy do obliczeń c=3/2. Dlugosc takiej NOWEJ kardioidy:

> c := 3/2

> Int((Diff('x',t)^2+Diff('y',t)^2)^(1/2),t = 0 .. za...

Int(sqrt(Diff(x,t)^2+Diff(y,t)^2),t = 0 .. 2*Pi) :=...
Int(sqrt(Diff(x,t)^2+Diff(y,t)^2),t = 0 .. 2*Pi) :=...

Co upraszcza się do:

> evalf(int( dl, t=0..zakr));

21.01004454

Jej pole (też z blędem):

> Int(2*('y')*Diff('x',t),t = 0 .. Pi) := 2*Int(y*Dif...

Int(2*y*Diff(x,t),t = 0 .. Pi) := 2*Int((-3/2*sin(2...

>