@邮差大叔 仅仅通过这些曲面的点,可以生成曲面吗?

[blockquote]邮差大叔:草蜢里有一个使用点生成面的运算器的,如果点是按顺序生成,那可以把点生成线再放样成面[/blockquote]
关键字:草蜢,rhino建模,grasshopper生成曲面
专业解析grasshopper技术
在grasshopper官方网站下载的一个小程序,程序的作者把做好的grasshopper电池图封装为一个代码集合,以后要制作像蜂巢这一类的曲面表面将为非常的简单了。
srf端口输入一个曲面
u和v输入uv分段数。
hex crvs输出内部六边形网格
edge curves输出曲面边缘的六边形网格
下载链接:
在grasshopper里使用“trim solid”分割实体对象,以免“bake”对象到rhino进行二次编辑。trim solid 的两个出入端口对应功能分别是被修剪物体(S端口)和修剪物体(T端口),trim solid对修剪物体有条件限定,修剪物体必须完整的穿过被修剪的物体,否则该运算器将不能正常运行;另外的修剪后物体也并非输出两个部分,而是“修剪物体曲面的法线所指”的部分,若想得到另一个部分的分割物体,则可以在分割前把曲面的法线翻转(如下图)。

草蜢学习
今天分享一个简单的grasshopper算法,即在一个曲线生产随机排列的点,这个简单算法可以极大丰富建筑外表面的变化,比如外墙不均匀变化的柱子装饰板等等。
[valid]算法的思路[/valid]
使用random运算器列出随机数列并按数值的从大到小排列数值,把随机数列转变为可用的区间(domain),把区间输入到sub curve分割原始线条,这样整个线条分解为不同长度的线段,最后提取线段的第一个点。
[info]算法电池图[/info]

要点:由于随机数列表的数值并非按大小排列,这里必须重新排列数字
标签:grasshopperX grasshopper教程X grasshopper笔记X grasshopper运算器,草蜢教程
效果图

制作思路:
通过旋转直线的点阵列中的每一个点,并且每一个点的旋转角度呈等差递增(serise)状态,最终形成的点排列为螺旋状。
电池图

上图中使用了三个等差数列运算,等差数列控制点的运动变化(移动距离和旋转角度)为递增状态。

在grasshopper建筑设计中等分曲线为等长线段的方法
思路分析:
1.使用“sub curve”截取子级曲线
2.在“sub curve”引入“等分的区间集合”
通过上面的思路,就很容易的得到完全等分的线段了
电路图


中空板的制作跟上一期的教程类似,就是在矩阵的外围套上一个外边框,外边框和矩阵最后组合成面
其中要注意最后边的使用成面的运算器的时候输入的曲线必须是线性的数据,如果是分组数据,最终输出的图像将也是分组的。
矩形的设定也着重说明一下,矩形的大小是通过区间定位的,区间最大值和最小值的绝对值的和就是矩形的边长,另外矩形的中心点也落在区间的原点上面。
部件筛选是Grasshopper的常用而且重要的制作操作和思维方法,由于文章篇幅的限制,这份内容到以后的教程在做说明

| 运算器 | 英文 | 位置 | 作用 |
| 矩形 | Rectangle | Curve–》Primitive | 绘制矩形,注意矩形的大小是用区间表示的 |
| 缩放 | Scale | Transform–》Affine | 缩放对象,F端数据缩放比例,本实例缩放值是1.2 |
| 区间 | Domain | Domain–》Math | A和B输入区间的最大值和最小值 |
| 数据拉杆 | Namber slider | Params–》Special | 最常用的数据拉杆,双击打开后可以设定最大值和最小值或者更改名称 |
| 炸散 | Explor | Surface–》Analysis | 把对象炸散成点、线、面等基本元素 |
| 部件筛选 | List Item | Sets–》LIst | 筛选指定的对象,I 端口输入被选择元素序列,元素的序列是从0开始排列的 |
| 除法运算 | Division | Math–》Operators | 跟数学的除法一样,A端是被除数,B端则是除数 |
| 矩形网格 | Square | Vector–》Grids | 生成正方形的矩形阵列,S端输入正方形边长,C端输出正方形曲线,P端输出点 |
| 正多边形 | Ploygon | Curve–》Primitive | 正多边形,R端是半径,S端是段数,Rf端是输入圆角半径 |
| 拍平 | Flatten | Sets–》Tree | 把数据拍平转化为线性数据,连续而不分组的数据列表,这个是关键点 |
| 曲线成面 | Planar sur | Surface–》Freeform | 把围和的曲线组合成面 |

中空板的制作跟上一期的教程类似,就是在矩阵的外围套上一个外边框,外边框和矩阵最后组合成面
其中要注意最后边的使用成面的运算器的时候输入的曲线必须是线性的数据,如果是分组数据,最终输出的图像将也是分组的。
矩形的设定也着重说明一下,矩形的大小是通过区间定位的,区间最大值和最小值的绝对值的和就是矩形的边长,另外矩形的中心点也落在区间的原点上面。
部件筛选是Grasshopper的常用而且重要的制作操作和思维方法,由于文章篇幅的限制,这份内容到以后的教程在做说明

| 运算器 | 英文 | 位置 | 作用 |
| 矩形 | Rectangle | Curve–》Primitive | 绘制矩形,注意矩形的大小是用区间表示的 |
| 缩放 | Scale | Transform–》Affine | 缩放对象,F端数据缩放比例,本实例缩放值是1.2 |
| 区间 | Domain | Domain–》Math | A和B输入区间的最大值和最小值 |
| 数据拉杆 | Namber slider | Params–》Special | 最常用的数据拉杆,双击打开后可以设定最大值和最小值或者更改名称 |
| 炸散 | Explor | Surface–》Analysis | 把对象炸散成点、线、面等基本元素 |
| 部件筛选 | List Item | Sets–》LIst | 筛选指定的对象,I 端口输入被选择元素序列,元素的序列是从0开始排列的 |
| 除法运算 | Division | Math–》Operators | 跟数学的除法一样,A端是被除数,B端则是除数 |
| 矩形网格 | Square | Vector–》Grids | 生成正方形的矩形阵列,S端输入正方形边长,C端输出正方形曲线,P端输出点 |
| 正多边形 | Ploygon | Curve–》Primitive | 正多边形,R端是半径,S端是段数,Rf端是输入圆角半径 |
| 拍平 | Flatten | Sets–》Tree | 把数据拍平转化为线性数据,连续而不分组的数据列表,这个是关键点 |
| 曲线成面 | Planar sur | Surface–》Freeform | 把围和的曲线组合成面 |

今天这个实例是grasshopper的基本逻辑的思维训练的小例子,通过这个例子我们可以了解到grasshopper的基本原理和制作的基本思路。在学习和制作grasshopper模型时我们必须要理清思路,至于使用什么运算器那并不是最重要的,在清晰的思路中寻找制作的方法尤为关键。
在本实例我们的目的是制作一个由圆柱排列而成的矩阵(我们这里不直接用grasshopper中现场的矩阵<square>),那就得从矩阵的形态入手。首先矩阵是由一排点阵列而成,而一排的点则可以由线段生成(线生成点是常规的做法),而线段又是连接已知点所得到的,这一系列是一个逆向(或是反推)的思维过程。
grasshopper电池图

本实例中出现的运算器的位置和用法
| 中文名称 | 英文名称 | 位置 | 作用 |
| 点 | point | params-》Geometry-》Point | 右键“set one point”指定一点 |
| 直线 | line | Curve–》Primitive–》line | 连接A和B点形成直线 |
| 均分线段 | divide curve | Curve–》division–》divide curve | 在线段加平分点 |
| 树分组 | Graft Tree | Sets–》Tree–》Graft Tree | 把数据分成独立的组合,这个事本实例的关键,下面再做讲解 |
| 移动 | Move | Transform–》Euclidean–move | 移动输入的对象,在它的D端要输入移动的向量 |
| 向量X | vector Z | Vector–》Vector–》Unite X | 指定移动的方向或挤出的方向,它的F端口是输入向量的大小(距离) |
| 线性数列 | series | Sets–》Sequence–》series | 输出一个线性数列,这里接入向量端口的意思是指赋予向量N个值,从而让移动产生N个排列 |
| 挤出 | extrude | Surface–》freeform–》extrude | 挤出成面,同时也要输入向量 |
| 加盖 | Cap holes | Surface–》Unite–》Cap Holes | 加盖子 |