纹理特色
- 正方形矩阵排列
- 每一个点赋予正多边形
- 正多边形半径随着载入的图片变化其半径大小
- 可以自由调节正多边形的旋转方向
算法步骤
- 1️⃣ 用square运算器制作正方形点阵
- 2️⃣ 导入背景图并输出灰阶值
- 3️⃣ 灰阶值作为半径值输入给多边形
- 4️⃣ 调整多边形的角度参数
- 5️⃣ 生成网格曲面实体
详细步骤
1️⃣ 用square运算器制作正方形点阵
正方形点阵算法用的时Square运算器,这次算法是主要是限定了图片的长宽比例,比如本案例中图片的长800,宽600的纵向3:4的比例,因此用已知的长度去除以网格横向的数量,得到格子的尺寸大小,再把这个尺寸载入到Square的Size端口,这样就可以了。
等到网格之后,用Polygon Center运算器计算出格子的中心点,这里有个点药说明的是,本次案例涉及的点面数较多,计算图形的中心用Polygon Center会好用点,它的计算比Area运算器更快。
Grasshopper算法如下图
2️⃣ 导入背景图并输出灰阶值。
导入背景图用运算器是图像采样器(Image Sampler)
双击图像采用其进入采样器内部选择图片的地址,设置采样器的输出通道,在下图所示
- 导入图片地址
- 设置最大点阵的最大范围,注意的是这里的最大范围数据一定要跟上个步骤的图片长宽一致,这样图片才能完美的覆盖点阵
- 选择输出颜色通道为灰阶
3️⃣ 灰阶值作为半径值输入给多边形
灰阶值输出的时候是0-1之间的浮点数(小数),直接给多边形的话,多边形半径会显得很小,比例非常不合适,因此给灰阶值做数值映射。
首先把灰阶值映射成1-0的数值,这只要是原本0-1的值会让输出的结果导致生成的图片有一种“负片”的效果,所以把图片的值翻转过来。
第二是放大灰阶值,这里采用的方式乘以二分之一网格边长的方式,这样多边形半径则被限定在单位网格之内。
第三是要再乘以一个缩放系数,这样可以后续可以变化网格点大小,不至于完全限定死参数。
4️⃣ 调整多边形的角度参数
最后还得调整多边形的参数,因为多边不是圆形,直接输出的多边形有可能是横着摆放或者斜着摆放,这样就得对参数进行校正,以达到设计的目的,不过这里没有对角度校正做完全的参数化设置,如果需要修改角度,需要自行计算其旋转的角度。
5️⃣ 生成网格曲面实体
如需要输出点阵着色图案,那就生成网格曲面实体。
Grasshopper算法电池图下面购买下载