with(plots):
R:=1.6:
f:=x->sqrt(R^2-x^2):
g:=x->-sqrt(R^2-x^2):
a:=-R:b:=R:
xzou:=spacecurve([x,0,0],x=a-1..b+1,thickness=3,color=black):
yzou:=spacecurve([0,y,0],y=a-1..b+1,thickness=3,color=black):
base:=plot3d([x,y,0],x=a..b,y=g(x)..f(x),color=grey,style=patchnogrid):
quxian:=spacecurve([R*cos(t),R*sin(t),0],t=0..2*Pi,thickness=3,color=red):
K:=60:for i from 0 to K do xi:=a+i*(b-a)/K:
zhengfangxing[i]:=spacecurve([[xi,g(xi),0],[xi,f(xi),0],[xi,f(xi),f(xi)-g(xi)],[xi,g(xi),f(xi)-g(xi)],[xi,g(xi),0]],thickness=3,color=blue):
zhengfangban[i]:=plot3d([xi,y,z],y=g(xi)..f(xi),z=0..f(xi)-g(xi),color=yellow,style=patchnogrid):
qumian1[i]:=plot3d([x,f(x),(f(x)-g(x))*t],t=0..1,x=a..xi,color=green):
qumian2[i]:=plot3d([x,g(x),(f(x)-g(x))*t],t=0..1,x=a..xi,color=green):
qumian3[i]:=plot3d([x,g(x)+(f(x)-g(x))*t,f(x)-g(x)],t=0..1,x=a..xi,color=grey)od:
zhengfangxing:=display(seq(zhengfangxing[i],i=0..K),insequence=true):
zhengfangban:=display(seq(zhengfangban[i],i=0..K),insequence=true):
qumian1:=display(seq(qumian1[i],i=0..K),insequence=true):
qumian2:=display(seq(qumian2[i],i=0..K),insequence=true):
qumian3:=display(seq(qumian3[i],i=0..K),insequence=true):
display(xzou,yzou,base,quxian,zhengfangban,zhengfangxing,qumian1,qumian2,qumian3,scaling=constrained,orientation=[-60,70]);
评论