
我们今天来做一个正六面体的侧面展开图,从互联网的资料来看,正六面体的侧面展开图共计11种,今天我们来用Geogebra来实现这个过程,我的制作版本不是最新版6,而是经典版5,主要因素就是对Geogebra6的视图区认识不足,代数区、绘图区、3D绘图区不能够同时展示出来,日后技术提升了在重新做。
1.创设变量
首先我们在绘图区内输入一个滑动条
这个滑动条主要是用来控制侧面展开图的展开过程,所以在增量上设置的小一些,使得侧面展开图展开的时候会更加思华一些,接下来我们继续添加一个滑动条
2.创建正六面体
这个滑动条的目的,主要是用来控制正方体侧面展开图的11中展开方式,也就是每一种展开图,对应这个滑动条产生的一个值。所以这个滑动条的增量为单位整数1.
我们输入的虽然是点的坐标,但是无形之中也调控了正方体的大小,或者说侧面展开图单个面的大小。然后我们在指令区输入下面的代码,生成一个正六面体。
除了上面分步骤输入指令生成正六面体,我们还可以在指令去直接输入
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种侧面展开图的方案指令,每完成一个展开指令,就将其隐藏,直至全部完成。设置显示条件的方法也很简单,例如我们可以点击第一种侧面展开图的代码表示,点击对象鼠标右键,然后找到属性设置,在高级对话框中找到显示条件,在里面输入

然后按照上述方法,依次开始设置每一种侧面展开图对应的显现条件:
第一种展开图的显示条件设置为:n==1
第二种展开图的显示条件设置为:n==2
第三种展开图的显示条件设置为:n==3
……
第三种展开图的显示条件设置为:n==11
再创建12个按钮,第一个按钮控制正方体的展开,按钮的名称就填成展开,里面的脚本代码,填写为

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

那么按钮“第二种”只需要将上述脚本第一条改为
以此类推,最后一种侧面展开图的脚本应该是
至此,就基本完成制作了。最后的成品展示效果如下

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