教你动态演示:立方体的正投影——GeoGebra制作教程

教你动态演示:立方体的正投影——GeoGebra制作教程

首页休闲益智旋转立方体更新时间:2024-05-09

是制作平面图形的中心投影与平行投影,今天我们要制作的是立方体的正投影,难度要高一些。

先来看一下效果:

拉动滑动条,即可改变立方体的摆放位置,并实时显示立方体在投影面上的正投影。

为什么说这个作品的制作比上个作品的更难一些?

具体的,我们来看看应如何制作。

构造立方体、投影面

先构造立方体:

备注:正六面体(cube)、滑动条(slider)、旋转(rotate)、z轴(zAxis)

这样构造立方体,使得最左边的棱就在z轴上。将该立方体绕着左边的棱旋转,也就是绕z轴旋转。写起来比较简单,即a' = 旋转(a, α, z轴)

此时,立方体在3D绘图区比较中间的位置。为了显示效果更好,我们将立方体放到前面一些。

利用中心定位(centerview)指令:

中心定位( <视图中心坐标(x, y)|视图中心点> )

需要注意的是,中心定位指令是对当前用到的绘图区有效。

于是需激活3D绘图区,再于指令栏输入:

中心定位((-2.8,9,0))

并构造投影面——激活3D绘图区,再于指令栏输入:

y = 10

构造投影线

立方体a'的顶点怎么构造出来?

上一作品中,已有多边形,需要其顶点时,可用顶点(vertex)指令。

但,顶点指令并不适用于立方体。

顶点指令的所有语法

既然无法直接运用指令解决,那么,回想一下立方体a'是怎么构造出来。仿照一下,其顶点是否也可以构造出来?

于是:

l1 = {A, B, C, D, E, F, G, H}

l1' = 旋转(l1, α, z轴)

l1'即为立方体a'的顶点。

而需要进行投影的顶点,需要排除y坐标值最大的顶点。

b = 最大值(y(l1'))

l2 = 条件子列(y(Q) < b, Q, l1')

最大值(max)、条件子列(keepif)指令:

最大值( <数值列表> )

条件子列( <条件>, <变量>, <列表> )

理解如下:

b = 最大值(y(l1'))——y(l1')是l1'所有点的y坐标值;于是最大值(y(l1')),即为l1'中最大的y坐标值。

l2 = 条件子列(y(Q) < b, Q, l1')——Q依次取l1'中的点,再进行判断其y坐标是否小于b,小于b即为满足条件y(Q) < b,则可留下该点。最终,得到l2,l2就是所有y坐标值小于b的点,也就是需要进行投影的顶点。

那么,投影线的构造,仿照上一个作品即可。

稍作总结,这一部分的指令如下:

构造正投影

构造前,我们先分清投影线与投影面的交点排序。即l4的各个点。

首先,l1 = {A, B, C, D, E, F, G, H}为立方体a的顶点,具体如下:

于是l1'l2中点的排序如下:

那么,交点l4的排序为:

于是,即可分情况,构造出正投影:

当0°<α<90°时,为了方便构造,将正投影看成是一个大长方形以及线段·:

至此,拉动滑动条α即有开篇的效果。

结语

这一个作品,主要是对列表相关指定的应用。

如需源文件,请回复:立方体的正投影

查看全文
大家还看了
也许喜欢
更多游戏

Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved