使用Geogebra制作正六面体侧面展开图

我们今天来做一个正六面体的侧面展开图,从互联网的资料来看,正六面体的侧面展开图共计11种,今天我们来用Geogebra来实现这个过程,我的制作版本不是最新版6,而是经典版5,主要因素就是对Geogebra6的视图区认识不足,代数区、绘图区、3D绘图区不能够同时展示出来,日后技术提升了在重新做。

1.创设变量

首先我们在绘图区内输入一个滑动条

1
k=滑动条(0,1,0.01)

这个滑动条主要是用来控制侧面展开图的展开过程,所以在增量上设置的小一些,使得侧面展开图展开的时候会更加思华一些,接下来我们继续添加一个滑动条

1
n=滑动条(1,11,1)

2.创建正六面体

这个滑动条的目的,主要是用来控制正方体侧面展开图的11中展开方式,也就是每一种展开图,对应这个滑动条产生的一个值。所以这个滑动条的增量为单位整数1.

1
A=(0,0,0)
1
B=(1,0,0)
1
C=(1,1,0)

我们输入的虽然是点的坐标,但是无形之中也调控了正方体的大小,或者说侧面展开图单个面的大小。然后我们在指令区输入下面的代码,生成一个正六面体。

1
a=正六面体(A,B,C)

除了上面分步骤输入指令生成正六面体,我们还可以在指令去直接输入

1
正六面体((0,0,0),(1,0,0),(1,1,0))

来得到一个正六面体。

3.展开图代码

下面我们来输入每一种展开图的展开指令,最终效果图如上图展示,以第一种为例,可以发现faceABCD为不动面,必须切开的棱为棱AB棱CD,又因为面ABFE面ADHE面DCGH这三个面是必须连着的,那么棱EH处必须断开。于是可以书写如下指令,

1
展开图(a, k, faceABCD, edgeAB, edgeCD, edgeEH)

其他展开图请自行思考,具体参考见下图:

1
b=展开图(a,k,faceABCD,edgeAB,edgeCD,edgeEH)
1
c=展开图(a,k,faceABCD,edgeCD,edgeEH,edgeEF)
1
d=展开图(a,k,faceABCD,edgeCD,edgeAB,edgeAE,edgeEH)
1
e=展开图(a,k,faceABCD,edgeCD,edgeAB,edgeEH,edgeAE,edgeBF)
1
f=展开图(a,k,faceABCD,edgeCD,edgeAB)
1
g=展开图(a,k,faceABCD,edgeCD)
1
h=展开图(a,k,faceABCD,edgeAD,edgeAE,edgeEF)
1
i=展开图(a,k,faceABCD,edgeAD,edgeAE,edgeAB)
1
j=展开图(a,k,faceABCD,edgeAD,edgeAE,edgeAB,edgeBF)
1
l=展开图(a,k,faceABCD,edgeEH,edgeGH,edgeBC,edgeAB)
1
m=展开图(a,k,faceABCD,edgeAD,edgeCD,edgeCG,edgeEF)

4.相关指令

在上面,我们共输入了11种侧面展开图的方案指令,每完成一个展开指令,就将其隐藏,直至全部完成。设置显示条件的方法也很简单,例如我们可以点击第一种侧面展开图的代码表示,点击对象鼠标右键,然后找到属性设置,在高级对话框中找到显示条件,在里面输入

1
n==1

然后按照上述方法,依次开始设置每一种侧面展开图对应的显现条件:

第一种展开图的显示条件设置为:n==1

第二种展开图的显示条件设置为:n==2

第三种展开图的显示条件设置为:n==3

……

第三种展开图的显示条件设置为:n==11

再创建12个按钮,第一个按钮控制正方体的展开,按钮的名称就填成展开,里面的脚本代码,填写为

1
启动动画(k)

后面的11个按钮,分别控制显示哪种展开方式,以按钮第一种为例,设置脚本

1
赋值(n,1);赋值(k,0)

那么按钮“第二种”只需要将上述脚本第一条改为

1
赋值(n,2);赋值(k,0)

以此类推,最后一种侧面展开图的脚本应该是

1
赋值(n,11);赋值(k,0)

至此,就基本完成制作了。最后的成品展示效果如下

出现的一个问题,两个脚本代码之间,必须是英文分号分隔开,开始时这里出了问题,怎么设置脚本都报错,后来查了查资料,仔细看了看才发现这个问题。其他细节调整可根据个人喜好进行调整。