纹理特色
- 整个纹理由盾牌形状点阵密拼而成的
- 每个盾牌点阵单元体内部的圆点半径大小也是带渐变变化。
算法步骤
- 1绘制单体半圆轮廓
- 2求出盾牌造型顶点
- 3盾牌造型四个边线及其平面轮廓
- 4生成平面曲面并布点阵
- 5点阵上布置渐变网格点
- 6删除边角点算法
- 7删除盾牌造型边界上的点
- 8圆形阵列汇总
- 9计算最大边界
- 10阵列单体模型
- 11创建网格实体
- 12Grasshopper算法电池图下连接关系
详细步骤
1绘制单体半圆轮廓
这个半圆轮廓的盾牌形状的其中一部分线段。
以下是Grasshopper算法:
2求出盾牌造型顶点
盾牌的顶点是有上文的半圆依照中心点对称镜像得到的相交点。
下图中下面点是对称点,上面的点是两条圆弧线相交得到的盾牌的顶点,这个顶点以下的部分就是盾牌造型的两个边界。
以下是Grasshopper算法:
3盾牌造型四个边线及其平面轮廓
使用SubCurve子曲线命令得到顶点以下的子曲线,也就是盾牌的边界A(下图算法标注的A运算器),使用镜像、旋转工具可以获得盾牌BCD三个边界,总共四条边线组合成盾牌周长轮廓。
以下是Grasshopper算法:
4生成平面曲面并布点阵
四边都计算得到输入到四边成面运算器(Edge Surface)得到平面曲面,然后等分曲面得到点阵图案
以下是Grasshopper算法:
5点阵上布置渐变网格点
点到边缘的距离算法计算点阵上圆形的半径大小
以下是Grasshopper算法:
6删除边角点算法
因为盾牌点阵是密拼图案,那么必然存在共线共点的问题,这里要删除一些相同位置的点,删除方式是通过观察的点阵的编号,得到需要删除的点编号的通用公式(下图中的x*(y+1)),还有盾牌造型底部的点(最后一个点)也一并删除.
以下是Grasshopper算法:
7删除盾牌造型边界上的点
以下是Grasshopper算法:
8盾牌圆形阵列汇总
以下是Grasshopper算法:
9计算最大边界
计算最大边界作为矩形阵列的间距
以下是Grasshopper算法:
10阵列单体模型
以下是Grasshopper算法:
11创建网格实体
以下是Grasshopper算法:
12Grasshopper算法电池图下连接关系
以下是Grasshopper算法: