资源预览内容
第1页 / 共34页
第2页 / 共34页
第3页 / 共34页
第4页 / 共34页
第5页 / 共34页
第6页 / 共34页
第7页 / 共34页
第8页 / 共34页
第9页 / 共34页
第10页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第十二章 主题数学动画典例分析图12-0102 圆柱面渐伸展开为平面*图 1 圆柱面渐伸展开为平面restart:with(plots):N:=24:M:=4:R:=N:w:=1:r:=5:a:=0:b:=2*Pi:c:=-r:d:=r:u:=i-2*Pi*i/N:v:=j-c+2*d*j/M:f:=(i,j)-r*cos(u(i):g:=(i,j)-r*sin(u(i):h:=(i,j)-(v(j):F:=k-MESH(seq(seq(evalf(f(i,j),g(i,j),h(i,j),j=0.M),i=0.R-w*k),COLOR(RGB,1,0,1):PLOT3D(ANIMATE(seq(F(k),k=0.R),AXES(BOX):;display(ANIMATE(seq(F(k),k=0.R),insequence=true,axes=frame,labels=x,y,z):;W1:=%:Q:=i-polygon(r*cos(u(i),r*sin(u(i),c,r*cos(u(i)+r*sin(u(i)*(u(i),r*sin(u(i)-r*cos(u(i)*(u(i),c,r*cos(u(i)+r*sin(u(i)*(u(i),r*sin(u(i)-r*cos(u(i)*(u(i),d,r*cos(u(i),r*sin(u(i),d,color=blue):Q(i):display(ANIMATE(seq(Q(i),i=0.N),insequence=true,axes=frame):PLOT3D(ANIMATE(seq(Q(i),i=0.N),AXES(BOX):WW:=%:f:=(i,j)-r*cos(u(i):g:=(i,j)-r*sin(u(i):h:=(i,j)-v(j):FF:=PLOT3D(MESH(seq(seq(evalf(f(i,j),g(i,j),h(i,j),j=0.M),i=0.R),STYLE(LINE),COLOR(RGB,0,1,0):display(W1,WW,FF,view=-25.8,-32.16,c.d,orientation=20,72,scaling=constrained,axesfont=TIMES,ROMAN,5,scaling=constrained);本主题动画,如果采用新版animate函数,可以使用如下实现方案restart:with(plots):r:=5:c:=-r:d:=r:cylinderplot(r,u=0.2*Pi,v=-c.c,line,grid=13,3):B:=%:FF:=proc(t)display(polygonplot3d(r*cos(t),r*sin(t),c,r*cos(t)+r*sin(t)*(t),r*sin(t)-r*cos(t)*(t),c,r*cos(t)+r*sin(t)*(t),r*sin(t)-r*cos(t)*(t),d,r*cos(t),r*sin(t),d ),cylinderplot(r,u=t.2*Pi,v=-c.c,color=red,grid=13,3,thickness=0,PATCHNOGRID):end:animate(FF,t,t=0.2*Pi,frames=9,background=B,scaling=constrained,orientation=40,70,axes=box);图 2 新方案动画的一帧图12-0305 圆柱面的截口曲线*图 3 截平面位置变动时圆柱面的截口曲线restart:with(plots):with(plottools):a:=-12:b:=12:N:=48:M:=36:r:=1:R:=18:t:=i-a+(b-a)/N*i: s:=j-2*Pi*j/M:x:=(i,j)-r*cos(s(j):y:=(i,j)-r*sin(s(j):z:=(i,j)-t(i):plot3d(x(i,j),y(i,j),z(i,j),i=0.N,j=0.M,wireframe,color=green):ZM:=%:k:=n-tan(-0.0001+Pi*n/2/R):PM:=n-polygonplot3d(-1,-1,-k(n),1,-1,-k(n),1,1,k(n),-1,1,k(n),LINE,color=red):x1:=j-r*cos(s(j):y1:=j-r*sin(s(j):z1:=j-k(n)*sin(s(j):JKQX:=n-spacecurve(x1(j),y1(j),z1(j),j=0.M,color=blue,thickness=3):HI:=n-display(PM(n),JKQX(n):display(seq(HI(n),n=0.R),insequence=true):;display(%,ZM,orientation=-29,58,view=-1.1,-1.1,-12.12,orientation=-48,84);图 4 假如把各帧的截口曲线保留为踪迹的情形如果使用新版animate函数,可以采取如下方案restart:with(plots):r:=5:a:=-r*52:b:=r*52:cylinderplot(r,u=0.2*Pi,v=a.b,line,grid=24,6):ZM:=%:DH:=proc(t)display(polygonplot3d(-r,-r,-tan(t)*r,r,-r,-tan(t)*r,r,r,tan(t)*r,-r,r,tan(t)*r,color=yellow),spacecurve(r*cos(s),r*sin(s),tan(t)*r*sin(s),s=0.2*Pi,color=blue,thickness=3):end:animate(DH,t,t=0.Pi/12*5.9,orientation=-45,80,background=ZM);图 5 新方案动画的一帧图12-0609 展开圆柱截口曲线成为一条正弦曲线*图 6 展开圆柱截口曲线成为一条正弦曲线restart:with(plots):with(plottools):第一部分N:=24:M:=4:R:=N:w:=1:r:=5:a:=0:b:=2*Pi: c:=-(r+.5):d:=-c: u:=i-2*Pi*i/N: v:=j-c+2*d*j/M:f:=(i,j)-r*cos(u(i):g:=(i,j)-r*sin(u(i):h:=(i,j)-(v(j):F:=k-MESH(seq(seq(evalf(f(i,j),g(i,j),h(i,j),j=0.M),i=0.R-w*k),COLOR(RGB,0,1,0):PLOT3D(ANIMATE(seq(F(k),k=0.R),AXES(BOX):;display(ANIMATE(seq(F(k),k=0.R),insequence=true,axes=frame,labels=x,y,z):W1:=%:Q:=i-polygon(r*cos(u(i),r*sin(u(i),c,r*cos(u(i)+r*sin(u(i)*(u(i),r*sin(u(i)-r*cos(u(i)*(u(i),c,r*cos(u(i)+r*sin(u(i)*(u(i),r*sin(u(i)-r*cos(u(i)*(u(i),d,r*cos(u(i),r*sin(u(i),d,color=cyan,thickness=2):display(ANIMATE(seq(Q(i),i=0.N),insequence=true,axes=frame):WW:=%:f:=(i,j)-r*cos(u(i): g:=(i,j)-r*sin(u(i): h:=(i,j)-v(j):FF:=PLOT3D(MESH(seq(seq(evalf(f(i,j),g(i,j),h(i,j),j=0.M),i=0.R),STYLE(LINE),COLOR(RGB,.8,.9,0):display(W1,WW,FF,view=-25.8,-32.16,c.d,orientation=20,72,scaling=constrained,axesfont=TIMES,ROMAN,5);第二部分以下才是本主题动画“展开圆柱截口曲线成为一条正弦曲线” 设计的核心部分首先设计一条逐渐伸长并逐渐向左移动的正弦曲线k:=17:plot(x-k*2*Pi/N,r*sin(x),x=0.k*2*Pi/N,color=black,thickness=2);图 7 逐渐伸长并逐渐向左移动的正弦曲线再把上面的正弦曲线动画逐帧映射到渐开切平面上去N:=24:r:=5: G:=transform(u,v)-u*r*sin(i*2*Pi/N)+r*cos(i*2*Pi/N),u*r*cos(i*2*Pi/N)+r*sin(i*2*Pi/N),v):F:=i-G(plot(x-i*2*Pi/N,r*sin(x),x=0.001.i*2*Pi/N,color=black,thickness=2):display(seq(F(i),i=0.N),insequence=true,axes=frame):;tuxd:=%:display(W1,WW,FF,tuxd,scaling=unconstrained,orientation=34,64,axesfont=TIMES,ROMAN,5);最后添加一条被逐渐“解掉”的圆柱面截口曲线N:=24:r:=5:with(plottools):GG:=transform(u,v)-r*cos(u),r*sin(u),v):FG:=i-GG(plot(x,r*sin(x),x=i*2*Pi/N.2*Pi,color=red,thickness=2):display(seq(FG(i),i=0.001.N),insequence=true):JK:=%:display(W1,WW,JK,tuxd,FF,scaling=unconstrained,orientation=31,73,axesfont=TIMES,ROMAN,5);图 8 最后组合成的动画如果使用新版animate函数,可以采取如下方案首先取来2-6.1.3的结果,并赋名为QQ然后再添加上两条曲线的动画WQWQ:=proc(t)G:=transform(u,v)-u*r*sin(t)+r*cos(t),u*r*cos(t)+r*sin(t),v):GG:=transform(u,v)-r*cos(u),r*sin(u),v):display(G(plot(x-t,r*sin
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号