|
實驗十三 |
|
![]() |
restart; m:=[[-2,sin(t)],[cos(t),sin(t)],[cos(t)-cos(2*t),sin(t)-sin(2*t)]]; t:=n*2*Pi/100; plot([m$n=-25..25],color=brown,scaling=constrained,axes=none); |
![]() |
restart; m:=[[1,0],[cos(t),sin(t)],[cos(2*t),sin(2*t)]]; t:=n*2*Pi/100; plot([m$n=0..100],color=blue,scaling=constrained,axes=none); |
![]() |
restart; with(linalg): a:=5; b:=3; r:=1.34; s:=2.95; ll:=[a*cos(r),b*sin(r)]; l:=[a*cos(s),b*sin(s)]; m:=[l,ll]; for k to 200 do u:=ll-l: n:=[-b*ll[1]/a,-a*ll[2]/b]:v:=u-2*dotprod(u,n)*n/dotprod(n,n):t:=-2*(b^2*v[1]*ll[1]+a^2*ll[2]*v[2])/(b^2*v[1]^2+a^2*v[2]^2):lll:=ll+t*v:m:=[op(m),lll]:l:=ll:ll:=lll:od: plot(m,scaling=constrained,axes=none); |
![]() |
restart; with(linalg): a:=5; b:=3; r:=1.34; s:=5.9; ll:=[a*cos(r),b*sin(r)]; l:=[a*cos(s),b*sin(s)]; m:=[l,ll]; for k to 200 do u:=ll-l: n:=[-b*ll[1]/a,-a*ll[2]/b]:v:=u-2*dotprod(u , n)*n/dotprod(n,n):t:=-2*(b^2*v[1]*ll[1]+a^2*ll[2]*v[2])/(b^2*v[1]^2 +a^2*v[2]^2):lll:=ll+t*v:m:=[op(m),lll]:l:=ll:ll:=lll:od: plot(m,scaling=constrained,axes=none); |
![]() |
restart; k:=3; x:=k*cos(t)-cos(k*t); y:=k*sin(t)-sin(k*t); x1:=diff(x,t); y1:=diff(y,t); x2:=diff(x1,t); y2:=diff(y1,t); f:=(x1^2+y1^2)/(x1*y2-y1*x2+0.000001); xc:=x-f*y1; yc:=y+f*x1; m:=[[x,y],[xc,yc]]; t:=n*2*Pi/100; plot([m$n=1..100],color=red,scaling=constrained,axes=none); |
![]() |
restart; k:=-3; x:=k*cos(t)-cos(k*t); y:=k*sin(t)-sin(k*t); x1:=diff(x,t); y1:=diff(y,t); x2:=diff(x1,t); y2:=diff(y1,t); f:=(x1^2+y1^2)/(x1*y2-y1*x2+0.000001); xc:=x-f*y1; yc:=y+f*x1; m:=[[x,y],[xc,yc]]; t:=n*2*Pi/100; plot([m$n=1..100],color=red,scaling=constrained,axes=none); |
![]() |
restart; k:=-2; x:=k*cos(t)-cos(k*t); y:=k*sin(t)-sin(k*t); x1:=diff(x,t); y1:=diff(y,t); x2:=diff(x1,t); y2:=diff(y1,t); f:=(x1^2+y1^2)/(x1*y2-y1*x2+0.000001); xc:=x-f*y1; yc:=y+f*x1; m:=[[x,y],[xc,yc]]; t:=n*2*Pi/100; plot([m$n=1..100],color=red,scaling=constrained,axes=none); |
![]() |
restart; k:=2; x:=k*cos(t)-cos(k*t); y:=k*sin(t)-sin(k*t); x1:=diff(x,t); y1:=diff(y,t); x2:=diff(x1,t); y2:=diff(y1,t); f:=(x1^2+y1^2)/(x1*y2-y1*x2+0.000001); xc:=x-f*y1; yc:=y+f*x1; m:=[[x,y],[xc,yc]]; t:=n*2*Pi/100; plot([m$n=1..100],color=red,scaling=constrained,axes=none); |
![]() |
restart; k:=2; x:=k*cos(t)-cos(k*t); y:=k*sin(t)-sin(k*t); p1:=plot([x,y,t=0..2*Pi],color=red,scaling=constrained,axes=none): x1:=diff(x,t); y1:=diff(y,t); x2:=diff(x1,t); y2:=diff(y1,t); f:=(x1^2+y1^2)/(x1*y2-y1*x2+0.000001); xc:=x-f*y1; yc:=y+f*x1; p2:=plot([xc,yc,t=0..2*Pi],color=blue,scaling=constrained,axes=none): r:=(x1^2+y1^2)^(3/2)/abs(x1*y2-y1*x2+0.000000001); with(plots): p3:=animate([xc+r*cos(s),yc+r*sin(s),s=0..2*Pi],t=0..2*Pi,color=black,frames=50): p4:=animate([(1-s)*x+s*xc,(1-s)*y+s*yc,s=0..1],t=0..2*Pi,color=black,frames=50): display(p1,p2,p3,p4); |
![]() |
restart; k:=3; x:=k*cos(t)-cos(k*t); y:=k*sin(t)-sin(k*t); p1:=plot([x,y,t=0..2*Pi],color=red,scaling=constrained,axes=none): x1:=diff(x,t); y1:=diff(y,t); x2:=diff(x1,t); y2:=diff(y1,t); f:=(x1^2+y1^2)/(x1*y2-y1*x2+0.000001); xc:=x-f*y1; yc:=y+f*x1; p2:=plot([xc,yc,t=0..2*Pi],color=blue,scaling=constrained,axes=none): r:=(x1^2+y1^2)^(3/2)/abs(x1*y2-y1*x2+0.000000001); with(plots): p3:=animate([xc+r*cos(s),yc+r*sin(s),s=0..2*Pi],t=0..2*Pi,color=black,frames=50): p4:=animate([(1-s)*x+s*xc,(1-s)*y+s*yc,s=0..1],t=0..2*Pi,color=black,frames=50): display(p1,p2,p3,p4); |
![]() |
restart; k:=-2; x:=k*cos(t)-cos(k*t); y:=k*sin(t)-sin(k*t); p1:=plot([x,y,t=0..2*Pi],color=red,scaling=constrained,axes=none): x1:=diff(x,t); y1:=diff(y,t); x2:=diff(x1,t); y2:=diff(y1,t); f:=(x1^2+y1^2)/(x1*y2-y1*x2+0.000001); xc:=x-f*y1; yc:=y+f*x1; p2:=plot([xc,yc,t=0..2*Pi],color=blue,scaling=constrained,axes=none): r:=(x1^2+y1^2)^(3/2)/abs(x1*y2-y1*x2+0.000000001); with(plots): p3:=animate([xc+r*cos(s),yc+r*sin(s),s=0..2*Pi],t=0..2*Pi,color=black,frames=50): p4:=animate([(1-s)*x+s*xc,(1-s)*y+s*yc,s=0..1],t=0..2*Pi,color=black,frames=50): display(p1,p2,p3,p4); |
![]() |
restart; k:=-3; x:=k*cos(t)-cos(k*t); y:=k*sin(t)-sin(k*t); p1:=plot([x,y,t=0..2*Pi],color=red,scaling=constrained,axes=none): x1:=diff(x,t); y1:=diff(y,t); x2:=diff(x1,t); y2:=diff(y1,t); f:=(x1^2+y1^2)/(x1*y2-y1*x2+0.000001); xc:=x-f*y1; yc:=y+f*x1; p2:=plot([xc,yc,t=0..2*Pi],color=blue,scaling=constrained,axes=none): r:=(x1^2+y1^2)^(3/2)/abs(x1*y2-y1*x2+0.000000001); with(plots): p3:=animate([xc+r*cos(s),yc+r*sin(s),s=0..2*Pi],t=0..2*Pi,color=black,frames=50): p4:=animate([(1-s)*x+s*xc,(1-s)*y+s*yc,s=0..1],t=0..2*Pi,color=black,frames=50): display(p1,p2,p3,p4); |