1、.如何用画笔画出如何用画笔画出3D作品作品-教你成为教你成为3D作品制作的高手作品制作的高手尚祖铭中国航空工业空气动力研究院老师.目录1、个人介绍以及创作经历2、作品介绍:3维物理世界和视角转换算例-27个方块3、作品介绍: 3D 魔方网易页面4、作品介绍:魔方V1.2_201711195、进一步创作的建议.1、个人介绍以及创作经历姓名:尚祖铭科研领域:飞机风洞试验以及飞行仿真研究等方面。创意编程:从2016年开始关注少儿编程.1、创作的阶段分解与关键技术梳理在Scratch中构建3D模型,以及视角变化在物理世界中实现对魔方的操作恢复魔方的策略.1、创作的阶段设想分解第一阶段:实现对一个正立方
2、体在3维空间中的观察(1) 技术节点编号解决的问题方法技术消化提升关键技术1.1 如何将一个3维的立方体投影到二维平面 找资料,消化相关算法根据魔方这个目标构建了27个方块。完成了27个模块在物理世界的自传标志性作品:3维物理世界和视角转换算例-27个方块.1、创作的阶段设想分解第一阶段:实现对一个正立方体在3维空间中的观察(2) 技术节点编号解决的问题方法技术消化提升关键技术1.2如何对每个平面涂色找资料,消化相关算法将自己网上下载的图片处理到Scratch的3D作品中标志性作品:3D 魔方网易页面.1、创作的阶段设想分解第二阶段:在物理世界中实现对魔方的操作 技术节点编号解决的问题方法关键
3、技术2.1如何选择操作的平面? 在每个平面的中心点坐标关键技术2.2如何对应不同的操作产生不同旋转效果?根据不同操作与中心点位置对应进行相关操作关键技术2.3如何对不同平面进行着色根据中心点位置Z投影位置的前后,进行排序,后面的先上色,前面的后上色。.2、作品介绍:3维物理世界和视角转换算例-27个方块如何在二维空间表达一个三维物体?如何在二维空间表达一个三维物体? 结构化四边形网格非结构化三边形网格.2、作品介绍:3维物理世界和视角转换算例-27个方块如何表达一个如何表达一个3D3D物体在物理空间的运动?物体在物理空间的运动?对于平动和转动变换时先转动后平动.2、作品介绍:3维物理世界和视角
4、转换算例-27个方块如何表达一个如何表达一个3D3D物体在物理空间的运动?物体在物理空间的运动?转动:先让四个点绕中心点转动平动: 对平面的中心点位置进行平动操作.2、作品介绍:3维物理世界和视角转换算例-27个方块如何表达一个如何表达一个3D3D物体在物理空间的运动?物体在物理空间的运动?一个固定不动坐标系一个随物体运动的坐标系,通过方向余弦实现二者转换。.2、作品介绍:3维物理世界和视角转换算例-27个方块主程序主程序1、初始化2、对程序进行操作3、每个单元的自转(在物理空间运动)4、将物理世界旋转后四个点坐标投影.2、作品介绍:3维物理世界和视角转换算例-27个方块主程序主程序1 1、初
5、始化和控制模块、初始化和控制模块.2、作品介绍:3维物理世界和视角转换算例-27个方块3 3、每个单元的自转和平移(在物理空间运动)、每个单元的自转和平移(在物理空间运动)每个单元的中心不同先转动后平动.2、作品介绍:3维物理世界和视角转换算例-27个方块4 4、将物理世界旋转后四个点坐标投影、将物理世界旋转后四个点坐标投影每一个小方块用了16个点,画笔移动16次来完成一个方块的绘制.2、作品介绍:3维物理世界和视角转换算例-27个方块4 4、将物理世界旋转后四个点坐标投影、将物理世界旋转后四个点坐标投影先将3每个点的三维坐标转换成2位透视平面上的两个坐标,进行画笔移动.2、作品介绍:3维物理
6、世界和视角转换算例-27个方块.2、作品介绍:3维物理世界和视角转换算例-27个方块讨论一:如何实现27个模块的公转自转?.3、作品介绍: 3D 魔方网易页面如何如何对每个平面涂色?对每个平面涂色?1、用MATLAB程序将照片的像素生成RGB的格式.3、作品介绍: 3D 魔方网易页面如何如何对每个平面涂色?对每个平面涂色?1、根据每个平行四边形单元的四个顶点位置求出四个边的长度2、并根据要求求出每一个像素点的长度本算例算例中采用1/90,即每个平面内有90*90个像素。一个平面内画91条线.3、作品介绍: 3D 魔方网易页面如何如何对每个平面涂色?对每个平面涂色?3、每条线要画90个点。4、将
7、导入的像素转化为Scratch中画笔颜色R R* *256256* *256+G256+G* *256+B256+B.3、作品介绍: 3D 魔方网易页面.4、作品介绍:魔方V1.2_201711191、生成上下左右,6个面的9个正方形中心点坐标.4、作品介绍:魔方V1.2_201711192、根据中心点生成边上4个点的坐标.4、作品介绍:魔方V1.2_201711193、拧一次魔方就进行一次物理变换,按下一个键时候,旋转30度.4、作品介绍:魔方V1.2_201711194、对中心点和四个边上的顶点进行物理旋转其中因为平面的中心方向,以X坐标为例只有-1,0,1三个值。所以,通过判断选择需要旋
8、转的平面。.4、作品介绍:魔方V1.2_201711195、三维坐标在二维的投影这里,投影过程中同样是对每个中心点和四个边上顶点进行投影。中心点投影为平面排序做准备中心点投影为平面排序做准备四个边上顶点为了涂色做准备四个边上顶点为了涂色做准备.4、作品介绍:魔方V1.2_201711196、冒泡法排序这里用index 列表储存平面涂色编号的排序结果.4、作品介绍:魔方V1.2_201711197、选择涂色的平面根据index的顺序选择不同的颜色,以及确定要涂色的四边形的顶点.4、作品介绍:魔方V1.2_201711197、给每个平面涂色每个四边形采用16根线画线的方式进行涂色.4、作品介绍:魔方V1.2_20171119讨论二:如何实现高阶魔方?.5、进一步创作的建议1、实现魔方的自动复原程序2、结合3.0版本采用乐高等外接设备实现软硬件链接3、利用语音识别等技术,实现对魔方的操作。4、利用云变量实现在线的互联网技术.跟网易一起教编程,让老师不可替代!