原文作者:千里马快乐编程

本节我们就用上节推导的公式结论在scratch里画出一个3D的八面体来。

Scratch的2D舞台就是上面图中的红色屏幕,我们要做的就是把3D物体在2D屏幕上的投射画出来。所以在画(编程)之前我们先要在自己心中有一个3D坐标,视点的位置、屏幕的位置、物体的位置我们都要先想清楚。

scratch3制作一个旋转的立方体(3)——画3D的八面体

八面体有6个顶点,如下图依次连接点1-6-2-5-3-6-4-5-1-2-3-4-1就可以一笔过画出它来:

scratch3制作一个旋转的立方体(3)——画3D的八面体

首先我们用三个列表分别保存八面体6个顶点的x坐标、y坐标和z坐标:

scratch3制作一个旋转的立方体(3)——画3D的八面体

定义视点及投射屏幕平面的位置(前面说过,为了方便计算,我们让投射平面与x轴和y轴组成的平面平行,所以投射面只有一个z值)

scratch3制作一个旋转的立方体(3)——画3D的八面体

根据前面3D到2D屏幕的投射公式,自定义一个积木用来投射转换:

scratch3制作一个旋转的立方体(3)——画3D的八面体

接下来就依次投射1-6-2-5-3-6-4-5-1-2-3-4-1点,用画笔画出连接各点的轨迹。

scratch3制作一个旋转的立方体(3)——画3D的八面体

执行“投射八面体“积木就可以画出下面的形状:

scratch3制作一个旋转的立方体(3)——画3D的八面体

scratch3制作一个旋转的立方体(3)——画3D的八面体

本站内容未经许可,禁止任何网站及个人进行转载。