生活百科知识

经验知识首页 > 传染科 > 详细经验讲解内容页

[视频]用网络画板实现矩形在平面上滚动的动态课件

关于叶圣陶用网络画板实现矩形在平面上滚动的动态课件,期待您的经验分享,当代劳模,所有人都应该向你学习 !
无情天魔精致 2018-02-16 21:07:18 47944人看过 分享经验到微博

更新:2024-02-19 13:09:00优秀经验

来自凤凰网https://www.ifeng.com/的优秀用户无情天魔精致,于2018-02-16在生活百科知识平台总结分享了一篇关于“用网络画板实现矩形在平面上滚动的动态课件他的小仙女”的经验,非常感谢无情天魔精致的辛苦付出,他总结的解决技巧方法及常用办法如下:

第53期网络画板课件赛第二题,要求制作一个矩形在平面上的滚动的动态课件。下面就是我的制作思路。

工具/原料

电脑网络画板

方法/步骤

1/12分步阅读

先来分析矩形的初始状态:

假设矩形的边长是:AB=a,BC=b,初始位置是A位于原点,B的坐标是(a,0),那么C是(a,b),D为(0,b)。

[图]2/12

在矩形翻滚的时候,设线段AB旋转的度数为t,那么,A、B、C、D的坐标,就是关于t的函数,这些函数的周期是2π。

[图]3/12

当0≤t<π/2的时候,A的坐标是(a-a*cos(t),a*sin(t))。

[图]4/12

当π/2≤t<π的时候,A的坐标是(a+b-b*cos(t-pi/2)+a*sin(t-pi/2),a*cos(t-pi/2)+b*sin(t-pi/2)),比较复杂了。

[图]5/12

当π≤t<3*π/2的时候,A的坐标是(2*a+b+b*sin(t-pi),b*cos(t-pi))。

[图]6/12

当3*π/2≤t<2*π的时候,A的坐标是(2*a+2*b,0)。

[图]7/12

那么,在第一个周期内:

A的横坐标为:if(mod(t, 2 * pi)>=0 and mod(t, 2 * pi)<pi/2,a-a*cos(t),mod(t, 2 * pi)>=pi/2 and mod(t, 2 * pi)<pi,a+b-b*cos(t-pi/2)+a*sin(t-pi/2),mod(t, 2 * pi)>=pi and mod(t, 2 * pi)<3*pi/2,2*a+b+b*sin(t-pi),mod(t, 2 * pi)>=3*pi/2 and mod(t, 2 * pi)<2*pi,2*a+2*b);

A的纵坐标为:if(mod(t, 2 * pi)>=0 and mod(t, 2 * pi)<pi/2,a*sin(t),mod(t, 2 * pi)>=pi/2 and mod(t, 2 * pi)<pi,a*cos(t-pi/2)+b*sin(t-pi/2),mod(t, 2 * pi)>=pi and mod(t, 2 * pi)<3*pi/2,b*cos(t-pi),mod(t, 2 * pi)>=3*pi/2 and mod(t, 2 * pi)<2*pi,0)。

[图]8/12

当AB的旋转角度大于2π的时候,A的横坐标需要加上:

2*(a+b)*floor(t / (2 * pi)),

而纵坐标的函数式保持不变。

[图]9/12

这样,就可以用a、b、t来表示出每一刻A的坐标:

A的横坐标为:2*(a+b)*floor(t / (2 * pi))+if(mod(t, 2 * pi)>=0 and mod(t, 2 * pi)<pi/2,a-a*cos(t),mod(t, 2 * pi)>=pi/2 and mod(t, 2 * pi)<pi,a+b-b*cos(t-pi/2)+a*sin(t-pi/2),mod(t, 2 * pi)>=pi and mod(t, 2 * pi)<3*pi/2,2*a+b+b*sin(t-pi),mod(t, 2 * pi)>=3*pi/2 and mod(t, 2 * pi)<2*pi,2*a+2*b);

A的纵坐标为:if(mod(t, 2 * pi)>=0 and mod(t, 2 * pi)<pi/2,a*sin(t),mod(t, 2 * pi)>=pi/2 and mod(t, 2 * pi)<pi,a*cos(t-pi/2)+b*sin(t-pi/2),mod(t, 2 * pi)>=pi and mod(t, 2 * pi)<3*pi/2,b*cos(t-pi),mod(t, 2 * pi)>=3*pi/2 and mod(t, 2 * pi)<2*pi,0)。

以此绘制直角坐标点A。

[图]10/12

同样的,也可以用a、b、t来表示出每一刻的B、C、D的坐标。

[图]11/12

构造t的动画按钮,就可以实现矩形的滚动。

[图]12/12

注意,矩形的大小,可以通过a和b来调整;

如果希望矩形滚动的次数多一点,需要增大t的动画按钮的最大值,同时把矩形变小,否则矩形就会出界。

[图]