Construct the envelope of the light rays emitted from a radiant point source at infinity after reflection by the semi-circle.
> restart;
> m:=[[-3,sin(t)],[cos(t),sin(t)],[cos(t)-cos(2*t),sin(t)-sin(2*t)]]:
> t:=k*Pi/50-Pi/2:
> plot([m$k=1..50],scaling=constrained,axes=none,color=blue);
Construct the envelope of the light rays emitted from a radiant point source at the circumference after
reflection by the same circle.
> restart;
> m:=[[-1,0],[cos(t),sin(t)],[cos(t)-cos((3/2)*t),sin(t)-sin((3/2)*t)]]:
> t:=k*Pi/50-Pi:
> plot([m$k=1..100],scaling=constrained,axes=none,color=blue);
Construct the envelope formed by a fix diameter of a circle rolling along a fixed circle of the same size.
> restart;
> m:=[[2*cos(t)+cos(2*t),2*sin(t)+sin(2*t)],[2*cos(t)-cos(2*t),2*sin(t)-sin(2*t)]]:
> t:=k*Pi/50:
> plot([m$k=1..100],scaling=constrained,axes=none,color=blue);
Construct this figure:
> restart;
> m:=[[-2*cos(t)+cos(-2*t),-2*sin(t)+sin(-2*t)],[-2*cos(t)-cos(-2*t),-2*sin(t)-sin(-2*t)]]:
> t:=k*Pi/50:
> plot([m$k=1..100],scaling=constrained,axes=none,color=blue);
Construct the envelope formed by a fix diameter of a circle rolling along a fixed circle twice the diameter.
> restart;
> m:=[[3/2*cos(t)+1/2*cos(3*t),3/2*sin(t)+1/2*sin(3*t)],[3/2*cos(t)-1/2*cos(3*t),3/2*sin(t)-1/2*sin(3*t)]]:
> t:=k*Pi/50-Pi:
> plot([m$k=1..100],scaling=constrained,axes=none,color=blue);
Construct this figure:
> restart;
> m:=[[-3/2*cos(t)+1/2*cos(-3*t),-3/2*sin(t)+1/2*sin(-3*t)],[-3/2*cos(t)-1/2*cos(-3*t),-3/2*sin(t)-1/2*sin(-3*t)]]:
> t:=k*Pi/50-Pi:
> plot([m$k=1..100],scaling=constrained,axes=none,color=blue);
Construct this design:
> restart;
> x:=cos(t):y:=sin(t):
> m:=[[x,y],[x,-y],[1+(1-(-y+1)^2)^(1/2),-y],[1+(1-(-y+1)^2)^(1/2),y],[x,y]]:
> t:=k*Pi/100:
> plot([m$k=0..50],scaling=constrained,axes=none,color=blue);
Construct the nested squares as thus:
> restart;
> m:=[[0,0],[1,0],[1,1],[0,1],[0,0]]:
> v:=[]:
> for k to 20 do v:=[op(v),m]:mp:=[m[2],m[3],m[4],m[1],m[2]]:m:=9/10*m+1/10*mp: od:
> plot(v,scaling=constrained,axes=none,color=blue);
Constructed nested triangles as thus:
> restart;
> m:=[[0,0],[3^(1/2)/2,1/2],[0,1],[0,0]]:
> v:=[]:
> for k to 20 do v:=[op(v),m]:mp:=[m[2],m[3],m[1],m[2]]:m:=9/10*m+1/10*mp: od:
> plot(v,scaling=constrained,axes=none,color=blue);
>
Construct this pattern:
> restart;
> v:=[]:
> for n to 6 do m:=[[0,0],[cos(n*Pi/3),sin(n*Pi/3)],[cos(n*Pi/3+Pi/3),sin(n*Pi/3+Pi/3)],[0,0]]:if n mod 2=0 then m:=m else m:=[m[1],m[3],m[2],m[1]]: fi:for k to 20 do v:=[op(v),m]:mp:=[m[2],m[3],m[1],m[2]]:m:=9/10*m+1/10*mp: od:od:
>
> plot(v,scaling=constrained,axes=none,color=blue);
Construct the family of ellipses
as t ranges in [0,1].
> restart;
> plot([[(1-k/20)*cos(t),k*sin(t)/20,t=0..2*Pi]$k=0..20],scaling=constrained,axes=none,color=blue);
Construct the envelope formed by a fix diameter of a circle rolling along a straight line.
> restart;
> t:=k*Pi/20:
> m:=[[t-sin(t),1-cos(t)],[t+sin(t),1+cos(t)]]:
> plot([m$k=0..80],scaling=constrained,axes=none,color=blue);
Construct the concentric and coaxial ellipses of constant area:
> restart;
> plot([[(2-k/40)*cos(t),80/(80-k)*sin(t),t=0..2*Pi]$k=0..40],scaling=constrained,axes=none,color=blue);
Construct this pattern.
> restart;
> plot([[x,cos(x)+0.03*n*x*(x-1)*(x-2)*(x-3)*(x-4),x=0..4]$n=0..10],scaling=constrained,color=blue);
Construct this pattern.
> restart;
> plot([[x,10*sin(x)/x+n,x=-20..20]$n=0..30],scaling=constrained,axes=none,color=blue);
Construct the reflections of a light ray trapped inside a reflective ellipse. There are two cases.
> restart;
> with(linalg):
Warning, the protected names norm and trace have been redefined and unprotected
> a:=5:b:=3:r:=2.34:s:=3.5:
> 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,color=blue);
> restart;with(linalg):
Warning, the protected names norm and trace have been redefined and unprotected
> 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,color=blue);
>