参数曲线绕坐标轴旋转形成的旋转曲面的动画
例 4.4.5 作出以下直线绕 z 轴旋转一周得到的旋转曲面的动画。
解 旋转曲面的参数方程为:
输入以下命令:
with(plots): x:=t->0: y:=t->1: z:=t->t: u:=sqrt(x(t)^ 2+y(t)^2):
a:=-1: b:=1: K:=20: for i from 1 to K do ti:=i2Pi/K:
qumian[i]:=plot3d([u(t)*cos(theta), u(t)*sin(theta), z(t)],t=a…b, theta=0…ti) od:
L:=display(seq(qumian[i],i=1…K),insequence=true):
display(L,L, style=patch, lightmodel=light2, orientation=[45,70],
axes=frame,tickmarks=[2,2,2]);
输出动画(圆柱面 x^ 2+y^2=1):
输入以下命令:
with(plots):with(plottools):
x:=t->1: y:=t->0: z:=t->t: u:=t->sqrt(x(t)2+y(t)2):
Muxian:=spacecurve([x(t),y(t),z(t)],t=-1.8…1.8, thickness=3,color=red):
K:=30:
for i from 1 to K do ti:=i4Pi/K:
qumian[i]:=plot3d([u(t)*cos(theta),u(t)*sin(theta),z(t)],t=-1.3…1.3,theta=0…ti,
scaling=constrained,style=patch):
muxian[i]:=rotate(Muxian,ti,[[0,0,0],[0,0,1]]) od:
L:=display(seq(qumian[i],i=1…K), insequence=true):
M:=display(seq(muxian[i],i=1…K), insequence=true):
display(L,M,orientation=[40,70],tickmarks=[1,1,1],axes=frame,
lightmodel=light1,scaling