欢迎使用 WordPress。这是您的第一篇文章。编辑或删除它,然后开始写作吧!
作者: LinkLi
-

20根据图片生成多边形空洞纹理
纹理特色
- 正方形矩阵排列
- 每一个点赋予正多边形
- 正多边形半径随着载入的图片变化其半径大小
- 可以自由调节正多边形的旋转方向
算法步骤
- 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算法电池图下面购买下载

-

Brep Plane 计算物体和平面相交
运算器作用:
计算一个 Brep 和一个平面之间的相交事件(也称为截面)。该运算器可以生成截面曲线和截面点,用于分析几何体的截面特性。
输入参数:
B (Brep):
基础 Brep:需要与平面进行相交计算的基础几何体。P (Plane):
截面平面:用于与 Brep 相交的平面。输出参数:
C (Curve):
截面曲线:由 Brep 和平面相交生成的曲线。P (Point):
截面点:由 Brep 和平面相交生成的点。应用范围:
-
建筑模型的截面分析
输入:一个建筑模型的 Brep 和一个水平平面
输出:建筑模型的水平截面曲线,用于分析楼层布局。 -
机械零件的加工路径
输入:一个机械零件的 Brep 和一个垂直平面
输出:零件的垂直截面曲线,用于生成加工路径。 -
复杂几何体的形状研究
输入:一个复杂的自由曲面 Brep 和多个平行平面
输出:一系列截面曲线,用于研究几何体的形状变化。
通过该运算器,设计师和工程师可以高效地分析和操作几何体的截面特性,满足多种设计和工程需求。
-
-

皮耶加托于设计的索阿韦椅子
皮耶加托于 2018 年设计了索阿韦椅子(#soavechair),并在 2019 年完成注册。这把椅子于 2019 年在日本的一座寺庙中展出。
这是一把富有情感的椅子,像是在挥手打招呼或道别,挥手的动作在索阿韦椅子的细节中得以体现。
索阿韦椅子的线条 ,如同可调整的折叠线,恰似随风或在手中拨动的沙子一般。算法截图:

建模思路:
- 1️⃣ 创建基本截面曲线
- 2️⃣ 将截面曲线移动到相应的位置
- 3️⃣ 放样椅子的曲面造型
- 4️⃣ 计算椅子的等距断面线
- 5️⃣ 把等距断面线挤出成曲面
- 6️⃣ 缩短整体造型到结构线范围之内。
- 7️⃣ 在犀牛Rhino中生成曲面的厚度。
算法步骤详解:
1️⃣ 创建基本截面曲线
基本曲线在XZ立面上绘制,绘制一个椅子中心截面,和椅子一端的截面线。
2️⃣ 将截面曲线移动到相应的位置
移动椅子端口的截面线到距离中心线450mm的位置,然后把这个线镜像复制到椅子的另外一端,本文用是移动到椅子的另一端,是因为用镜像的话,会让镜像的线方向变成相反方向,故不适用镜像的方式。
3️⃣ 放样椅子的曲面造型
按顺序把曲线的连入Loft运算器的端口上会生成椅子的基本曲面,但是曲面会因为曲线起点未对齐而发生曲面扭曲,这里解决的方法是在Loft的O端口(Option)点击右键,进入设置界面,勾选对齐曲线(Align )选项,这样生成的造型就正常了。
4️⃣ 计算椅子的等距断面线
把曲面连接如等距断面线运算器内,参数分别是椅子一端曲线上的中心点,方向Y,和间距,其中间距为椅子横向总宽度除以分片的数量。
5️⃣ 把等距断面线挤出成曲面
把生成的等距断面线挤出成曲面,挤出长度要刚好等于等距断面线的间距。
6️⃣ 缩短整体造型到结构线范围之内。
由于最后一个挤出后是超出其设定的范围的,所以要把生成的曲面整体单轴缩放回原来的结构线之内,缩放的比例=设定宽度/(设定宽度+单个等距断面线的间距)。
7️⃣ 在犀牛Rhino中生成曲面的厚度。
由于Grasshopper不擅长做有厚度的物体,一般我们都会把Grasshopper的对象Bake成犀牛曲面之后做厚度,厚度可以根据实际情况给定。

-

Flip Curve 翻转曲线方向
运算器作用:
该运算器用于通过可选的参考曲线翻转目标曲线的方向。如果目标曲线中超过 50% 的方向与参考曲线的方向相反,则目标曲线会被翻转,并将“翻转操作”设置为 True。如果未提供参考曲线,则目标曲线始终会被翻转。
输入参数:
C (Curve) 端口:
曲线:需要翻转方向的目标曲线。
G (Curve) 端口:
参考曲线:可选的参考曲线,用于判断目标曲线是否需要翻转。
输出参数:
C (Curve) 端口:
翻转曲线:经过翻转操作后生成的曲线。
F (Boolean) 端口:
翻转操作:指示是否执行了翻转操作的布尔值。
应用范围:
Flip Curve 运算器在几何建模和参数化设计中具有重要作用。通过翻转曲线方向,可以确保曲线的方向与设计需求一致,特别是在路径规划、曲线匹配和复杂几何形状的构建中。

-

Simplify Curve 简化曲线
运算器作用:
该运算器用于简化一条曲线,使其更易于处理,同时尽可能保留其原始形状。通过减少曲线的控制点数量,可以优化计算性能或简化几何形态。
输入参数:
C (Curve) 端口:
曲线:需要进行简化操作的目标曲线。该曲线定义了简化的基础形状。
t (Number) 端口:
偏差容差:可选参数,表示允许的最大几何偏差。如果未提供,将使用当前文档的默认容差值。
a (Number) 端口:
角度容差:可选参数,表示允许的最大角度偏差(以弧度为单位)。如果未提供,将使用当前文档的默认容差值。
输出参数:
C (Curve) 端口:
简化曲线:表示经过简化操作后生成的曲线。如果输入曲线已经满足简化条件,则输出与输入相同。
S (Boolean) 端口:
是否修改:一个布尔值,表示曲线是否被修改。如果曲线被简化,则返回
True;否则返回False。应用范围:
Simplify Curve 运算器在几何建模、数据优化和参数化设计中具有广泛应用。通过对曲线进行简化操作,可以减少控制点数量,优化曲线的复杂度,同时保留其几何特性。设计师可以利用该工具提高计算效率,简化几何形态,或清理导入的几何数据。
注意事项:
- 如果输入曲线已经是最简化状态,输出曲线将与输入曲线相同,且布尔值
S为False。 - 容差值的选择需要根据具体应用场景进行权衡,过大的容差可能会导致几何失真。
示例:
假设有一条复杂的曲线
C,我们希望在偏差容差为0.01和角度容差为0.1的条件下对其进行简化:输入:
- C: 一条复杂的曲线
- t: 0.01
- a: 0.1
输出:
- C: 简化后的曲线
- S:
True(曲线被简化)
通过调整
t和a的值,可以控制简化的程度。 - 如果输入曲线已经是最简化状态,输出曲线将与输入曲线相同,且布尔值
-

Offset Curve 偏移曲线
运算器作用:
该运算器用于以指定的距离对曲线进行偏移操作。通过输入曲线、偏移距离、参考平面以及角点类型,可以生成偏移后的曲线。
输入参数:
C (Curve) 端口:
曲线:需要进行偏移操作的目标曲线。该曲线定义了偏移的基础形状。
D (Number) 端口:
偏移距离:曲线偏移的距离。正值表示向外偏移,负值表示向内偏移。
P (Plane) 端口:
参考平面:用于定义偏移操作的平面。偏移操作将在该平面内进行,确保结果曲线与参考平面一致。
C (Integer) 端口:
角点类型:用于定义偏移曲线的角点处理方式。可能的值包括:
- 0 (none): 不处理角点。
- 1 (sharp): 保持角点为尖锐形状。
- 2 (round): 将角点处理为圆角。
- 3 (smooth): 将角点处理为平滑过渡。
- 4 (chamfer): 将角点处理为斜角。
输出参数:
C (Curve) 端口:
偏移曲线:表示经过偏移操作后生成的曲线。该曲线根据输入参数的设置生成,可能包含平滑或尖锐的角点。
应用范围:
Offset Curve 运算器在几何建模、路径规划和参数化设计中具有广泛应用。通过对曲线进行偏移操作,可以生成平行曲线、调整曲线形状或创建复杂的几何图案。设计师可以利用该工具灵活控制偏移距离和角点处理方式,从而满足不同的设计需求。
-

Evaluate Curve 分析曲线
运算器作用:
该运算器用于在指定参数处对曲线进行分析。通过输入曲线和参数值,可以计算出曲线上对应点的坐标、切向量以及曲线在该点的内外角度。
输入参数:
C (Curve) 端口:
曲线:需要进行分析的目标曲线。该曲线定义了参数化范围,运算器将在该范围内进行计算。
t (Number) 端口:
参数值:曲线域内的参数值,用于指定曲线上的位置。通过调整参数值,可以在曲线上选择不同的点进行分析。如果勾选Reparameterize选项,则曲线的长度参数会重映射为1,即参数值范围为0到1。
输出参数:
P (Point) 端口:
曲线点:曲线在指定参数值处的点坐标。该点表示曲线在参数值 t 对应位置的空间位置。
T (Vector) 端口:
切向量:曲线在指定参数值处的切向量。切向量表示曲线在该点的方向性,常用于计算运动方向或曲线的局部特性。
A (Number) 端口:
角度:曲线在指定参数值处的内外角度(以弧度为单位)。该角度表示曲线在该点的进入方向与离开方向之间的夹角,常用于分析曲线的平滑性或转折特性。
该值等于0表示曲线在该点的进入方向与离开方向相同,如果不为0,则表示曲线在该点有转折。应用范围:
Evaluate Curve 运算器在曲线分析、几何建模和参数化设计中具有广泛应用。通过在曲线上指定参数值,该工具可以精确定位曲线上的点,并提供切向量和角度信息。这些数据对于路径规划、运动分析以及曲线优化设计至关重要。设计师可以利用这些信息评估曲线的局部特性,从而实现更精确的几何控制和设计优化。

