标签: Grasshopper系列文章

  • Grasshopper系列教程-曲线上点在获取

    Grasshopper系列教程-曲线上点在获取

    我们这节课来学习grasshopper曲线控制的内容。

    曲线控制也是grasshopper里面最重要的内容之一。

    Control Points Deconstruct Arc End Points Control Polygon Deconstuct Rectangle POI ygon Center •m•.w.3dscg.com

    Control Points:显示曲线的控制点。

    在下图的算法中p端口输出曲线的控制点。

    Control Polygon:输出曲线的控制点。

    0 sc

    Deconstruct Arc:分解弧线的各类参数。

    B端口输出弧形的圆心平面。

    R端口输出弧形的半径。

    A端口输出弧形的弧度区间。

    Deconstuct Rectangle:分解矩形的各项参数。

    B端口输出矩形的平面坐标。

    X和y端口输出矩形的长度区间。

    利用这个特性,我们可以利用它把空间上的矩形移动到原点上。

    End Points:获取曲线的起始点和终点。

    S端口是起点。

    E端口是终点。

    Polygon Center:输出多边形的中心点。

    [elementor-template id=”7418″]

  • Grasshopper系列教程-空间点的操作(点的生成和分解)

    Grasshopper系列教程-空间点的操作(点的生成和分解)

    大家今天我们来讲Grasshopper点的操作。主要内容是关于点的构成与分解的各种方法。

    www.3dsc com

    Construct Point:建立空间点。

    Xyz三个坐标值,如果输入一个等差数列可以输出等分点。

    CyDeconstruct:分解点坐标。

    这个运算器可以把点分解成xyz三个坐标。

    Numbers to Points:输入数值生成点。

    Points to Nunbers:有点生成数值。

    这两个运算器和上面的运算器基本上是一样的。

    大家看一看下面的算法。

    3dsc 00

    Buyeentr i olar Stance www.3dsc „corn

    Barycentric:计算三个点的质心。

    在下图的算法中abc三个端口,分别速度三个点,P端口输出三角形的质心,Uvw三个端口分别控制质心的偏移方向。

    www.3dscg.com

    Distance:两点之间距离运算器。

    用于计算两个点之间的距离。

    www.3dscg.com

    Point Cylindrical:计算以已知点为圆心的圆周点。

    Pt端口输出以p点为圆心的圆周点。

    A端口是圆周点的角度。

    R端口是圆周点的半径。

    Point Oriented:通过UVW值生成相对坐标点

    5.430 .3dscq .c orn_

    Point Polara:通过输入圆周的数据生成点。

    P端口输入初始的原点。

    Xy值输入角度。

    Z值输入所在平面的法线方向的高度。

    D值输入圆周的半径。

    这里要注意xy值要转换degree的单位,也就是角度。

    0 371 www.3dscg.com

    To Polar:分解点的圆周数据。

    它是上一个运算器的相反操作。

    P端口输出角度值。

    LLEo

    [elementor-template id=”7418″]

  • grasshopper系列教程-平面的操作

    grasshopper系列教程-平面的操作

    今天我们来讲解Grasshopper操作平面的课程。

    Adjust plane Al i gn planes plane CI Rotate plan plane Flip plane plane Coordinates www.3dscg.com

    Adjust Plane:  矫正平面。

    让平面的方向等于输入的方向。

    www.3dscg.com

    Align Plane: 对齐平面。

    旋转平面的y轴方向与之输入的直线方向一致。

    这个运算器和上一个有个明显的区别就是,它不会旋转平面的空间方向。

    www„3dsc „сот

    Align Planes: 对齐平面。

    这是上一个对齐平面的复数形式。

    Flip Plane: 翻转平面。

    在Grasshopper中平面是有两个方向的,一个是正方向,一个是反方向,这有点类似于曲面的方向。

    Plane Closest Point:计算点到平面的最短距离。

    这个运算可以计算点到平面的投影距离,P点输出点到平面的投影点,Uv值输出点的uv坐标,d端口的值输出点到平面的距离。

    .3dsc „сот

    Plane Coordinates:计算点到平面的相对坐标。

    WWWL3dSCg.com

    Rotate Plane:旋转平面。

    [elementor-template id=”7418″]

  • Grasshopper系列教程-平面的创建和操作

    Grasshopper系列教程-平面的创建和操作

    今天我们来讲讲grasshopper中平面的操作创建已修改的相关运算器。

    平面在Grasshopper的作用主要是用来定位。

    我们在绘制直线的时候,时常要定义直线的方向,那么我们就要用平面来定位了。或者在创建一个点的时候,要对这个点进行移动,我们必须定义这个点的运动的所在平面,这时就必须为这个点创建一个平面。

    我们在对物体进行缩放或者对曲线偏移的时候,也是要给这些物体或者曲线赋予一个操作的平面的。

    好的,那我们就开始今天的grasshopper教程吧。

    计算机生成了可选文字: Deconstruct到,0 0.3dSC00m

    Deconstruct plane:分解平面。这个运算器是把平面分解成点和xyz三个方向。

    分解平面之后,我们可以获取这个平面它们的xyz三个轴向方向。获取方向之后,我们可以通过这些方向来操作这个平面上的一些点。

    其他三个运算器都是创造平面。

    分别是创建xy平面,xz平面,yz平面。

    计算机生成了可选文字: 0囗P 气V气.C00〕

    计算机生成了可选文字: e囗t www.3dsc g.C0m

    Construct Plane :创建平面。在xy两个端口输入两个方向,这样就可以创建出一个平面了。

    但是要注意,xy两个端口输入的不一定是标准的x轴或者y轴。只要输入两个不完全重合的方向就可以了。O端口是输入这个平面的起点。

    计算机生成了可选文字: 0二dXY .3dsc 嘰C00〕

    Line + Line :两个直线生成平面。这个运算器的用法和上个运算器基本上是一致的。而且在grasshopper中直线段和方向其实并没有很大的差别。我们也可以这么认为,直线其实在某种意义上是等同于方向(向量)的。

    计算机生成了可选文字: 《0.00,0.00,飞.00} 0 .3dsc 嘰C00〕

    Line +Pt :一条直线和一个点确定一个平面。

    Plane 3Pt :3点生成一个平面。

    Plane Fit :空间点拟合成一个平面。或许空间上的一些点,通过计算之后拟合成一个平面。这些点不一定完全在一个平面上的。

    Plane Normal:一个点和一个法向方向形成一个平面。

    Plane 0ffset:偏移平面。

    Plane Origin:基础平面对应到另外一个平面上。

    [elementor-template id=”7418″]

  • Grasshopper系列教程-网格整列点生成

    Grasshopper系列教程-网格整列点生成

    今天我们来讲解Grasshopper网格点阵列的内容。

    agond www.3dsc .com

    这5个运算器输出的是常见的多边形矩形阵列,除了输出多边形阵列之外,还输出多边形阵列的点。

    Hexagonal:蜂巢六边形网格阵列。

    Radial:环形矩阵的阵列。

    Rectangular:矩形矩阵阵列。

    Square:正四边形阵列。

    Triangular:三角形排列的阵列。

    L'.JWW. 3dscg.com

    这几个运算器都有些共同的参数设置,一般有以下几个。

    P:阵列的起点。

    Sx:阵列中单位格子的边长大小,这里指的是x轴的大小。

    Sy:阵列中单位格子的边长大小,这里指的是y轴的大小。

    Ex:X方向上格子的数量。

    Ey:Y方向上格子的数量。

    输出端口的参数。

    输出端口的参数。

    C端口输出网格多边形

    P端口输出网格多边形交叉点

    计算机生成了可选文字: opul02b Populate3D 卩0》10G•••trY 、N.3dSC.com

    Populate 2D:随机散步2d点

    Populate 3D:随机散步3d点

    Populate Geometry:几何体内随机云点。

    www dscg . com

    这几个运算器都是用来生成离散的点,它们也有几个共同的参数。

    R(G):生成离散点的有效范围。3d离散点是输入一个正方体。随机离散云点输入一个3d几何图形。

    N:输入生成离散点的数量。

    S:输入离散点随机因子。每输入一个不同的整数会输出一个新的离散点分布。

    P:清理P点范围内的点,这个可能不太好理解,那么请看下图的算法演示

    在上图中,我们曲线是输入了一个圆圈,然后把圆圈进行78份的等分点,把这些点输入p端口中,我们可以看到下面有一个奇妙的现象出现。

    效果图如下,在下图中随机点,中间出现一个空缺的圆圈,这个空缺就是圆圈的等分点所消除的。

    计算机生成了可选文字: 、00000〕

    [elementor-template id=”7418″]

  • Grasshopper-磁场力运算器的运用

    Grasshopper-磁场力运算器的运用

    今天我们来讲讲Grasshopper的电磁场的运用。

    使用磁场,我们可以创建出一些运动的曲线,比如直线运动,圆周运动或者扩散运动这类的运动状态。如果使用常规的做法,我们会非常的困难,但是用磁场的话就轻而易举了。

    今天的课程只是简单的列举一下他们的用法,同学们可以用今天所学到的内容自己去做一些实验。

    好。

    好了,我们来开始今天的Grasshopper课程吧。

    计算机生成了可选文字: www.3dscg.com

    Line Charge:条形磁场。

    这个运算器通过实取直线产生直线两侧的条形磁场。

    计算机生成了可选文字: www.3dscg.com

    在下图中我们看到直线的右侧的点都在做远离直线一侧的方向运动,而且点距离线的位置远近,力的大小也会有所不同。

    计算机生成了可选文字: stg .cam

    Point Charge:点电荷磁场。

    这个运算器用点来控制磁场力的方向,它有4个参数,C参数用来控制磁场力的大小,如果c的值是正值,它就是排斥力,如果是负值就是吸引力,低值用于控制它的衰减的力度,直值越大,衰减越小,如果衰减值等于0,则这个电荷的力没有衰减。

    计算机生成了可选文字: 36.10 0 0 1.980 www.3dscg.com

    在下图中我们可以看到,带箭头的点都受中心电荷的影响,往四周移动。

    计算机生成了可选文字: www. sc g.cam

    Spin Force:自转力

    这个运算器会给周围的点产生圆周运动的力。

    S值的大小是调节力的强度。

    R值的大小是调节磁场的半径。

    D值是调整磁场的衰减程度。

    计算机生成了可选文字: -3610 0 0 2826

    在下图中我们可以看到中心点周围的点,因为受到自转力的影响,产生了旋转偏转的运动。

    计算机生成了可选文字: .3dscg .cam

    Vector Force:矢量力,让点往一个方向运动的力。

    计算机生成了可选文字: .3dsc .cor

    在下图中我们可以看到所有的点都跟随直线的运动。

    计算机生成了可选文字: stg .cam

    计算机生成了可选文字: Yield FieldLl www3dsc℃om

    Break Field:分解磁场力,使合并的磁场力分解。

    Merge Fields:合并磁场力

    Evaluate Field:评估磁场,这个运算器用于计算磁场的方向。

    Field Line:创建磁场线。使磁场成为一种可见的形式,表现在画面上。这个运算器是我们使用磁场来做设计的最终目的。使用这个运算器,大家一定要注意保存文件,因为把磁场线创建出来,表现在画面中,往往会伴随大量的图形计算,如果数据控制不好的话,有可能会发生文件崩溃的情况。

    计算机生成了可选文字: 囗 韧 Directionlay Perpendicular盯1“ Scalar蘄I T色0or1生Y www.3dscg.c_Q_m_

    Direction Display:使用彩色图像来显示方向。

    Perpendicular Display:使用彩色图像来显示垂直方向。

    Scalar Display:使用彩色图像来显示标量。

    Tensor Display:使用彩色头像来显示张量。

    [elementor-template id=”7418″]

  • Grasshopper系列教程-反转矩阵,数据编组,数据合并运算器

    Grasshopper系列教程-反转矩阵,数据编组,数据合并运算器

    我们今天继续来学习Grasshoper的课程,这次学习是几个简单而且常用的运算器,他们是用于控制分组的合并与分解的。

    计算机生成了可选文字: 3 Flip Explode Tree www.3ds c .corn

    Entwine:把数据编入既定的分组内。

    在下图中我把第1分组的数据输入00的编号里面第2分组的输入01的编号里面。02编号的分组没有输入数据。

    r端口输出编号分组的树形数据,要注意,因为02端口没有输入数据,所以02分组了是空的。

    Flatten 2 3dscg_ 2 www.3dscg.com

    Explode Tree:分解树形数据。

    这个运算器比较简单啊,大家看一下下面的运算就可以了。

    S 3dgcg_con wvvw .3dsc .corn

    Flip Matrix:反转矩阵数据

    这个运算器在我们平时的grasshopper的设计里面都非常的常用,我们经常会把它用来翻转点阵的纵向和横向的排列。

    对于翻转点矩阵的排列的,在我以往的文章里面都有所提到啊,大家可以在我的网站里面搜索相关的内容。我这里就不展开讨论了,如果大家有什么疑问的话,可以在下面的语言窗口评论,这里只是简单的介绍翻转举证的它的原理跟用法。

    在下图中我们可以看到00分组里面的数据是AA,bb和零课刻学堂,01分组的数据是cc,dd和3dscg.com。

    这一个分组数据输入翻转举证之后,他被翻转为三个分组,每个分组里面有两个数据。

    这个翻转矩阵的运算器的原理就是说把每一个分组的编号按顺序提取,之后把它们组合成一个新的树形数据。

    比如00分组和01分组里面他们的序号0的数据分别是AA和cc,提取了这两组数据之后,再组成一个新的组。

    冫 学 堂 01 }

    Merge:合并分组数据。

    这个运算器的使用方法也非常简单,就是把把数据输入到相应的窗口,最终输出的是一个拍平的数据。

    S coz .3dsc _corr

    Streu P utar Stream Gate www.3dsc acorn

    Stream Filter:分组数据过滤器。

    在下图中我们可以看到g端口输入1,输出端口输出的数据就是1端口里面的数据。

    wwvu 3dsc .com

    Stream Gate:这个运算器的使用方法不明,这里也就不再展开讨论了,大家如果对这个运算器有什么看法的话,可以在下面的评论区留言。

    4 3dgcg_con 4 3dgCg.COm

    [elementor-template id=”7418″]

  • Gasshopper-系列课程-数据结构运算2

    Gasshopper-系列课程-数据结构运算2

    今天我们继续去讲解grasshopper数据结构的内容。

    www.3dscg.com

    Match Tree:匹配树形数据的路径,这个运算器跟我们之前讲过的那个匹配的运算器是一样的。

    在g端口输入要匹配的树形数据。

    езеО • мим зэкрие.щ ЧУМ езеО —

    Shift Patchs:偏移树形数据路径。这个运算器的作用是把树形数据的路径进行移动,移动之后把位数相同的合并起来。

    在下图中我们观察红框内的数据路径,偏移之前红框内路径的前三位是一样的,偏移之后把这些一样的路径合并成一个,这样它路径的位数也相应的减少了一位。

    brarches 16 ко;с;'}

    Splite Tree:分割出其中一段树形数据。这个运算器的作用就是用来提取某一段路径的数据。

    在下图的m端口,我们输入了两个数据的路径,输出的p端口输出这两个路径的数据。

    这里要注意的是,路径的写法一定要符合规则。规则就是用花括号包住编号,路径编号的位数用分号隔开,而且是最后一位不能有分号。

    | 0 ; 0 ; 0 0 0 ; 0 ; 0

    Path Mapper:路径映射器。这个运算允许我们任意的改变数据的结构。如果灵活应用的话,我们将会更加方便的更改数据结构。这个运上去的基础功能和我们之前学过的一些改变数据结构的运算器的作用类似,也有一些重复的类型。

    点击右键设置Mapper的类型

    Mapping Editor... Create Null Mapping Create Flatten Mapping Create Graft Mapping Create Trim Mapping Create Reverse Mapping Create Renumber Mapping Enabled Help...

    Create Null Mapping:创建一个普通类型。

    Create Flatten Mapping:创建一个拍平数据的映射类型。

    Create Graft Mapping:创建一个分组数据的映射类型。

    Create Trim Mapping:创建一个偏移路径的映射类型

    Create Reverse Mapping:创建一个反转编号的数据类型。

    Create Renumber Mapping:创建一个精简路径编号的数据类型。

    这个运算也有它的高级应用的方式,然后这部分内容我们在后面的是课程再进行展开讲解。

    [elementor-template id=”7418″]

  • Grasshopper系列教程-匹配数据结构

    Grasshopper系列教程-匹配数据结构

    Data With 8 branches 曲 面 等 分 点 数 据 结 构 Data With 8 branc hes 曲 面 分 割 0 2 最 终 输 出 的 2 数 据 结 构 曲 面 等 分 点 www.3dscg.com 零 刻 学 堂 Data With 8 branc N 己 5 囝 参 照 用 的 数 据 结 构 . 3dsc 嘰 C 0 0 〕

    接着我们上节Grasshopper课遗留下来的一个问题。

    我们怎么来理解这么一个运算器?

    这里我再重新重复一下这个运算器的作用:这个运算器的作用就是用来匹配一个作为参考的列表的路径。

    比如说原来的路径是两个0,而我们要把它的路径改为三个0。这样我们除了可以使用之前学过的方法来修改路径之外,我们也可以用一个现成的列表作为参考,然后把这个列表的路径直接搬运过来使用。

    在上图中我标记了三个标注。

    他们分别是:

    1. 原来的数据结构。
    2. 作为参照匹配用的数据结构。
    3. 最终输出的数据结构。

    从上图我们得知2和3的数据结构是完全一样的。通过这么一个简单的操作,我们就能够任意改变数据的结构。

    那么为什么我们要去改变数据的结构呢?

    以我个人的总结,我认为有以下几点原因要去改变数据结构的。

    1. 原始的数据结构过于复杂,过于复杂的数据结构是不利于我们操作数据列表的。
    2. 数据结构精简之后,便于我们做数据的匹配。

    改变匹配的数据结构,我们要注意以下的几个问题。

    1. 数据结构的分组必须一样。
    2. 数据结构每个分组里面的数据数量也必须一样

    好了,以上就是我对这个运算器的理解,

    如果大家有什么问题的话,可以在下方的留言窗口下评论。

    [elementor-template id=”7418″]

  • Grasshopper系列教程-树状数据结构得到操作(拍平和分组)

    Grasshopper系列教程-树状数据结构得到操作(拍平和分组)

    今天讲的grasshopper的内容是非常重要的,我们会分为三期的课程来讲。这一类的运算器是如何处理树状结构数据的。对于数据的处理Grasshopper里面是最为重要的。

    g.com ena _ - 1 10.1

    N端口代表null数据,X端口代表空的数据

    这个运算机的作用主要用来清除,我们在计算中产生一些无效的数据。这个比我们之前学习的那个要筛选之后再来清除,要高效的多。

    把数据列表拍平,这个在glass opera上面是非常常用的,在每个运算器端口点右键有个向下的箭头图标和这个是等效的。

    拍平电池在默认情况下把路径设置为一个0,如果要设置为两个人可以在p端口里面填入两个0。

    计算机生成了可选文字: • ÄeeÅng1e (

    把数据列表变为树状结构,这个操作和拍平是相反的。我们平时把这个运算器也称之为分组数据的运算器,因为它的功能就是把数据进行分组。

    我们要需要glasshopper,一定要注意数据什么时候要分组,什么时候要排停。

    因为用grasshopper做设计,最重要的就是对数据的排列与组合。用电脑计算出来的排列组合来组合出我们设计上的创意。

    om

    删除小数据的分支

    在下图当中,等差数列列表被分为三个一组和两个一组的分组数据,把这个分组数据输入到t端口中,N0和N1分别输入两个数据,如果这两个数据比分组数据的数量更多的话,他就会把这个数据清除掉。

    计算机生成了可选文字: . Icom

    精简树状数据的路径层级。

    在下图当中我们可以看到数据的结构是三层级别的,经过一个精简之后,它只变成了一层。

    With 10 branch— Data with 1m

    这个运算是用来统计树状列表的数据,在下图当中我们可以看到第1个输出端口,输出的是数据的具体内容,第2个参数输出的是每个分组的里面的数据数量,第3个参数是输出分组的数量。

    ο 10

    这个运算器是用来精简数据的路径的。

    下图中我们可以看到它是一个分组数据啊,经过精简之后,我们看到它输出的只有一层的路径级别。

    这样的用法,有点像拍平运算器。

    Data with1branches N = 10 τη

    Unflatten Tree :让数据跟随导入的数据的树状数据结构。

    计算机生成了可选文字: 0a0h的b「引跹h一 WWW.3dg.CO

    这个运算器比较难理解,我们这节课不张开讨论,我在下面贴一个应用的算法,在下一节课我将详细说明它的运算逻辑。

    with 8 branches Data Wlth 8 branches lData Wlth 8 branc

    [elementor-template id=”7418″]