分类: grasshopper

专业解析grasshopper技术

  • 10-GH-单体实体流动到曲面

    10-GH-单体实体流动到曲面

    这一节跟大家说说单体流动到曲面的效果. 先来看看效果图,见下图, 从这个图我们可以看到物体在曲面上重复出现, 形成有序的肌理纹的效果.

    adf

    制作思路:

    首先准备一个”单体”, 形状并没有限定, 任何的形状都是可以的, 这个实例我就画怎么几个造型,下图.

    323

    其次是一个曲面

    准备好上面的的两个物体制作, 只需要怎么一个简单算法就可以了.

    fdf

    学习提醒,实例中如果出现前面课程出现的运算器,请查看本文了解运算器的用法《3d学习网grasshopper教程内所有的运算器汇总<持续更新>

    本节课学习到的新运算器

    23

    多重曲面运算器:Params–>Geometry–>Brep

    与犀牛的多重曲面一样,区别于曲面

    边界盒子运算器:Surface–>Primitive–>Bounding Box

    边界盒子的作用是给多重曲面或者曲面套上一层盒子外壳, 套上盒子外壳的模型可以用于后面计算变形盒子. C端口输入被套盒子的模型, P端口是盒子的起始平面,默认平面为XY平面,可以不用指定. B端口输出边界盒子.

    曲面盒子:Transform–>Morph–>Surface Box

    曲面按区间uv划分面片,并在面片生成盒子. D端口输入划分的区间, H端口输入盒子的高度

    变形盒子:Transform–>Morph–>Box Morph

    这个运算器能让输入的盒子发生变形.即输入盒子和曲面的上的盒子在形状上保持一致. G端口输入套在盒子里面的物体, R端口输入需要做变形的盒子. T端口输入曲面上的盒子

     

  • 09-GH-线吸引变化肌理(grasshopper教程)

    09-GH-线吸引变化肌理(grasshopper教程)

    本篇文章在昨天做了个小小预告,今天早上借着不用上班的空余时间把本文的教程写好放上来。

    昨天已经简单介绍了这个算法的基本思路了,这里不再赘述而提一提里面重要的运算器的作用。

    g20

    其中最重要的运算器是

    计算已知点到曲线的距离运算器: Curve–>Analysis–>Curve Clost Point

    它作用是:计算出一些已知的点集合到曲线的距离。

    [divider]

    本节课最新学习到的运算器

    YSQ

    浮点数运算器: Params–>Primitive–>Number

    基础的数据运算器, 它输出的是一般的浮点数 也就是小数.

    加法法则运算:Math–>OPerators–>addition

    取最小值运算器: Math–>Util–>Minimum

    当有两个值作比较是, 输出端口输出的值是较小的那个.

    矩形格线运算器:vector–>Grid–>Rectangular

    参数基本同上面的Square,不同的是可以编辑不同XY大小.

    两点距离: Vector–>Vector–>Unit Z

    输出往Z轴向的向量

    SQA

    解构矩形运算器: Curve–>Analysis–>Deconstruct Rectangle

    这个运算器用于拆解矩形图形, B端口输出矩形拆解后的起点平面, XY则输出矩形的长宽区间

    计算已知点到曲线的距离运算器: Curve–>Analysis–>Curve Clost Point

    计算出已知点到已知曲线的最短距离, 也能理解为点到曲线的最短距离 P端口输入点的集合数列, C端口输入曲线. 输出端口的P端口输出已知点投影到线上生成的点. t端口输出投影所在的位置距离该曲线端点的距离. D端口输出已知点与投影之间的距离.

    挤出运算器:Surface–>Freeform–>Extrude

    挤出曲面,跟犀牛的一样的效果, 这里D端口要输入一个向量设定挤出的方向.

    加盖运算器: Surface–>Util–>Cap Holes

    用于封闭曲面,也是跟犀牛的用法一样

     

  • grasshopper线干扰算法模型

    grasshopper线干扰算法模型

    今天还是时间关系,没法写文章了,先放上grasshopper线干扰算法的效果图. 明天应该会抽点时间把算法教程写好和录制算法的视频.

    先来简单介绍这个算法的特点

    线的干扰跟点的干扰<RH-08-点吸引因子渐变肌理(Grasshopper教程)>很类似, 主要是算出已知点与线条的距离, 再把距离与一些图形的参数(比如半径,边长等等)做关联.

     

     

  • 用grasshopper制作一个小工艺品

    用grasshopper制作一个小工艺品

    使用线干扰图形变换,网格生成曲面和数据筛选等基本算法制作的小模型.

    不过今天工作忙了一整天,公司的网络也及其不给力, 自己的网站在公司网络都登陆不上,没空写教程了 , 本次的教程还是抽空在写了,今天分享个图片先

     

  • RH-08-点吸引因子渐变肌理(grasshopper教程)

    RH-08-点吸引因子渐变肌理(grasshopper教程)

    本实例效果

    本实例制作点吸引因子引起阵列的物体做渐变变化表皮.

    制作准备, 在犀牛环境下创建一个点和一个曲面. 点的位置可以任意, 效果如下图

    学习提醒,实例中如果出现前面课程出现的运算器,请查看本文了解运算器的用法《3d学习网grasshopper教程内所有的运算器汇总<持续更新>

    本节新学习的运算器

    1.法线平面: Vector–>Plane–> Plane Normal

    根据指定的矢量方向和已知点生成平面. O端口输入点, Z端口输入矢量方向.

    2. 两点距离: Vector–>Point–>Distance

    计算两个点之间的距离.

    3.矢量运算器:Params–>Geometry–>Vector

    基础运算器,输入和输出矢量.

    4.正负值转换运算器:Math–>OPerators–>Negative

    5.除法法则运算:Math–>OPerators–>Division

    6.移动运算器:TRansform–>Euclidean–>Move

    移动物体运算器, T端口输入方向矢量.

  • GH-07-斜向网格钢架制作(grasshopper教程)

    GH-07-斜向网格钢架制作(grasshopper教程)

    WANGGE本节课讲解如何制作曲面上的斜向网格.

    这种网格也是在一些建筑外表皮或者建筑内部的钢架结构有着广泛的应用.

    制作这个模型的思路

    现在把现有的曲面细分为四边形面,然后连接四边形的对角线就可以形成网格线了.

    最终把网格线做平滑的处理.

    如右图,只是制作简易的网格线,如要做实体结构的话要加”pipe”命令. 生成实体圆管

    [divider]

    学习提醒,实例中如果出现前面课程出现的运算器,请查看本文了解运算器的用法《3d学习网grasshopper教程内所有的运算器汇总<持续更新>

    运算器

    1.曲面运算器Params–>Geometry–>Surface

    拾取犀牛曲面对象,属于最基础的运算器之一. 点击右键”set one surface”命令拾取曲面对象.

    2.两点线段运算器: Curve–>Primitive–>Line

    通过输入A和B两个已知点生成线段.

    3.组合曲线运算器:Curve–>Util–>Join Curve

    类似犀牛的组合命令, 这个运算器能把相互连接在一起的曲线组成起来,形成连续的一条线条.

    4.重建曲线运算器: Curve–>Util–>Rebuild Curve

    与犀牛的重建曲线命令相同. D端口输入阶数, N端口输入控制点数量.

    电池图

  • GH-06-钢架结构表皮制作(grasshopper教程)

    GH-06-钢架结构表皮制作(grasshopper教程)

    今天我们这一节课是grasshopper制作网格钢架的课程.网格钢架在制作一些大型的建筑物的外墙和顶棚有着非常广泛的应用,这些钢架构造大多结构复杂,使用一些常规的设计软件很难建立精准的结构模型,更不用说可以在建模推敲过程中随意的修改模型了.不过,grasshopper在这一方面有着很大的优势,不但可以快速的生成钢架模型,还能把快捷方便的即使修改器钢架的参数,学习grasshopper的话,这节课的内容也是非常必要的.

    钢架

    本节课制作的钢架结构有两种,普通的圆管(上图右)和异形的钢管(上图左).

    普通圆管用”Pipe”生成,而异形则需要在Rhino绘制好钢架的截面造型,在到Grasshopper读取截面造型。

    学习提醒,实例中如果出现前面课程出现的运算器,请查看本文了解运算器的用法《3d学习网grasshopper教程内所有的运算器汇总<持续更新>》.

    本节课新学习的运算器

    内差点内插点曲线运算器:Curve–>Spline–>Interpolate

    创建内插点曲线,V端口输入点,D端口输入内插点的阶数,C端口输出曲线,L端口输出曲线的长度.

    面积运算器:Surface–>Analysis–>Area

    计算曲面的面,A端口输出曲面的面积,C端口输出曲面的中心点,通常找物体的缩放中心都用这个运算器.

    曲面细分运算器:Surface–>Util–>Divide Surface

    在被细分的曲面上生成网点.UV输入细分网点数量,P端口输出网点.

    翻转数列运算器:Sets–>Tree–>Flip Matrix

    把数列方向翻转,比如纵向排列的翻转为横向排列.在较早时候本人也发关于这个技术的文章,点击这里进入查看《grasshopper自学笔记之三钢架表皮制作

    圆管运算器:Surface–>Freeform–>Pipe

    生成圆管,R端口圆管的半径,E端口修改圆管封口的类型.

     

    运算器 线截面运算器:Curve–>Division–>Perp Frames

    生成与曲线完全垂直的平面. C端口输出曲线, N端口输出等分数量.

    单轨扫掠运算器:Surface–>Freeform–>Sweep1

    类似犀牛的单轨扫掠.R端口输入路径曲线,S端口输入截面曲线

    缩放运算器:Transform–>Affine–Scale

    缩放物体. G端口输入物体. C端口输入缩放的中心点, 中心点通常使用Area运算器寻找. F端口输入缩放的倍数.

    平面对齐运算器:TRansform–>Euclidean–>Orient

    对齐两个平面,通常使用这个运算器把A物体镶嵌到B物体上. G端口输入对齐的物体A, A端口输入A物体的基准平面, B端口输入对齐的目标物体平面.

    [button color=”orange” size=”small” link=”http://ww1.sinaimg.cn/large/50da45f8gw1e7beut6je4j21kw1irtgm.jpg” target=”blank” ]点击下载完整电池图[/button]

  • 3d学习网grasshopper教程内所有的运算器汇总

    3d学习网grasshopper教程内所有的运算器汇总

    Params栏目

    [toggle title=”Geometry” state=”close” ]

    点:Params–>Geometry–>point

    创建点,可用右键指定已知点.

    曲线运算器:Params–>Geometry–>Curve

    点击右键读取犀牛场景的曲线,本实例使用”set multiple Curve”读取上图的多条曲线.

    曲面运算器Params–>Geometry–>Surface

    拾取犀牛曲面对象,属于最基础的运算器之一. 点击右键”set one surface”命令拾取曲面对象.

    矢量运算器:Params–>Geometry–>Vector

    基础运算器,输入和输出矢量.

    多重曲面运算器:Params–>Geometry–>Brep

    与犀牛的多重曲面一样,区别于曲面

    [/toggle]

    [toggle title=”Input” state=”close” ]

    数据滑动条:Params–>Input–>Number Slider

    滑动控制数据,这个运算器非常常用,可以非常方便而且随时控制数据,双击打开设置面板,可以设置滑动杆最大值最小值或者数据类型(整数,小数,奇偶数等等)

    数据面板,Params–>Special–>Panel

    显示数列的数据结构,可以查看数据的类型,数据的分组结构等,数据的结果等等

    [/toggle]

    [toggle title=”Primitive” state=”close” ]

    浮点数运算器: Params–>Primitive–>Number

    基础的数据运算器, 它输出的是一般的浮点数 也就是小数.

    [/toggle]

    Maths运算器

    [toggle title=”Domain” state=”close” ]

    区间运算器,Math–>domain–>domain

    A端口输入区间的最小值。B端口输入区间最大值

    UV区间划分运算器,Math–>domain–>Divide Domain2

    针对曲面划分UV区间,I端口输入曲面,U和V输入纵横的分割数量.S端口输出区间

    [/toggle]

    [toggle title=”Operaters” state=”close” ]

    乘法法则运算:Math–>OPerators–>Multiplication

    数学乘法法则运算.

    正负值转换运算器:Math–>OPerators–>Negative

    除法法则运算:Math–>OPerators–>Division

    加法法则运算:Math–>OPerators–>addition

    [/toggle]

    [toggle title=”Util” state=”close” ]

    取最小值运算器: Math–>Util–>Minimum

    当有两个值作比较是, 输出端口输出的值是较小的那个.

    [/toggle]

    Stes运算器

    [toggle title=”List” state=”close” ]

    筛选数据运算器:Ste–>list–>list Item

    可以筛选任意一个或者多个指定的数据对象,L端口输入要筛选的数列,I端口输入指定的数据的序列号(序列号是从”0″开始算起)

    数列长度:Ste–>list–>list length

    这个运算器可以计算出一个数列所有元素的总和,他输出的是一个整数.常用语计算物体的数量值.

    [/toggle]

    [toggle title=”Sequence” state=”close” ]

    随机运算器,Sets–>Sequance–>Random

    产生随机的数值数列,R端口输入产生的随机数列的区间。N端口输入生成随机数列的个数。S端口输入随机变化值(输入整数,根据不同值生成不同的随机数列),I是布尔值(布尔值只有两个值,既false或ture),这时i端口询问是否输出整数。

    [/toggle]

    [toggle title=”Tree” state=”close” ]

    拍平数据:Sets–>Tree–>Flatten Tree

    把分组的数据集合成一个组合,也就是把树形数据转化为线形数据类型.

    路径编辑器:Sets–>Tree–>path Mapper

    可以这个运算器可以编辑一个数列内任何元素的组合,双击运算器进入编辑界面.具体的用法查看视频教学.

    简化路径运算器:Sets–>Tree–>Simplify Tree

    这个运算器用于简化运算器的路径,比如本节内容中某一运算器的路径是{0;2;0}{0;2;1}{0;2;2}….{0;5;1}{0;5;2},很明显,路径前面的”0″的这一层路径是可以简化掉的,而”2;0″或”2;1″等路径还是有效的,因此保留.

    分组运算器:Sets–>Tree–>Flatten Tree

    这个运算器可以把线形的数列拆分为分组的数列.

    举个例子说明:看下图,原本这个运算器的输出的值是” 0.0 1.0 2.0 ” 是按照顺序排列的,那接上Flatten Tree 运算器之后输出的列表是”0.0″,”1.0″,”2.0″分为三个不同的列表,我们把拥有多个不同列表的”数列”称之为分组列表.

    翻转数列运算器:Sets–>Tree–>Flip Matrix

    把数列方向翻转,比如纵向排列的翻转为横向排列.在较早时候本人也发关于这个技术的文章,点击这里进入查看《grasshopper自学笔记之三钢架表皮制作

    [/toggle]

    Vetor运算器

    [toggle title=”Grids” state=”close” ]

    格线运算器vector–>Grid–>Square

    创建正方形网格,P端口输入点的起点位置,S网格大小Ex和Ey设置网格的数量.

    矩形格线运算器:vector–>Grid–>Rectangular

    参数基本同上面的Square,不同的是可以编辑不同XY大小.

    [/toggle]

    [toggle title=”Plane” state=”close” ]

    法线平面: Vector–>Plane–> Plane Normal

    根据指定的矢量方向和已知点生成平面. O端口输入点, Z端口输入矢量方向.

    [/toggle]

    [toggle title=”Point” state=”close” ]

    两点距离: Vector–>Point–>Distance

    计算两个点之间的距离.

    [/toggle]

    [toggle title=”Vector” state=”close” ]

    两点距离: Vector–>Vector–>Unit Z

    输出往Z轴向的向量

    [/toggle]

    Curve运算器

    [toggle title=”Analysis” state=”close” ]

    解构矩形运算器: Curve–>Analysis–>Deconstruct Rectangle

    这个运算器用于拆解矩形图形, B端口输出矩形拆解后的起点平面, XY则输出矩形的长宽区间

    计算已知点到曲线的距离运算器: Curve–>Analysis–>Curve Clost Point

    计算出已知点到已知曲线的最短距离, 也能理解为点到曲线的最短距离 P端口输入点的集合数列, C端口输入曲线. 输出端口的P端口输出已知点投影到线上生成的点. t端口输出投影所在的位置距离该曲线端点的距离. D端口输出已知点与投影之间的距离.

    [/toggle]

    [toggle title=”Primitive” state=”close” ]

    多边形运算器: Curve–>Primitive–>polygon

    创建多边形曲线,P指定中心点,R多边形半径,S多边形段数.

    矩形运算器::Curve–>Primitive–>rectangle

    创建矩形曲线,P端口输入矩形起点,XY输入矩形的长宽(输入一般数值或区间都可以),R输入矩形的圆角半径.

    两点线段运算器: Curve–>Primitive–>Line

    通过输入A和B两个已知点生成线段.

    [/toggle]

    [toggle title=”Util” state=”close” ]

    偏移曲线运算器:Curve–>Util–>offset

    偏移曲线的运算器,C端输入偏移的曲线,D端指定偏移的距离,P端口指定偏移的平面,一般情况下默认即可,C端口指定偏移后曲线的类型,一般也是默认值.

    组合曲线运算器:Curve–>Util–>Join Curve

    类似犀牛的组合命令, 这个运算器能把相互连接在一起的曲线组成起来,形成连续的一条线条.

    光滑多段线运算器: Curve–>Util–>Smooth Polyline

    光滑多段线运算器,, 组合运算器(Join Curve)形成的曲线并不平滑, 在它之后用这个运算器可以平滑曲线, 其中S端口平滑的段数.

    [/toggle]

    [toggle title=”Spline” state=”close” ]

    内插点曲线运算器:Curve–>Spline–>Interpolate

    创建内插点曲线,V端口输入点,D端口输入内插点的阶数,C端口输出曲线,L端口输出曲线的长度.

    [/toggle]

    [toggle title=”Division” state=”close” ]

    线截面运算器:Curve–>Division–>Perp Frames

    生成与曲线完全垂直的平面. C端口输出曲线, N端口输出等分数量.

     

    [/toggle]

    Surface曲面运算器

    [toggle title=”Freeform” state=”close” ]

    放样运算器:Surface–>Freeform–>Loft

    放样命令,注意放样的曲线必须是线性列表数据

    按边生成曲面:Surface–>Freeform–>Surface parameter

    类似犀牛的边界成面

    圆管运算器:Surface–>Freeform–>Pipe

    生成圆管,R端口圆管的半径,E端口修改圆管封口的类型.

    单轨扫掠运算器:Surface–>Freeform–>Sweep1

    类似犀牛的单轨扫掠.R端口输入路径曲线,S端口输入截面曲线

    挤出运算器:Surface–>Freeform–>Extrude

    挤出曲面,跟犀牛的一样的效果, 这里D端口要输入一个向量设定挤出的方向.

    [/toggle]

    [toggle title=”Util” state=”close” ]

    曲面细分运算器:Surface–>Util–>Divide Surface

    在被细分的曲面上生成网点.UV输入细分网点数量,P端口输出网点.

    加盖运算器: Surface–>Util–>Cap Holes

    用于封闭曲面,也是跟犀牛的用法一样

    [/toggle]

    [toggle title=”Primitive” state=”close” ]

    边界盒子运算器:Surface–>Primitive–>Bounding Box

    边界盒子的作用是给多重曲面或者曲面套上一层盒子外壳, 套上盒子外壳的模型可以用于后面计算变形盒子. C端口输入被套盒子的模型, P端口是盒子的起始平面,默认平面为XY平面,可以不用指定. B端口输出边界盒子.

    [/toggle]

    [toggle title=”Analysis” state=”close” ]

    分解元素:Surface–>Analysis–>Deconstruct Brep

    把对象分解成点线面三种基本元素,V E F分别是输出点, 线, 面

    面积运算器:Surface–>Analysis–>Area

    计算曲面的面,A端口输出曲面的面积,C端口输出曲面的中心点,通常找物体的缩放中心都用这个运算器.

    [/toggle]

    Transform运算器

    [toggle title=”Affine” state=”close” ]

    缩放运算器:Transform–>Affine–Scale

    缩放物体. G端口输入物体. C端口输入缩放的中心点, 中心点通常使用Area运算器寻找. F端口输入缩放的倍数.

    [/toggle]

    [toggle title=”Euclidean” state=”close” ]

    平面对齐运算器:TRansform–>Euclidean–>Orient

    对齐两个平面,通常使用这个运算器把A物体镶嵌到B物体上. G端口输入对齐的物体A, A端口输入A物体的基准平面, B端口输入对齐的目标物体平面.

    移动运算器:Transform–>Euclidean–>Move

    移动物体运算器, T端口输入方向矢量.

    [/toggle]

    [toggle title=”Morph” state=”close” ]

    曲面盒子:Transform–>Morph–>Surface Box

    曲面按区间uv划分面片,并在面片生成盒子. D端口输入划分的区间, H端口输入盒子的高度

    变形盒子:Transform–>Morph–>Box Morph

    这个运算器能让输入的盒子发生变形.即输入盒子和曲面的上的盒子在形状上保持一致. G端口输入套在盒子里面的物体, R端口输入需要做变形的盒子. T端口输入曲面上的盒子

    [/toggle]

    [toggle title=”Accordion Pane4″ state=”close” ] content [/toggle]

    [toggle title=”Accordion Pan5″ state=”close” ] content [/toggle]

  • GH-05-曲面嵌板分割模型的制作(grasshopper)

    GH-05-曲面嵌板分割模型的制作(grasshopper)

    这一节讲解嵌板模型的制作.
    嵌板
    嵌板模型是又一些不同大小和形状的平板相互连接而成的立体模型,如上图所示.上图中左1是原始曲线,用于做放样成面,中间的图片是具有厚度的嵌板模型,而右边那个图形是不带厚度的嵌板模型.
    本节课所用到的运算器

    运算器1.曲线运算器:Params–>Geometry–>Curve

    点击右键读取犀牛场景的曲线,本实例使用”set multiple Curve”读取上图的多条曲线.

    2.放样运算器:Surface–>Freeform–>Loft

    放样命令,注意放样的曲线必须是线性列表数据

    3.UV区间划分运算器,Math–>domain–>Divide Domain²

    针对曲面划分UV区间,I端口输入曲面,U和V输入纵横的分割数量.S端口输出区间

    4.曲面盒子:Transform–>Morph–>Surface Box

    把每一个划分好的曲面转化为盒子(box),S端口输入曲面,D端口输入划分区间,D端口输入盒子的高度(厚度)

    5.分解元素:Surface–>Analysis–>Deconstruct Brep

    把对象分解成点线面三种基本元素,V E F分别是输出点, 线, 面

    6.筛选数据运算器:Ste–>list–>list Item

    可以筛选任意一个或者多个指定的数据对象,L端口输入要筛选的数列,I端口输入指定的数据的序列号(序列号是从”0″开始算起)

    算法

     

     

     

     

  • GH-04-按组随机半径多边形(Grasshopper视频教程)

    GH-04-按组随机半径多边形(Grasshopper视频教程)

    这一小节讲解按组做随机变化的一个算法.效果图如下

    G4-01

    算法效果图描述:

    从左边的图片效果看,里面的多边形的半径都是9个为一个组,每个组合内的所有多边形都是一样的半径,而每个组之间的半径都是随机变化的.

    这个算法我们学习要如何去把”数列”内的元素如何的组合以及删减”数列路径”

    [accordion align=”” numbers=”false” first_one_open=”false”]

    [pane title=”点击打开重点提示”]本次实例有一部分运算器在上一节可已经提及到,详细的内容查看这篇文章《GH-02-创建阵列孔板(grasshopper视频教程)》  《GH-02-创建阵列孔板(grasshopper视频教程)》[/pane]
    [/accordion]
    本节学习到的新的运算器

    G4-21.路径编辑器:Sets–>Tree–>path Mapper

    可以这个运算器可以编辑一个数列内任何元素的组合,双击运算器进入编辑界面.具体的用法查看视频教学.

    2.简化路径运算器:Sets–>Tree–>Simplify Tree

    这个运算器用于简化运算器的路径,比如本节内容中某一运算器的路径是{0;2;0}{0;2;1}{0;2;2}….{0;5;1}{0;5;2},很明显,路径前面的”0″的这一层路径是可以简化掉的,而”2;0″或”2;1″等路径还是有效的,因此保留.

    3.分组运算器:Sets–>Tree–>Flatten Tree

    这个运算器可以把线形的数列拆分为分组的数列.

    举个例子说明:看下图,原本这个运算器的输出的值是” 0.0 1.0 2.0 ” 是按照顺序排列的,那接上Flatten Tree 运算器之后输出的列表是”0.0″,”1.0″,”2.0″分为三个不同的列表,我们把拥有多个不同列表的”数列”称之为分组列表.

    分组列表

    以上一个运算器是”系列运算器(series)”,位置在”sets–>sequence–>series”,这节课不讨论它的作用