上一篇文章里我们学习了双轴旋转的3D模型制作方法,由于建立的字段比较少,所以相对简单。
本篇文章,我们学习三轴旋转的3D模型,难度略微有些增加。
建立数据集
我们用上一篇中的第二个数据集,也就是增加了连线的数据
group,id,x,y,z
1-2,1,0,0,0
1-2,2,0,1,0
1-4,1,0,0,0
1-4,4,0,0,1
1-5,1,0,0,0
1-5,5,2,0,0
2-3,2,0,1,0
2-3,3,0,1,1
2-6,2,0,1,0
2-6,6,2,1,0
3-4,3,0,1,1
3-4,4,0,0,1
3-7,3,0,1,1
3-7,7,2,1,1
4-8,4,0,0,1
4-8,8,2,0,1
5-6,5,2,0,0
5-6,6,2,1,0
5-8,5,2,0,0
5-8,8,2,0,1
6-7,6,2,1,0
6-7,7,2,1,1
7-8,7,2,1,1
7-8,8,2,0,1
创建计算字段
创建参数XZ - Angle (Radians),浮点,4.7-6
创建参数YZ - Angle (Radians),浮点,0-3.14
创建参数XY - Angle (Radians),浮点,0-3.14
前两个参数和上一篇一样,新增了XY - Angle (Radians)这个参数,参数值的范围也可以自己调节。
x_rotated (xy)=[x]*COS([XY - Angle (Radians)])-[y]*SIN([XY - Angle (Radians)])
x_rotated=[x_rotated (xy)]*COS([XZ - Angle (Radians)])-[z]*SIN([XZ - Angle (Radians)])
z_rotated=[x_rotated (xy)]*SIN([XZ - Angle (Radians)])+[z]*COS([XZ - Angle (Radians)])
y_rotated (xy)=[y]*COS([XY - Angle (Radians)])+[x]*SIN([XY - Angle (Radians)])
y_rotated=-[z_rotated]*SIN([YZ - Angle (Radians)])+[y_rotated (xy)]*COS([YZ - Angle (Radians)])
开始做图
将[x_rotated]拖到行功能区,[y_rotated]拖到列功能区。
标记类型选择“圆”。
将[group]字段拖到标记栏“详细信息”。
将[id]拖到标记栏“详细信息”和“标签”。
复制[x_rotated]字段,做双轴并同步轴。
将[id]字段拖到标记栏“路径”里,类型改为“线”。
如果操作正确,效果如下:
上面是最基本的三轴旋转的3D模型制作方方,只是点线相连。长方形有6个面,如果增加难度,还需要用多边形绘制6个面。由于这里的6个面是4个点组成的多边形,所以上面的数据集就不能满足要求了,需要新建数据集。
新建数据集
group,index,id,x,y,z
1-2-3-4,1,1,0,0,0
1-2-3-4,2,2,0,1,0
1-2-3-4,3,3,0,1,1
1-2-3-4,4,4,0,0,1
1-2-3-4,5,1,0,0,0
5-6-7-8,1,5,2,0,0
5-6-7-8,2,6,2,1,0
5-6-7-8,3,7,2,1,1
5-6-7-8,4,8,2,0,1
5-6-7-8,5,5,2,0,0
2-3-7-6,1,2,0,1,0
2-3-7-6,2,3,0,1,1
2-3-7-6,3,7,2,1,1
2-3-7-6,4,6,2,1,0
2-3-7-6,5,2,0,1,0
1-2-6-5,1,1,0,0,0
1-2-6-5,2,2,0,1,0
1-2-6-5,3,6,2,1,0
1-2-6-5,4,5,2,0,0
1-2-6-5,5,1,0,0,0
3-4-8-7,1,3,0,1,1
3-4-8-7,2,4,0,0,1
3-4-8-7,3,8,2,0,1
3-4-8-7,4,7,2,1,1
3-4-8-7,5,3,0,1,1
1-4-8-5,1,1,0,0,0
1-4-8-5,2,4,0,0,1
1-4-8-5,3,8,2,0,1
1-4-8-5,4,5,2,0,0
1-4-8-5,5,1,0,0,0
这里大家要注意一下,每组数据是5行,为什么呢?理论上4个点的多边形只需要4行数据,系统会自动将首尾用直线相接,做成封闭的图形。但是我这里需要把线和面的数据整合到一起,如果绘制4个点的封闭连线,要收尾相接,就需要每组的第一行数据和最后一行数据重叠。所以每组数据用5行,可以同时满足绘制线和面的要求。
用新数据集替换掉上面的数据。
将上面标记类型为“圆”的标记卡改为“多边形”。
将“线”和“多边形”两个标记卡里的路径都改为[index]。
至此绘制完毕。
操作并不难,关键是要理解数据集是怎建立的。我把做好工作簿放到了Public上,有兴趣的同学可以下载研究。
https://public.tableau.com/profile/jiangbin#!/vizhome/Simple3deffectdemo/3-_1
此篇文章已发布到我的公众号:saodisir,有兴趣也可关注一下