X

> restart;
> a:=2;
> b:=5;
> c:=sqrt(a^2+b^2);
> z:=a*sin(t);
> r:=c+a*cos(t);
> x:=r*cos(s);
> y:=r*sin(s);
> with(plots):
> t:=2.5*s;
> tubeplot([x,y,z],s=0..4*Pi,scaling=constrained,radius=1,grid=[201,11],

   style=patchnogrid);
¡@

> restart;
> with(plots):
> a:=2;b:=5;c:=sqrt(a^2+b^2);
> z:=a*sin(t);r:=c+a*cos(t);
> x:=r*cos(s);y:=r*sin(s);
> s:=5*t;
> tubeplot([x,y,z],t=0..2*Pi,radius=0.6,grid=[202,12],scaling=constrained,

style=patchnogrid);

> restart;
> with(plots):
> tubeplot([cos(3*t),sin(4*t),sin(5*t)],t=0..2*Pi,radius=0.1,grid=[201,12],

   scaling=constrained,style=patchnogrid);

> restart;
> with(plots):
> tubeplot([cos(15*t),sin(4*t),sin(19*t)],t=0..2*Pi,radius=0.05,grid=[201,12],

   scaling=constrained);
¡@

> restart;
> with(plots):with(plottools):
> a:=2;b:=5;c:=sqrt(a^2+b^2);
> q:=tubeplot([b*cos(t),a+c*sin(t),a*cos(t)],t=0..2*Pi,radius=0.3):
> for n to 5 do p[n]:=rotate(q,0,0,2*n*Pi/5): od:
> display(p[k]$k=1..5,scaling=constrained,style=patchnogrid);

> restart;
> with(plots):with(plottools):
> a:=2;b:=5;c:=sqrt(a^2+b^2);
> q:=tubeplot([b*cos(t),a+c*sin(t),a*cos(t)],t=0..2*Pi,radius=0.1):
> for n to 20 do p[n]:=rotate(q,0,0,2*n*Pi/20): od:
> display(p[k]$k=1..20,scaling=constrained,style=patchnogrid);

> restart;
> with(plots):with(plottools):
> a:=coordplot(cartesian,[-10..10,-10..10],scaling=constrained):
> f:=transform((x,y)->[2*x/(x^2+y^2+1),2*y/(x^2+y^2+1),(x^2+y^2-1)/(x^2+y^2+1)]):
> b:=display(f(a),scaling=constrained):
> c:=sphere([0,0,0],0.99,style=patchnogrid,color=yellow):
> h:=display(b,c):
> h;
¡@

> restart;
> z:=sin(t);r:=3+cos(t);
> x:=7+r*cos(s);y:=r*sin(s);
> q:=expand([x,y,z]/(x*x+y*y+z*z)):
> plot3d(q,s=0..2*Pi,t=0..2*Pi,grid=[200,24],scaling=constrained,style=patchnogrid);
¡@

> restart;
> with(plots):with(plottools):
> invert:=transform((x,y,z)->expand([x,y,z]/(x*x+y*y+z*z))):
> p1:=sphere([-1+6,-1,-1],sqrt(2)):
> p2:=sphere([1+6,1,-1],sqrt(2)):
> p3:=sphere([1+6,-1,1],sqrt(2)):
> p4:=sphere([-1+6,1,1],sqrt(2)):
> f:=transform((x,y,z)->expand([x,y,z]/(x^2+y^2+z^2))):
> display(f(p1),f(p2),f(p3),f(p4),scaling=constrained,style=patchnogrid);
¡@

> restart;
> with(plots):
> tubeplot([t*cos(t),t*sin(t),2*t],t=0..4*Pi,radius=t/2,scaling=constrained,style=patchnogrid);

> restart;
> x:=cos(t)^3*cos(s)^3;
> y:=cos(t)^3*sin(s)^3;
> z:=sin(t)^3;
> plot3d([x,y,z],s=0..2*Pi,t=0..2*Pi,grid=[51,51],scaling=constrained,style=patchnogrid);

> restart;
> with(plots):with(plottools):
> R:=csc(Pi/10);r:=csc(Pi/5);
> z:=sqrt(4-csc(Pi/5)^2);
> for k from 0 to 9 do a[k]:=[R*cos(Pi*(2*k+1)/10),R*sin(Pi*(2*k+1)/10),0] od:
> for k from 0 to 4 do b[k]:=[r*cos(Pi*2*k/5),r*sin(Pi*2*k/5),z] od:
> s1:=polygon([a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]]):
> s2:=polygon([b[0],b[1],b[2],b[3],b[4]]):
> h1:=display(polygon([a[0],a[9],b[0]]),scaling=constrained):
> h2:=rotate(h1,0,0,2*Pi/5):
> h3:=rotate(h1,0,0,4*Pi/5):
> h4:=rotate(h1,0,0,6*Pi/5):
> h5:=rotate(h1,0,0,8*Pi/5):
> h:=display(h1,h2,h3,h4,h5):
> r1:=display(polygon([a[0],a[1],b[1],b[0]]),scaling=constrained):
> r2:=rotate(r1,0,0,2*Pi/5):
> r3:=rotate(r1,0,0,4*Pi/5):
> r4:=rotate(r1,0,0,6*Pi/5):
> r5:=rotate(r1,0,0,8*Pi/5):
> r:=display(r1,r2,r3,r4,r5):
> display(r,s1,s2,h);