龙空技术网

教你用GeoGebra将“圆面积公式推导”直观化!这制作方法很可以哦

啊K数学 323

前言:

当前看官们对“c语言求圆面积”可能比较注意,同学们都需要剖析一些“c语言求圆面积”的相关资讯。那么小编在网上收集了一些对于“c语言求圆面积””的相关知识,希望朋友们能喜欢,看官们一起来了解一下吧!

先来看看效果:

拉动第一个滑动条,即选择将圆平均分成为多少份扇形。拉动第二个滑动条,则有对圆进行切割并拼接的效果。拼接完会显示第三个滑动条,向右拉动就可以显示提示。

想知道怎么做出以上效果吗?想自己动手做一做吗?

思路与指令

这个推导过程可分三步走:

先制作圆周弹开。在圆周取等分点,再由此构造等分的扇形。最后将右半部分的扇形进行旋转。

于是:

似懂非懂?那就接着看吧!

圆周弹开

可以直接在之前的“圆周弹开”源文件上进行制作。

五条指令搞定的“圆周弹开”

其实就是输入这五条指令:

A = (0, 0)

r = 1

α = 滑动条(45.0001°, 89.9999°)

B = A + (0, r tan(α))

c = 圆弧(B, A, 旋转(A, 2π r / 距离(B, A), B))

详细解释,请见《砰!圆周弹开》。

注:滑动条(Slider)、圆弧(CircularArc)、旋转(Rotate)、距离(Distance)。

构造扇形

先对圆弧c进行n等分,其中,n必须是偶数(使得最终在上面、下面的扇形个数一样)。那么,让滑动条n的增量为2即可:

n = 滑动条(4, 40, 2)

由此,就可以构造出来n等分点(包括两端点):

l1 = 序列(描点(c, k), k, 0, 1, 1 / n)

注:序列指令等的解读。

那么,扇形如何构造呢?

由上图,发现这些扇形的圆心好像都在一段圆弧上!由此入手——这些扇形的半径、弧长相等,所以,这些扇形的圆心必定在一段圆弧上,假设在圆弧c'上。那么:

c'的圆心也是点B;c'与圆弧c等距,距离为r由此可借助位似指令构造c',至于位似比应为1 - 1 / tan(α)

于是可将c'构造出来:

c' = 位似(c, 1 - 1 / tan(α), B)

圆扇形( <圆心>, <点1>, <点2> )

那么扇形对应的圆心呢?

扇形的点1、点2是圆弧c的n等分点,而对应的圆心应是圆弧c'的2n等分点。

于是,可以将圆弧c'的所有2n等分点构造出来,需要用到哪个点再拿出来用:

l2 = 序列(描点(c', k), k, 0, 1, 1 / (2n))

l3 = 序列(圆扇形(l2(2k), l1(k), l1(k + 1)), k, 1, n / 2)

l4 = 序列(圆扇形(l2(2k), l1(k), l1(k + 1)), k, n / 2 + 1, n)

备注:l2(2k)表示列表l2的第2k个元素,相当于元素(l2, 2k)。

上面是第一种方法,也可以用第二种方法——需要哪些点,就只构造哪些点:

l2 = 序列(描点(c', k), k, 1 / (2n), 1, 1 / n)

l3 = 序列(圆扇形(l2(k), l1(k), l1(k + 1)), k, 1, n / 2)

l4 = 序列(圆扇形(l2(k), l1(k), l1(k + 1)), k, n / 2 + 1, n)

注:序列(Sequence)、描点(Point)、位似(Dilate)、圆扇形(CircularSector)。

旋转扇形

旋转中心就是最右边的蓝色扇形的右边的半径的中点,所以:

若用第一种方法,则:

C = 中点(l2(n), l1(n / 2 + 1))

若用第二种方法,则:

C = 中点(l1(n), l2(1))

于是旋转效果也可以做出来了:

t = 滑动条(-1, 1, 0.001)

t' = 如果(t < 0, 0, t)

l4' = 旋转(l4, t' * 180°, C)

其中,t'取值范围是由0到1,使旋转得以动态化。不过,为什么要写得这么麻烦呢?这是为了让t < 0的时候,可以控制α的变化,使得只需拉动滑动条t就可以演示动画。于是,还需更改下α的定义,即:

α = 如果(t == -1, 45.0001°, t ≥ 0, 89.9999°, 45° (t + 2))

注:中点(Midpoint)、如果(If)。

文本与美化

最后,为了效果更佳,可以设置一下滑动条的标题,并作几个文本。

指令

显示条件

设置标题(n, "$\huge %v份$")

设置标题(t, "$\huge 切割、拼接$")

m = 滑动条(0, 2, 1)

t == 1

设置标题(m, "$\huge 提示$")

text1 = "r"

m > 0

text2 = " πr"

m > 0

text3 = "S= πr^2"

m == 2

text4 = "\bgcolor{#FFC0CB}{\ 圆的面积\ }"

为了在未完成拼接时,都不显示提示滑动条——在滑动条t的更新时脚本写上:

如果(t<1,赋值(m,0))

注:赋值(SetValue)、设置标题(SetCaption)。

结语

至此,整个制作就完成了!

感兴趣的老师,可以试一试如何完成这种更对应课本的效果:

如需源文件,请转发本文,并写上:

很可以!圆面积公式推导

标签: #c语言求圆面积