点点鼠标,就有一层一种颜色的小立方体堆叠——GeoGebra

点点鼠标,就有一层一种颜色的小立方体堆叠——GeoGebra

首页休闲益智堆叠立方体更新时间:2024-05-11

每个小立方体的颜色都是一样的:

将其修改成了一面一色:

那么,可以修改成一层一色吗?

来看看效果:

还可以设置为彩虹色(类似):

啊K只做了最多6层的小立方体堆叠。如果要更多层,只需在制作时稍作更改(后续会说明)。

制作思路:

例:c2代表第二个小格子上的所有立方体

构造第一层立方体

■ 为了看效果和设置,先显示所有立方体——修改用来计数的n1,n2,……,n25的值,于是,输入:

执行(序列("n" k "=0",k,1,25))

隐藏/显示快捷键:Ctrl键 G

注:执行(Execute)、序列(Sequence)。

■ 为了定义:C1=元素(c1,A1),D1=元素(c2,A1),……,Z1=元素(c24,A1),AA1=元素(c25,A1),输入如下三条指令:

① l2 = 序列(名称(元素(C1:AA1, k)), k, 1, 25)

② 填充单元格(C1:AA1, 1)

第二条指令是为了让C1至AA1有定义,使得l2变为{"C1", "D1", "E1", "F1", "G1", "H1", "I1", "J1", "K1", "L1", "M1", "N1", "O1", "P1", "Q1", "R1", "S1", "T1", "U1", "V1", "W1", "X1", "Y1", "Z1", "AA1"}。

点击对象,再摁F4,可复制其值到指令栏

注:名称(Name)、填充单元格(FillCells)

③ 执行(序列(Element(l2,k) "=Element(c" k ",A1)",k,1,25))

也就是让l2的第k个元素(对象名称)定义为ck的第A1个元素(后续下拉填充,可使A1变为A2,A3,……)。

当输入第③条指令,可看到立方体就出现了

将立方体线径设置为1:

立方体颜色不同的关键

■ 【效果一】若想要第一种颜色效果,在C1,D1,……,AA1的属性——高级中,填写如下参数:

0 ≤ 参数 ≤ 1

■ 【效果二】若想要第二种颜色效果,则在指令栏输入:

f = 折线({(1, 0, 0), (1, 0, 1), (0, 0, 1), (0, 1, 1), (0, 1, 0), (1, 1, 0), (1, 0, 0)})

并在C1,D1,……,AA1的属性——高级中,填写如下参数:

若想要7层,就除以7

不难看出,主要是让动态颜色中的红、绿、蓝色参数可以变化——第一层立方体的颜色由A1的值决定,第二层的颜色由A2决定,第三层的颜色由A3决定……(后续下拉填充,A1会变为A2,A3,……)

其中,效果二的参数书写方法,来源于浙江萧若茂老师。

在折线上取点,利用点的三维坐标设置对象的RGB动态颜色。

构造多层立方体

■ 选中C1,D1,……,AA1,并下拉填充至C6,D6,……,AA6。(需要7层,就下拉填充至C7,D7,……,AA7。)

可以看到第六层及以上都是红色,因为路径值A6 / 6或A7 / 6, A8 / 6等值都是大于或等于1,所以在折线上描到的点都为(1,0,0)。即,红、绿、蓝色参数分别为1、0、0,故,都是红色。所以,想要几层,就除以几,并且在下拉填充时,就下拉到第几行。

路径值A6/6为1。当路径值超过1,所描点与路径值是1时的点一样

结语

不同的对象可以有不同的颜色效果,所以,若是原先为一个整体对象,要么重新构造(像“一面一色”,用多边形来构造面),要么用元素指令得到原列表的元素(像“一层一色”,原先为一栋一栋的立方体,用元素指令得到单个立方体)。

如需源文件,请回复:立方体堆叠

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

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