第04章Maple的2D动画制作.pdf

上传人:g****s 文档编号:86078048 上传时间:2023-04-13 格式:PDF 页数:28 大小:2.55MB
返回 下载 相关 举报
第04章Maple的2D动画制作.pdf_第1页
第1页 / 共28页
第04章Maple的2D动画制作.pdf_第2页
第2页 / 共28页
点击查看更多>>
资源描述

《第04章Maple的2D动画制作.pdf》由会员分享,可在线阅读,更多相关《第04章Maple的2D动画制作.pdf(28页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、Maple 的图形动画技术用Maple(69)制作数学动画课件 1 第四章 2D 动画及其数据结构 图 4-0104 plotsanimatecurve)动画 with(plots):animatecurve(sin(x),x=-Pi.Pi,frames=18,view=-3.5.3.5,-1.2.1.2);图 4.1 使用菜单命令播放动画(右侧是放大了的命令菜单)图 4.2 动画的第一帧 animatecurve(sin(x),x=-Pi.Pi,frames=18,view=-3.5.3.5,-1.2.1.2);在执行动画命令之后再执行命令 display(animatecurve(sin(

2、x),x=-Pi.Pi,frames=18,view=-3.5.3.5,-1.2.1.2);就一定可以得到那个动画的连环画方式显示图 图 4.3 前述动画的 6 帧连环画(动画的 array显示)不过请注意,假如读者在Maple 中执行了命令 display(animatecurve(sin(x),x=-Pi.Pi,frames=6,view=-3.5.3.5,-1.2.1.2);得到的结果将与这里看到的有所不同。这里实际使用的命令是 display(animatecurve(sin(x),x=-Pi.Pi,thickness=3,frames=6,view=-3.5.3.5,-1.2.1.2

3、);第编第章 2D动画及其数据结构 2 图 4.4 正弦曲线的 animatecurve 动画 图 4-05 单行 proc 的 animatecurve 动画 with(plots):F:=x-16-x2:animatecurve(F,-4.4,color=black,thickness=3,frames=12);图 4.5 单行 proc 的 animatecurve 动画 图 4-06 李萨如曲线的 animatecurve 动画 下例是描绘参数方程给出的轨迹曲线动画(李萨如曲线)。animatecurve(sin(2*x),cos(3*x),x=0.2*Pi,numpoints=72,

4、frames=9,scaling=constrained,thickness=3);图 4.6 李萨如曲线的 animatecurve 动画 图 4-07 极坐标系中的 animatecurve 动画 Maple 的图形动画技术用Maple(69)制作数学动画课件 3 下面一例说明,animatecurve 动画命令也可接受坐标转换设置选项。animatecurve(sin(3*x),x,x=0.Pi,coords=polar,numpoints=72,frames=9,thickness=3,scaling=constrained);图 4.7 极坐标系中的 animatecurve 动画

5、图 4-08 两曲线的 set 的 animatecurve 动画 animatecurve(1/12*x2,sin(x),x=-4.4,color=blue,thickness=3,frames=9);图 4.8 两曲线的 set 的 animatecurve 动画 图 4-09 两条参数曲线的 set 的 animatecurve 动画 with(plots):animatecurve(sin(3*x),x,x=0.Pi,x,sin(x),x=-Pi.Pi,numpoints=72,thickness=3,scaling=constrained);第编第章 2D动画及其数据结构 4 图 4

6、.9 两条参数曲线的 set 的 animatecurve 动画 图 4-1015 老版本的 plotsanimate动画 图 4-10 执行 animate 命令后在本组末尾出现的动画画面 在 Maple 的工作页里某个执行组当中,写入两行命令:with(plots):animate(sin(x)+t,x=-Pi.Pi,t=0.2);或者是与之等效的另一行命令 plotsanimate(sin(x)+t,x=-Pi.Pi,t=0.2);图 4.10 执行 animate 命令后在本组末尾出现的动画画面 图 4-11 多个单元函数曲线的 animate 动画 函数 animate 可以应用于多

7、种多样的对象,也有一些处理技巧。运用这些技巧,就可Maple 的图形动画技术用Maple(69)制作数学动画课件 5 得到更加多姿多彩的数学动画。用以下三个命题及其附属实例,分别说明。请看下面的实例。animate(x-3)3/u,2+sin(u/2*x),(x+u/4)2,x=-8.4*Pi,u=1.16,color=blue,thickness=3,view=-8.15,-1.4,frames=8);此动画的连环画显示图如下。图 4.11 多个单元函数曲线的 animate 动画 此例说明,animate 命令可以接受多个 F(x,t)所组成的集合。在本例中这个函数集合,由三个二元函数组成

8、。其中,F1(x,u)=(x-3)3/u,F2(x,u)=2+sin(u/2*x),F3(x,u)=(x+u/4)2.图 4-12 直角坐标系中参数曲线的 animate 动画 下面的实例说明,animate 动画命令可以接受参数方程,制作表现参数曲线变化过程的动画。此动画的连环画显示图如下。animate(sin(x*t),x,x=-4.4,t=1.4,numpoints=72,frames=6,thickness=3);图 4.12 直角坐标系中参数曲线的 animate 动画 图 4-13 极坐标系中参数曲线的 animate 动画 第编第章 2D动画及其数据结构 6 下一实例也是表现一

9、条参数数曲线变化过程的动画,通过设置选项 coords=polar使用了极坐标系。animate(t*sin(x+t/3),t*x,x=0.2*Pi,t=1.3,coords=polar,numpoints=144,frames=6,scaling=constrained,thickness=3);此时 x 变化范围不再与图面水平显示范围相关。动画的连环画显示图是:图 4.13 极坐标系中参数曲线的 animate 动画 图 4-14 多条参数曲线的 animate 动画 下面的实例中,有两条参数曲线在各自变化:一条曲线是膨胀着的圆周,圆周半径在增大,由 2 变到 4;另一条是频率变大的正弦曲

10、线,竖立的正弦曲线在改变自己的角频率系数,变化范围也是由 2 到 4。此外,两条曲线的线型、线宽、颜色、坐标系样式等设置,都是共用的。with(plots):animate(t*sin(x),t*cos(x),x=-Pi.Pi,sin(x*t),x,x=-4.4,t=2.4,view=-4.4,-5.5,scaling=constrained,color=blue,thickness=3,axes=frame);图 4.14 多条参数曲线的 animate 动画 图 4-15 枫叶逐步放大的 animate 动画 一片枫树叶逐步放大过程的数学动画,这枫叶是用参数曲线画出的。s:=x-100/(

11、100+(x-Pi/2)8):r:=x-s(x)*(2-sin(7*x)-cos(30*x)/2):Maple 的图形动画技术用Maple(69)制作数学动画课件 7 animate(t*r(x)/2,x,x=-Pi/2.3/2*Pi,t=1.3,numpoints=120,coords=polar,axes=box,color=blue,view=-5.5,-1.5.5,thickness=3,frames=8);图 4.15 枫叶逐步放大的 animate 动画 特点有二:一是参数方程经过复合运算;二是每个函数都是用算符记法定义的。若改换为如下形式,效果是相同的。f:=(x,t)-t*(1

12、00/(100+(x-Pi/2)8)*(2-sin(7*x)-cos(30*x)/2)/2:g:=(x,t)-x:animate(f,g,-Pi/2.3/2*Pi,1.3,numpoints=120,coords=polar,axes=box,color=blue,view=-5.5,-1.5.5,thickness=3,frames=8);图 4-1621 新版本的 plotsaniamte 动画 图 4-1617 基于 plot 图形的新版 animate 动画(首帧)with(plots):animate(plot,sin(x)+t,x=-Pi.Pi,t=0.2,frames=6);图

13、4.16 基于 plot 图形的新版 animate 动画(首帧)第编第章 2D动画及其数据结构 8 图 4.17 基于 plot 图形的新版 animate 动画(连环画)animate(inequal,x+y+t1,x-y+tPOINTS(evalf(0+i*2*Pi/36,0+sin(i*2*Pi/36),SYMBOL(DIAMOND,38):其中的0,0是 0 帧上的单点坐标,而两个加项 i*2*Pi/36 和 sin(i*2*Pi/36)是轨道的离散变量,也就是单点在各帧上增加的位移量。由此得到动画的数据对象是 ANIMATE(seq(F(i),i=0.36)。可以使用如下两种方法,

14、把这个动画数据对象演播成为动画。视觉效果相同。PLOT(ANIMATE(seq(F(i),i=0.36),VIEW(-1.7,-1.5.1.5);plotsdisplay(ANIMATE(seq(F(i),i=0.36),view=-1.7,-1.5.1.5,insequence=true);可以给出这动画的连环画。为增加直观性,图中将动点行走的轨道正弦曲线一并画出。图 4.37 单点走正弦 图 4-38 一组移动着的文字 引入一个单点文本“马到成功!”的数据对象。TEXT(0,0,Madaochenggong!,ALIGNBELOW,FONT(TIMES,BOLD,24)再把单点的行走轨道曲

15、线使用参数 i 进行动态离散处理,进而做成 F(i)。F:=i-TEXT(evalf(0+cos(i*2*Pi/36),0+sin(i*2*Pi/36),Madaochenggong!,FONT(TIMES,BOLD,12),COLOR(RGB,6*i/36,0,i*2/36):Maple 的图形动画技术用Maple(69)制作数学动画课件 15 由此得到动画的数据对象 ANIMATE(seq(F(i),i=0.36)。可以使用两种方法,把这个动画数据对象演播成为动画。视觉效果相同。PLOT(ANIMATE(seq(F(i),i=0.36),VIEW(-1.5.1.5,-1.2.1.2);pl

16、otsdisplay(ANIMATE(seq(F(i),i=0.36),view=-1.5.1.5,-1.2.1.2,insequence=true);给出这动画的连环画(为增加直观性,图中画出了动点行走的轨道圆周曲线)。图 4.38 一组文字“马到成功!”在移动 图 4-39 一段径向线段绕原点转动的过程 reestart:f1:=n-cos(Pi*n*2/8):g1:=n-sin(Pi*n*2/8):f2:=n-2*cos(Pi*n*2/8):g2:=n-2*sin(Pi*n*2/8):F:=n-CURVES(evalf(f1(n),g1(n),f2(n),g2(n),THICKNESS(

17、4):;ANIMATE(seq(F(n),n=0.8):PLOT(ANIMATE(seq(F(n),n=0.8),VIEW(-2.2,-2.2),SCALING(CONSTRAINED);plotsdisplay(ANIMATE(seq(F(n),n=0.8),insequence=true,view=-2.2,-2.2,scaling=constrained,thickness=4);:此例的连环画如下,其中的圆周是外加的参照物,以便观察线段的运动。第编第章 2D动画及其数据结构 16 图 4.39 径向线段围绕原点旋转 图 4-4041 一个三角形绕原点旋转逐步留下踪迹 图 4.40 三角

18、形绕原点旋转过程中逐步留下踪迹 下面是设计动画数据结构的页面编程语句。语句中的 N,k 值,分别表示图元总个数和每帧增加的图元个数。restart:N:=9:k:=1:p:=t-evalf(cos(t*2*Pi/N),sin(t*2*Pi/N):q:=t-evalf(2*cos(t*2*Pi/N),2*sin(t*2*Pi/N):F:=n-CURVES(seq(p(t),q(t),(p(t+1)+q(t+1)/2,p(t),t=0.k*n),THICKNESS(4);PLOT(ANIMATE(seq(F(n),n=0.N/k),SCALING(CONSTRAINED);Maple 的图形动画技

19、术用Maple(69)制作数学动画课件 17 图 4.41 三角形绕原点旋转留下踪迹 图 4-4243 六边形留下的踪迹 首先写出两个二元函数,并设计出离散化处理方案。restart:f:=(x,t)-cos(x)+t:g:=(x,t)-sin(x)+sin(t):a:=0:b:=2*Pi:M:=6:c:=0:d:=2*Pi:N:=11:a+(b-a)*i/M:c+(d-c)*n/N:k:=1:M 决定折线上节点的个数,M+1 个点围成 M 边形。N 决定踪迹的个数,动画完成时,共有 N+1 个 M 边形。使用代换函数 subs()对原来的二元函数离散化处理。f1:=(i,j)-subs(t=

20、c+(d-c)*j/N,x=a+(b-a)*i/M,f(x,t):g1:=(i,j)-subs(t=c+(d-c)*j/N,x=a+(b-a)*i/M,g(x,t):做成点的 seq。p:=(i,j)-evalf(f1(i,j),g1(i,j):seq(p(i,j),i=0.M):完成帧的数据对象设计。F:=n-CURVES(seq(seq(p(i,j),i=0.N),j=0.k*n),THICKNESS(3):;最后写出动画显示语句。PLOT(ANIMATE(seq(F(n),n=0.N/k),SCALING(CONSTRAINED),AXESTICKS(0,0);第编第章 2D动画及其数据

21、结构 18 图 4.42 六边形沿着正弦线留下踪迹 使用 display 命令,可以从动画数据对象获得该动画的 array 显示。plotsdisplay(ANIMATE(seq(F(n),n=0.N/k),tickmarks=0,0);图 4.43 六边形沿正弦移动的 array显示 图 4-44 孤点留下的“身影”定义轨道参数方程,并指定帧变数 n 的终止值 N,即刻可得一种单点的踪迹动画。restart:with(plots):N:=8:f:=(t,n)-(t*2*Pi/N*n/N):g:=(t,n)-sin(t*2*Pi/N)*n/N):F:=n-POINTS(seq(evalf(f(

22、t,n),g(t,n),t=0.n):;ANIMATE(seq(F(n),n=0.N):PLOT(ANIMATE(seq(F(n),n=0.N),VIEW(0.7,-1.1);display(ANIMATE(seq(F(n),n=0.N),insequence=true);图 4.44 孤点留下的身影 这种动画的特点是:踪迹点数逐渐增加,并且已经出现的踪迹点在以后各帧上又发生Maple 的图形动画技术用Maple(69)制作数学动画课件 19 位置的移动。与 animatecurve 的效果十分相似。图 4-45 孤点留下的“足迹”若把前例中 f,g 的定义改成关于 t 的单元函数,去掉因子

23、n/N,就可得到单点的另一种踪迹动画。restart:with(plots):N:=12:f:=(t)-(t*2*Pi/N):g:=(t)-sin(t*2*Pi/N):F:=n-POINTS(seq(evalf(f(t),g(t),t=0.n),SYMBOL(CIRCLE,24):;PLOT(ANIMATE(seq(F(n),n=0.N):图 4.45 孤点留下的足迹 图 4-46 一个曲线族的伸展 restart:N:=36:M:=8:M 决定族中曲线的条数,N 决定一条曲线上的样点数目。p:=(x,t,n)-evalf(x*2*Pi/N,(1+t*6*n/(M)/M)*x*sin(x*2*

24、Pi/N)+2*cos(x*2*Pi/N):x 是每条曲线的参变量,t 是族中曲线的编码,n 是动画的帧编码。F:=n-CURVES(seq(seq(p(x,t,n),x=0.N),t=0.M),THICKNESS(2):完成帧映射F(n),所表达的是动画第 n 帧的数据对象。PLOT(ANIMATE(seq(F(n),n=0.M);aa:=ANIMATE(seq(F(n),n=0.M):plotsdisplay(aa,insequence=true,thickness=4,color=blue);由 PLOT 和 display 得来的视觉效果,两者相同。第编第章 2D动画及其数据结构 20

25、 图 4.46 曲线族伸展的连环画 图 4-4748 用数据 O/S变换函数做动画 图 4-47 围绕原点转动的变色三角形 首先引入一个多边形数据对象。POLYGONS(-4,0,-4,-4,0,-4,COLOR(HUE,0.5):Q:=POLYGONS(-4,0,-4,-4,0,-4,COLOR(HUE,i/10):再用图形对象 Q 经过旋转函数 rotate 作用而生成的图形对象 list(含有变数 i 的)做成 F(i)。F:=i-evalf(rotate(Q,2*Pi*i/M):从而得到动画的数据对象 ANIMATE(seq(F(i),i=0.36)。可以使用两类方法,把这个动画数据对

26、象演播成为动画,视觉效果是相同的。要特别指出的是,使用 display 播放这动画时,还可再分别使用两种语句,视觉效果也是相同的。PLOT(ANIMATE(seq(F(i),i=0.M),VIEW(-5.7.5.7,-5.7.5.7),SCALING(CONSTRAINED);display(ANIMATE(seq(F(i),i=0.M),insequence=true,view=-5.7.5.7,-5.7.5.7,scaling=constrained);display(seq(F(i),i=0.M),insequence=true,view=-5.7.5.7,-5.7.5.7,scalin

27、g=constrained);Maple 的图形动画技术用Maple(69)制作数学动画课件 21 图 4.47 围绕原点转动的变色三角形(连环画)图 4-48 使用 rotate 函数设计的文字移动动画 Q:=textplot(2,0,Madaochenggong!,font=SYMBOL,12,color=blue):;QQ:=rotate(Q,2*Pi*i/18):;F:=i-op(QQ):ANIMATE(seq(F(i),i=0.18):PLOT(ANIMATE(seq(F(i),i=0.18),VIEW(-5.5,-4.4),SCALING(CONSTRAINED);本动画的连环画面

28、是:图 4.48 使用 rotate 函数设计的文字移动动画 图 4-4950 proc 动画的概念 图 4-49 proc 动画-程序 DDGC 我们来编写一个动画 proc,并加以详尽说明。上节实例 1(单点走正弦)的页面程序中,最核心的语句是 第编第章 2D动画及其数据结构 22 F:=i-POINTS(evalf(0+i*2*Pi/36,0+sin(i*2*Pi/36),SYMBOL(DIAMOND,38):PLOT(ANIMATE(seq(F(i),i=0.36),VIEW(-1.7,-1.5.1.5);现在,就从它这里开始。第一步,把这页面程序改写成下面的样子。restart:G:

29、=t,sin(t),t=0.2*Pi;M:=36;a:=lhs(rhs(op(3,G);b:=rhs(rhs(op(3,G);f:=i-subs(t=a+(b-a)/M*i,op(1,G);g:=i-subs(t=a+(b-a)/M*i,op(2,G);F:=i-POINTS(evalf(f(i),g(i);PLOT(ANIMATE(seq(F(i),i=0.M),AXESTICKS(0,0):;f(i);g(i);这一步的工作内容是,从 F(i)的定义表达式中把轨道参数方程提取出来,写成最前面的赋值语句 G:=t,sin(t),t=0.2*Pi。同时还把轨道参数区间分割分数 M:=36 也提

30、到前面去,写成第二行的赋值语句。第三、四两行的赋值语句,是将 G 的第三元素 t=0.2*Pi 右端的左右两数值分别记作 a 和 b。第五、六两行是将 G 的前二元素(轨道参数方程的两个函数)中的变量 t 都进行一次变量替换 t=a+(b-a)/M*i,实现轨道方程的离散化处理。经过改写之后这个页面程序所生成的动画,依然是“单点走正弦”。但是它具有改换输入的可能。比如,将 G 中的轨道参数方程以及参数变化区间进行另一种赋值,就能使动画沿着另外一条轨道运动。又比如,改变 M 的取值,就可以控制动画的帧数。所以,这一步改编的意义是使得原有的页面程序获得了相当的通用性。在这个改编过程中,可以随时检测

31、各个语句是否给出预期的返回,如有不妥,可以及时修正。如果对于最为关键的语句返回值是否正确没有把握,还可另加几个语句测试。比如若想看看 f(i)和 g(i)会返回什么,就加上最后一行。本例中各语句的正确返回值应该是下面的结果(最后两值是纯为观测而设,改编完成之后应该删除)。:=G,t()sintt.02 :=M36 :=a0 :=b2 :=fisubs,ta()baiM()op,1 G Maple 的图形动画技术用Maple(69)制作数学动画课件 23 :=gisubs,ta()baiM()op,2 G :=Fi()POINTS()evalf,()f i()g i 118 i sin118 i

32、 接下来,再作第二步工作。把经过改编的页面程序封装起来,成为一个经过命名的proc。封装的结果是下面的样子。G:=x(t),y(t),t=low.hi:DDGC:=proc(G,M)local i,a,b,m,n,f,g,F;a:=lhs(rhs(op(3,args1);b:=rhs(rhs(op(3,args1);m:=op(1,args1);n:=op(2,args1);f:=i-subs(t=a+(b-a)/M*i,m);g:=i-subs(t=a+(b-a)/M*i,n);F:=i-POINTS(evalf(f(i),g(i);PLOT(ANIMATE(seq(F(i),i=0.M),

33、AXESTICKS(0,0);end;这就是一个相对完整的“单点走轨道”proc 动画程序。执行之后,Maple 会自动返回以下的结果。DDGC,G Mproc():=local;,i a b m n f g F:=a()lhs()rhs()op,3args1;:=b()rhs()rhs()op,3args1;:=m()op,1args1;:=n()op,2args1;:=fi()subs,ta()/()baiM m;:=gi()subs,ta()/()baiM n;:=Fi()POINTS()evalf,()f i()g i;()PLOT,()ANIMATE()seq,()F ii.0M()

34、AXESTICKS,0 0 第编第章 2D动画及其数据结构 24 end proc 对这个名称叫做 DDGC 的 proc,作以下几点说明。proc 前面的一行,并不属于 proc,而是准备输入给这 proc 的轨道方程。使用名为DDGC 的 proc 时,它是要用到的“进口原材料”。这里所以要先写在前面,是为了编写程序时观察方便。可以看出,除了三行含有黑体字的 proc 外壳之外,几乎就是原来页面程序的简单变形。只有一处发生了变化:增加了两行局部变量 m,n 的赋值语句。如果没有这种处理,proc不会正常运行。这是因为 Maple 的 proc 有一个与众不同的特殊要求:一个局部变量不能在

35、proc 之内运算两次以上。为避开这一限制必须增加一层赋值语句。这个 proc 虽然是完整的,但还不够完善使用时不能加入设置选项。为做改进,再加入一些语句,以便实现设置选项参数的传递。并把输出句由原来的 PLOT 语句修改为display 语句。结果就是下面的样子。DDGC:=proc(G,M)local i,a,b,m,n,f,g,F,lopts;a:=lhs(rhs(op(3,args1);b:=rhs(rhs(op(3,args1);m:=op(1,args1);n:=op(2,args1);lopts:=args3.nargs;f:=i-subs(t=a+(b-a)/M*i,m);g:

36、=i-subs(t=a+(b-a)/M*i,n);F:=i-POINTS(evalf(f(i),g(i);plotsdisplay(ANIMATE(seq(F(i),i=0.M),lopts);end:;这一次的变化表现在,多了一个局部变量赋值语句,就是lopts:=args3.nargs。它的意思是说,把 proc 输入中的第三位以后的变元序列,赋值给变量名 lopts,并将此变量名加入到输出语句中去。这就完成了参数传递的设置。做为一段程序,这个 proc至此已经基本完善了。但这时生成的动画还有缺欠:单点运动没有参照,不够“好看”。为此可以再做改进,把轨道曲线 G 的绘制也一并放到 proc

37、 当中去(放在 proc 内部倒数第二行,即 Q2)。DDGC:=proc(G,M)local i,a,b,m,n,f,g,F,lopts,Q1,Q2;a:=lhs(rhs(op(3,args1);Maple 的图形动画技术用Maple(69)制作数学动画课件 25 b:=rhs(rhs(op(3,args1);m:=op(1,args1);n:=op(2,args1);lopts:=args3.nargs;f:=i-subs(t=a+(b-a)/M*i,m);g:=i-subs(t=a+(b-a)/M*i,n);F:=i-POINTS(evalf(f(i),g(i);plotsdisplay

38、(ANIMATE(seq(F(i),i=0.M),lopts,insequence=true,tickmarks=0,0);Q1:=%;Q2:=plot(G,linestyle=4);plotsdisplay(Q1,Q2);end:;不妨使用几次,检测它的效果。第一次试用:单点走椭圆。G:=3*cos(t),2*sin(t),t=0.2*Pi:M:=11:DDGC(G,M);图 4.49 第一次试用程序 DDGC 图 4-50 第二次试用程序 DDGC 第二次试用:孤点沿着李萨如曲线走。L:=cos(3*t),sin(2*t),t=0.2*Pi:DDGC(L,11,color=black,sy

39、mbol=CIRCLE,symbolsize=12,scaling=constrained);第编第章 2D动画及其数据结构 26 图 4.50 第二次试用程序 DDGC 图 4-5153 animate 动画与数据 O/S动画的关系 图 4-51 新方案实现的数据 O/S动画“单点走正弦”F:=i-POINTS(evalf(0+i*2*Pi/36,0+sin(i*2*Pi/36),SYMBOL(DIAMOND,38),COLOR(RGB,0,0,1):老方案:PLOT(ANIMATE(seq(F(i),i=0.36),VIEW(-1.7,-1.5.1.5);plotsdisplay(ANIM

40、ATE(seq(F(i),i=0.36),view=-1.7,-1.5.1.5,insequence=true);新方案之一:with(plots):FF:=proc(i)display(F(i):end:animate(FF,i,i=0.36);新方案之二:with(plots):FF1:=proc(i)PLOT(ANIMATE(F(i):end:animate(FF1,i,i=0.36,view=-1.7,-1.5.1.5);Maple 的图形动画技术用Maple(69)制作数学动画课件 27 图 4.51 新方案实现的数据 O/S 动画“单点走正弦”(首帧)图 4-52 新方案实现的数据

41、 O/S动画“一个三角形绕原点旋转”restart:with(plots):N:=9:p:=t-evalf(cos(t*2*Pi/N),sin(t*2*Pi/N):q:=t-evalf(2*cos(t*2*Pi/N),2*sin(t*2*Pi/N):F:=n-CURVES(seq(p(t),q(t),(p(t+1)+q(t+1)/2,p(t),t=0.n),THICKNESS(4):老方案:PLOT(ANIMATE(seq(F(n),n=0.N),SCALING(CONSTRAINED);新方案之一:with(plots):FF:=proc(n)display(F(n):end:animate

42、(FF,n,n=0.N,frames=N);新方案之二:with(plots):FF1:=proc(n)PLOT(ANIMATE(F(n):end:animate(FF1,n,n=0.N,frames=N,color=blue);图 4.52 新方案实现的数据 O/S 动画“一个三角形绕原点旋转”(首帧)第编第章 2D动画及其数据结构 28 图 4-53 新方案实现的数据 O/S动画“一个曲线族的伸展”restart:N:=25:M:=6:p:=(x,t,n)-evalf(x*2*Pi/N,(1+t*6*n/(M)/M)*x*sin(x*2*Pi/N)+2*cos(x*2*Pi/N):F:=n

43、-CURVES(seq(seq(p(x,t,n),x=0.N),t=0.M),THICKNESS(2):;老方案:PLOT(ANIMATE(seq(F(n),n=0.M);aa:=ANIMATE(seq(F(n),n=0.M):plotsdisplay(aa,insequence=true,color=blue);新方案之一:with(plots):FF:=proc(n)display(F(n):end:animate(FF,n,n=0.M,frames=M);新方案之二:with(plots):FF1:=proc(n)PLOT(ANIMATE(F(n):end:animate(FF1,n,n=0.M,frames=M,color=blue);图 4.53 新方案实现的数据 O/S 动画“一个曲线族的伸展”(首帧)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 文案大全

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com