splitcontainer如何设置两边一样打_三角形两边之差小于第三边?教你用GeoGebra来直观演示...

4108a9314aec21664ba035a5c562626f.png

上一个作品,我们是用海龟来趣味演示“三角形两边之和大于第三边”:

12b81bc55394946ca5f831148dcb3a1e.png

那么,“三角形两边之差小于第三边”可以怎么演示呢?我们来看看——

5d95edd76629d17aa18ae96248420952.gif

也就是将三角形的BC边旋转至与AB边重合,而“两边之差”即为两边不重合的部分,再将此旋转至AC边,即可看到是AC边更长。

那么,此作品是怎么制作的呢?

283187c8c2a2ae3e9b46b0936a9c003b.gif

可以看到左边的代数区,指令并不多,那么,其中有什么小亮点呢?小亮点:

  • 指令一目了然,易于修改;
  • 一个滑动条即可搞定整个演示;
  • 表示“两边之差”的线段颜色与AB、BC中较长的一边一致。

制作思路

边的旋转,可以直接用旋转(rotate)指令:

e8caa51004f5b941bea16683863056c7.png

然而,我们发现:

  • 旋转(a, k β, B)还得到了点B'和C',也就是线段a的两个端点旋转所得的点。
  • 后面,我们还要将三角形AB边进行旋转,那么,又得到两个点。
  • 这么一来,代数区也显得杂乱!

为使代数区更简洁,我们可以抓住其本质。归根结底,是点的动带动线段的动,变化的动态过程即为0到1的过程

  • 比如,要让BC边绕着点B旋转,那么只需旋转点C,再将其与点B连成线段即可。
  • 旋转的过程,由上图可以看到:BC边逆时针旋转β度后,即与AB边重合。
  • 而旋转的过程,就是旋转角度是由0度变到β度。于是,如果让k表示由0到1的滑动条,那么,就是旋转k×β度

下面,就开始动手制作吧!

创建基础对象

备注:角度(angle)

  1. 使用工具创建三角形ABC,即t1;
  2. 并输入角度(t1),得到三角形的三个内角——α、β、γ;
  3. 创建滑动条k,最小值为0,最大值为1。

b66c9bcf1d3aca0611cfce81bca473cb.png

想一想:如果只用滑动条k来控制旋转BC边,旋转表示“两边之差”的线段。那么,滑动条k的最大值得是多少?

前面说到,旋转的过程,即为0到1的变化过程,当k为0到1时,控制BC边旋转。

而表示“两边之差”的线段的旋转过程,也是0到1的变化过程。

假设k在1到2的时候,可以控制该线段的旋转,那么,只需让k-1,就可以使得,当1≤k≤2时,就有0≤k-1≤1。

0590cd457dd97e019b5597898de9724f.png

如果在旋转BC边后,有一个暂停的效果,再旋转表示“两边之差”的线段,可以怎么做呢?

  • 假设当1<k<1.3时,有暂停的效果。
  • 那么,就是当k≥1.3时,才开始旋转表示“两边之差”的线段。
  • 于是,只需让k2=如果(k≥1.3,k-1.3)

所以,需将k的最大值改为2.3,即k=滑动条(0, 2.3)

f2652f7fd5b94c5fa9cfd0f2064364a7.png

核心制作

进入到制作的核心部分,所需指令如下:

31b517d940cd65f36514d938ac9e89e5.png

这里,对点C''的构造怎么理解呢?

  • 这是第二次旋转时,所需要的旋转点。
  • 当a边比c边短时,将点C'逆时针旋转α。
  • 当a边比c边长时,将点C'顺时针旋转180° - α。

6b875274944b07fea31baba42528ff3e.png

细节完善

将点CC'',以及a边隐藏。

a50939d68fbb51a8366b7ccb8c88f083.png

当k≤1时,旋转BC边;当1 < k < 1.3,截取表示“两边之差”的线段。

那么,需要设置c、f的显示条件为k≤1g的显示条件为1 < k < 1.3

25800371120bb57118bfb56c08af3c10.png

另外,BC边隐藏时,点B也应该隐藏,于是点B的显示条件也是k≤1。

为使效果更好,将三角形的各边调整为不同的颜色。

至于线段g、h的颜色,需与a、c边中较长的一边的颜色一致,则需要先判断长短,再决定设置为哪个颜色。

于是,在k的更新时脚本输入:

设置颜色(g, 如果(c>a,"blue","black"))

设置颜色(h, 如果(c>a,"blue","black"))

备注:设置颜色setcolor

设置颜色( <对象>, "<Color>" )

创建按钮

回顾整个制作,就是用滑动条k来控制的,那么,演示按钮与复位按钮的脚本就容易写了!演示按钮,即:启动动画(k)复位按钮,即:赋值(k,0)

10bdca12e7d2d39eda095a416dd510d1.png

至此,整个作品就大功告成了!

结语

回顾整个作品的制作,你能否体会到:

  • 用一个滑动条来控制整个动画演示的关键?
  • 线段动的本质是什么?
  • 演示旋转过程的关键是?

源文件获取方式,请见啊K的个人介绍。​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值