Construct the portion of the cylinder x2 + y2 = 1 lying between the planes z = 0 and z = 1 + x.
> restart;
> x:=cos(t):y:=sin(t):
> z1:=0:z2:=1+x:
> z:=(1-s)*z1+s*z2:
> c:=plot3d([x,y,z],s=0..1,t=0..2*Pi,scaling=constrained,color=blue):
> with(plottools):
> vrml(c,"d:/9/11-1.wrl",background_color=white):
> c;
Describe how two pipes of the same size are joined perpendicularly.
> restart;
> x:=cos(t):y:=sin(t):
> z1:=-1.5:z2:=x:
> z:=(1-s)*z1+s*z2:
> a:=plot3d([x,y,z],s=0..1,t=0..2*Pi,scaling=constrained,color=yellow):
> with(plottools):
> b:=reflect(a,[[0,0,0],[1,0,1],[2,-1,2]]):
> with(plots):
Warning, the name changecoords has been redefined> c:=display(a,b):
> vrml(c,"d:/9/11-2.wrl",background_color=white):
> c;
Construct two pipes joined as thus:
> restart;
> x:=cos(t):y:=sin(t):
> z1:=-1.5:z2:=x:
> z:=(1-s)*z1+s*z2:
> a:=plot3d([x,y,z],s=0..1,t=Pi/2..3/2*Pi,scaling=constrained,color=yellow):
> with(plottools):
> b:=reflect(a,[[0,0,0],[0,0,1],[0,1,2]]):
> with(plots):
Warning, the name changecoords has been redefined> c:=display(a,b):
> c1:=rotate(c,0,Pi/2,0):
> c2:=rotate(c,0,Pi,0):
> c3:=rotate(c,0,3*Pi/2,0):
> e:=display(c,c1,c2,c3):
> vrml(e,"d:/9/11-3.wrl",background_color=white):
> e;
Describe how three pipes are symmetrically joined.
> restart;
> with(plots):
Warning, the name changecoords has been redefined> x:=cos(t):y:=sin(t):
> u:=x/sqrt(3):
> z:=(1-s)*u+s*(-1.5):
> a:=plot3d([x,y,z],s=0..1,t=Pi/2..3*Pi/2,scaling=constrained,grid=[5,50]):
> b:=plot3d([-x,y,z],s=0..1,t=Pi/2..3*Pi/2,scaling=constrained,grid=[5,50]):
> x1:=cos(2*Pi/3)*x-sin(2*Pi/3)*z:
> z1:=sin(2*Pi/3)*x+cos(2*Pi/3)*z:
> a:=plot3d([x,y,z],s=0..1,t=Pi/2..3*Pi/2,scaling=constrained,grid=[5,50]):
> a1:=plot3d([x1,y,z1],s=0..1,t=Pi/2..3*Pi/2,scaling=constrained,grid=[5,50]):
> b1:=plot3d([-x1,y,z1],s=0..1,t=Pi/2..3*Pi/2,scaling=constrained,grid=[5,50]):
> x2:=cos(4*Pi/3)*x-sin(4*Pi/3)*z:
> z2:=sin(4*Pi/3)*x+cos(4*Pi/3)*z:
> a2:=plot3d([x2,y,z2],s=0..1,t=Pi/2..3*Pi/2,scaling=constrained,grid=[5,50]):
> b2:=plot3d([-x2,y,z2],s=0..1,t=Pi/2..3*Pi/2,scaling=constrained,grid=[5,50]):
> c:=display(a,b,a1,b1,a2,b2):
> with(plottools):
> vrml(c,"d:/9/11-4.wrl",background_color=white):
> c;
Wrap the graph of y = cos 2x around a cylinder.
> restart;
> x:=cos(t):y:=sin(t):z1:=-1:z2:=cos(2*t):
> z:=(1-s)*z1+s*z2:
> c:=plot3d([x,y,z],s=0..1,t=0..2*Pi,scaling=constrained,color=blue,grid=[5,50]):
> with(plottools):
> vrml(c,"d:/9/11-5.wrl",background_color=white):
> c;
Wrap the graph of y = cos 3x around a cylinder.
> restart;
> x:=cos(t):y:=sin(t):z1:=-1:z2:=cos(3*t):
> z:=(1-s)*z1+s*z2:
> c:=plot3d([x,y,z],s=0..1,t=0..2*Pi,scaling=constrained,color=green,grid=[5,100]):
> with(plottools):
> vrml(c,"d:/9/11-6.wrl",background_color=white):
> c;
Construct the graph of z = x2 - y2 above the unit circle.
> restart;
> x:=r*cos(t):y:=r*sin(t):
> c:=plot3d([x,y,x^2-y^2],r=0..1,t=0..2*Pi,scaling=constrained,color=red,grid=[10,100]):
> with(plottools):
> vrml(c,"d:/9/11-7.wrl",background_color=white):
> c;
Construct the monkey's saddle given by z = x3 - 3xy2 above the unit circle.
> restart;
> x:=r*cos(t):y:=r*sin(t):
> z:=x^3-3*x*y^2:
> c:=plot3d([x,y,z],r=0..1,t=0..2*Pi,scaling=constrained,color=yellow,grid=[10,100]):
> with(plottools):
> vrml(c,"d:/9/11-8.wrl",background_color=white):
> c;
Construct this model:
restart;
> x:=cos(t):y:=sin(t):z1:=-1:z2:=cos(2*t):
> z:=(1-s)*z1+s*z2:
> a:=plot3d([x,y,z],s=0..1,t=0..2*Pi,scaling=constrained,color=blue,grid=[5,50]):
> x:=r*cos(t):y:=r*sin(t):
> b:=plot3d([x,y,x^2-y^2],r=0..1,t=0..2*Pi,scaling=constrained,color=green,grid=[10,100]):
> with(plots):
Warning, the name changecoords has been redefined> c:=display(a,b):
> with(plottools):
> vrml(c,"d:/9/11-9.wrl",background_color=white):
> c;
Construct this model:
> restart;
> x:=cos(t):y:=sin(t):z1:=-1:z2:=cos(3*t):
> z:=(1-s)*z1+s*z2:
> a:=plot3d([x,y,z],s=0..1,t=0..2*Pi,scaling=constrained,color=yellow,grid=[5,100]):
> x:=r*cos(t):y:=r*sin(t):
> z:=x^3-3*x*y^2:
> b:=plot3d([x,y,z],r=0..1,t=0..2*Pi,scaling=constrained,color=green,grid=[10,100]):
> with(plots):
Warning, the name changecoords has been redefined> c:=display(a,b):
> with(plottools):
> vrml(c,"d:/9/11-10.wrl",background_color=white):
> c;
Describe how 8 identical pipes are joined together symmetrically.
> restart;
> with(plots):with(plottools):
Warning, the name changecoords has been redefined> x:=cos(t):y:=sin(t):
> u:=x*sqrt(2):
> z:=(1-s)*2+s*u:
> a1:=plot3d([x,y,z],t=-Pi/3..Pi/3,s=0..1,scaling=constrained,grid=[50,10]):
> a2:=rotate(a1,0,0,2*Pi/3):
> a3:=rotate(a1,0,0,4*Pi/3):
> a:=display(a1,a2,a3):
> b1:=reflect(a,[[0,0,0],[1,0,sqrt(2)],[1,1,sqrt(2)]]):
> b2:=rotate(b1,0,0,2*Pi/3):
> b3:=rotate(b1,0,0,4*Pi/3):
> c:=display(a,b1,b2,b3):
> c1:=reflect(c,[0,0,0]):
> e:=display(c,c1):
> with(plottools):
> vrml(e,"d:/9/11-11.wrl",background_color=white):
> e;
Describe how six identical pipes are joined together symmetrically.
> restart;
> with(plots):with(plottools):
Warning, the name changecoords has been redefined> x:=cos(t):y:=sin(t):
> u:=x:
> z:=(1-s)*3+s*u:
> a1:=plot3d([x,y,z],t=-Pi/4..Pi/4,s=0..1,scaling=constrained,grid=[50,10],color=COLOR(RGB,0.2,0.8,0.4)):
> a2:=rotate(a1,0,0,Pi/2):
> a3:=rotate(a1,0,0,Pi):
> a4:=rotate(a1,0,0,3*Pi/2):
> a:=display(a1,a2,a3,a4):
> b1:=reflect(a,[[0,0,0],[1,0,1],[1,1,1]]):
> b2:=rotate(b1,0,0,Pi/2):
> c:=display(a,b1,b2):
> c1:=reflect(c,[0,0,0]):
> e:=display(c,c1):
> vrml(e,"d:/9/11-12.wrl",background_color=white):
> e;
Describe how 12 identical pipes are joined together symmetrically.
> restart;
> with(plots):with(plottools):
Warning, the name changecoords has been redefined> x:=cos(t):y:=sin(t):
> v:=(sqrt(5)+1)/2:
> u:=x*v:
> z:=(1-s)*2+s*u:
> a1:=plot3d([x,y,z],t=-Pi/5..Pi/5,s=0..1,scaling=constrained,grid=[50,10],color=COLOR(RGB,0.2,0.8,0.4)):
> a2:=rotate(a1,0,0,2*Pi/5):
> a3:=rotate(a1,0,0,4*Pi/5):
> a4:=rotate(a1,0,0,6*Pi/5):
> a5:=rotate(a1,0,0,8*Pi/5):
> a:=display(a1,a2,a3,a4,a5):
> b1:=reflect(a,[[0,0,0],[1,0,v],[1,1,v]]):
> b2:=rotate(b1,0,0,2*Pi/5):
> b3:=rotate(b1,0,0,4*Pi/5):
> b4:=rotate(b1,0,0,6*Pi/5):
> b5:=rotate(b1,0,0,8*Pi/5):
> c:=display(a,b1,b2,b3,b4,b5):
> c1:=reflect(c,[0,0,0]):
> e:=display(c,c1):
> vrml(e,"d:/9/11-13.wrl",background_color=white):
> e;
Describe how 4 identical pipes are joined together symmetrically.
> restart;
> with(plots):with(plottools):
> x:=cos(t):y:=sin(t):
Warning, the name changecoords has been redefined> v:=sqrt(2)/2:
> u:=x*v:
> z:=(1-s)*2+s*u:
> a1:=plot3d([x,y,z],t=-Pi/3..Pi/3,s=0..1,scaling=constrained,grid=[50,10]):
> a2:=rotate(a1,0,0,2*Pi/3):
> a3:=rotate(a1,0,0,4*Pi/3):
> a:=display(a1,a2,a3):
> b1:=reflect(a,[[0,0,0],[1,0,v],[1,1,v]]):
> b2:=rotate(b1,0,0,2*Pi/3):
> b3:=rotate(b1,0,0,4*Pi/3):
> e:=display(a,b1,b2,b3):
> vrml(e,"d:/9/11-14.wrl",background_color=white):
> e;
>