ImageVerifierCode 换一换
格式:DOCX , 页数:38 ,大小:551.37KB ,
资源ID:4447648      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4447648.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第12章主题动画典例分析.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

第12章主题动画典例分析.docx

1、第12章主题动画典例分析第十二章 主题数学动画典例分析图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):PLOT3

2、D(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=

3、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.1

4、6,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,style=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

5、*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,style=PATCHNOGRID):end:animate(FF,t,t=0.2*Pi,frames=9,background=B,scaling=constrained,orientation=40,70,axes=box);图 2 新方案动画的一帧图12-0305 圆柱面的截口曲线*图 3 截平面位置变

6、动时圆柱面的截口曲线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,style=wireframe,color=green):ZM:=%:k:=n-tan(-0.0001+Pi*n/2/R):PM:=n-polygonplot3d(-1,-1,-k(n

7、),1,-1,-k(n),1,1,k(n),-1,1,k(n),style=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,

8、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,style=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)

9、,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/

10、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

11、(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

12、(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,thi

13、ckness=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

14、,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,tu

15、xd,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(x),x=0.t,color=bla

16、ck,thickness=2),GG(plot(x,r*sin(x),x=t.2*Pi,color=blue,thickness=2);end:animate(WQWQ,t,t=0.001.2*Pi+0.001,frames=W):;QQQ:=%:经过适当调整之后使两者组合。display(QQ,QQQ); 图 9 新版animate的实现方案图12-1013 地球公转与自转的示意*图 10 地球公转与自转的示意(连环画)with(plots):with(plottools):a:=3:b:=2:l:=3:n:=cos(66.5*Pi/180):m:=sin(66.5*Pi/180):L:=l

17、ine(-l*n,0,-l*m,l*n,0,l*m,color=blue,thickness=2):N:=5:k:=4:M:=k*N:L1:=i-translate(L,a*cos(2*Pi*i/M),b*sin(2*Pi*i/M),0):display(seq(L1(i),i=0.M),axes=normal,labels=x,y,z,insequence=true,orientation=-80,65);LL:=%:spacecurve(a*cos(t),b*sin(t),0,t=0.2*Pi,color=red,thickness=3):TY:=%:display(LL,TY);图 11

18、 地轴和黄道面Q:=tetrahedron(0,0,0,1,style=LINE,thickness=2):W0:=rotate(Q,0,-Pi*23.5/180,0):W1:=i-rotate(W0,2*Pi*i/N,-n,0,-m,n,0,m):W2:=i-translate(W1(i),a*cos(2*Pi*i/M),b*sin(2*Pi*i/M),0):display(seq(W2(i),i=0.M),insequence=true,axes=box,scaling=constrained,orientation=-80,65);WW:=%:display(LL,TY,WW,axes=

19、normal,tickmarks=0,0,0);QQ:=%:图 12 自转动画与组合动画本例中为减少参与运算的数据量,用四面体代替了地球。如果使用新版animate函数,可以采取如下方案。restart:with(plots):with(plottools):a:=3:b:=2:l:=3: n:=cos(66.5*Pi/180):m:=sin(66.5*Pi/180):spacecurve(a*cos(t),b*sin(t),0,t=0.2*Pi,color=red,thickness=3):TY:=%:L:=line(-l*n,0,-l*m,l*n,0,l*m,color=blue,thic

20、kness=2):Q:=tetrahedron(0,0,0,1,style=LINE,thickness=2,color=black):CX:=proc(u)display(translate(L,a*cos(u),b*sin(u),0),translate(rotate(rotate(Q,0,-Pi*23.5/180,0),4*u,-n,0,-m,n,0,m),a*cos(u),b*sin(u),0);end:animate(CX,u,u=0.2*Pi,frames=72,background=TY,axes=normal,labels=x,y,z,orientation=-93,77,ax

21、esfont=TIMES,ROMAN,6);图 13 新版animate的实现方案图12-1416 球面数字地球仪*图 14 球面数字地球仪restart:with(plottools): with(plots):Q:=readdata(e:MathCAD2kqsheetWorld.prn,2):PLOT(CURVES(Q),STYLE(POINT),COLOR(RGB,1,1,1):Q1:=(%):g:=transform(u,v)-u*Pi/180,(90-v)*Pi/180):g(Q1):Q2:=g(Q1):f:=transform(u,v)-sin(v)*cos(u),sin(v)*s

22、in(u),cos(v):display(f(Q2):Q3:=plot3d(sin(s)*cos(t),sin(s)*sin(t),cos(s),s=0.Pi,t=0.2*Pi,color=cyan): display(Q3,f(Q2);DQY:=%:M:=5: F:=i-rotate(DQY,0,0,-2*Pi*i/M):display(seq(F(i),i=0.M),insequence=true);图 15 动画之一帧:旋转中的地球仪如果放弃对北极地区的观察,可以做出更为简洁的动画。办法是:作出带有地图的球面静止图形DQY。然后使用如下一条带有新版animate函数的语句,就可得到一个“

23、走马灯”式的地球仪。这个算法,会比原来的方案节省一些计算时间。animate(display,Q3,f(Q2),orientation=94+t,90,t=0.-360,frames=9);图 16 “走马灯”地球仪图12-1718 二元变量在任意点处的“全方位”极限图 17 二元变量在任意点处的“全方位”极限(连环画)restart:f:=(x,y)-8-sqrt(x2+y2): G:=x,y,f(x,y):m:=2:n:=5:h:=2: a:=m-h:b:=m+h:c:=n-h:d:=n+h:plot3d(G,x=a.b,y=c.d,style=LINE,color=green,grid=

24、9,8);SS:=%: #SS是二元函数曲面。G0:=evalf(subs(x=m,y=n,G):LA:=m,n,0,G0:PLOT3D(CURVES(LA),COLOR(RGB,1,0,0),THICKNESS(4);W1:=%:#LA是极限值线段。R:=2:N:=72: e:=i-(R-(-0.001+R)*i/N):H:=POLYGONS(a,c,evalf(f(m,n),a,d,evalf(f(m,n),b,d,evalf(f(m,n),b,c,evalf(f(m,n),STYLE(LINE),COLOR(RGB,0,0,0),THICKNESS(2):plotsdisplay(H,o

25、rientation=67,69,axes=FRAME); #H是极限值高度平面。H1:=i-POLYGONS(a,c,evalf(f(m,n)-e(i),a,d,evalf(f(m,n)-e(i),b,d,evalf(f(m,n)-e(i),b,c,evalf(f(m,n)-e(i),STYLE(LINE),COLOR(RGB,0,0,1),THICKNESS(2):plotsdisplay(seq(H1(i),i=1.N),insequence=true);HH1:=%:H2:=i-POLYGONS(a,c,evalf(f(m,n)+e(i),a,d,evalf(f(m,n)+e(i),b

26、,d,evalf(f(m,n)+e(i),b,c,evalf(f(m,n)+e(i),STYLE(LINE),COLOR(RGB,0,0,1),THICKNESS(2):plotsdisplay(seq(H2(i),i=1.N),insequence=true);HH2:=%:#HH1,HH2构成带状薄层。plotsdisplay(H,HH1,HH2,orientation=67,69,axes=FRAME);#组合成薄层逐渐变薄的动画。delta:=i-e(i):for i from 1 to N dou:=evalf(1/2+rand(7*(i+1)/(15*(i+1):u1:=u():u

27、2:=u():u3:=u():u4:=u():L0:=x,y,0,x,y,f(x,y);:k:=i-evalf(delta(i)/sqrt(2):L1:=subs(x=m+k(i)*u1,y=n+k(i)*u2,L0):;L2:=subs(x=m-k(i)*u1,y=n-k(i)*u2,L0):;L3:=subs(x=m-k(i)*u1,y=n+k(i)*u2,L0):;L4:=subs(x=m+k(i)*u1,y=n-k(i)*u2,L0):;L12:=subs(x=m+k(i)*u2,y=n+k(i)*u1,L0):;L22:=subs(x=m-k(i)*u2,y=n-k(i)*u1,L0

28、):;L32:=subs(x=m-k(i)*u2,y=n+k(i)*u1,L0):;L42:=subs(x=m+k(i)*u2,y=n-k(i)*u1,L0):;L5:=subs(x=m+k(i)*u3,y=n+k(i)*u4,L0):;L6:=subs(x=m-k(i)*u3,y=n-k(i)*u4,L0):;L7:=subs(x=m-k(i)*u3,y=n+k(i)*u4,L0):;L8:=subs(x=m+k(i)*u3,y=n-k(i)*u4,L0):;L52:=subs(x=m+k(i)*u4,y=n+k(i)*u3,L0):;L62:=subs(x=m-k(i)*u4,y=n-k(

29、i)*u3,L0):;L72:=subs(x=m-k(i)*u4,y=n+k(i)*u3,L0):;L82:=subs(x=m+k(i)*u4,y=n-k(i)*u3,L0):;Fi:=CURVES(L1,L2,L3,L4,L5,L6,L7,L8,L12,L22,L32,L42,L52,L62,L72,L82,COLOR(RGB,1,.4,.8),THICKNESS(0):od:;plotsdisplay(seq(Fi,i=1.N),insequence=true,axes=NORMAL);WW1:=%:#在半径不断缩小的圆域中随机找出16个点,并求得其上函数值。S:=i-plotsspace

30、curve(delta(i)*cos(t)+m,delta(i)*sin(t)+n,0,t=0.2*Pi,color=blue,thickness=2):;S(1):;plotsdisplay(seq(S(i),i=1.N),insequence=true);WW2:=%:#半径不断缩小的圆域边界。plotsdisplay(WW1,WW2,W1,H,HH1,HH2,SS,orientation=16,77,axes=FRAME);#最后合成为动画。图 18 二元变量在任意点处的“全方位”极限(一帧)图12-1920 二元变量在原点处按指定路线的极限图 19 二元变量在原点处按指定路线的极限(连环画)做一个“指定路径

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1