标签: grasshopper教程

  • grasshopper系列教程-划分曲线

    grasshopper系列教程-划分曲线

    今天我们继续Grasshopper的系列教程,今天的教程呢,是关于曲线的划分的,曲线划分在我们做参数化设计的时候,是一个经常用的一个方法,我们为了在曲线上做一些更多的变化,那我们经常会把曲线做一些均等的划分或者不均等的划分,那么以下的这些运算器就非常非常的重要了,好了,那我们来开始今天的学习吧。

    备注,:下图的截图中的曲线都被称为【被等分的曲线】,其实这个说法有点问题,应该称之为【被划分的曲线】,由此更正一下。

    Contour:

    在曲线上做等高线的等分

    计算机生成了可选文字: 被等分的曲线 直线方向. 0 0 WWW.3dscg℃0

    Contour (ex)r:

    在曲线上做等高线的等分,这个运算器和上一个的区别就在于它等分的工具的是用平面的,而且这个平面是和这个曲线是垂直关系,我们在下图中可以看到这个平面是xz平面,曲线所在的平面是xy平面。

    在下图中我们还看到O端口还要输入等高线的高差,等高线的高差值我们一般用系列运算器,当然我们如果要做出不等高的分割点呢,我们也可以随机输入一些值。

    计算机生成了可选文字: 被等分的曲线 0囗P www.3dscg℃m

    Dash Patternr:拆分曲线

    这个运算器的用法一般就用于把曲线拆分成虚线,这个我们在做建筑外墙玻璃要做出间隔的效果时候还是非常好用的

    而且它的参数也非常简单,只要在pt端口输入间隔值就可以了

    计算机生成了可选文字: 被等分的曲线 290 《W讥'、3cg℃0m

    下图我们看到等分之后的效果

    Divide Curve:等分曲线,

    这个运算器就是最普通的等分曲线,那是我们非常常用的一个运算器之一,N的端口只要输入等份的数量就可以了。

    计算机生成了可选文字: 一被等分的曲线

    Divide distancer:按曲线上点的距离等分

    这个运算器就是在曲线上布上一些点,然后按这个点的距离来等分曲线,当然这些点不用我们自己去指定,而是通过距离参数指定就行了,所以我们在D端口输入2,然后就被输出等分的点了,

    计算机生成了可选文字: 被等分的曲线 www.3dscg℃om 0

    Divide lenght:按长度来等分曲线

    这个运算器和上一个有点不同,上一个呢是两个点之间的距离来等分的,这个呢,是按曲线的长度来等分的,那这究竟有什么区别呢?

    我们可以想象一下,如果一条曲线它九曲十八弯,曲线上两个点的距离,如果是相等的,那经历的曲线的长度也有可能不等,那你说我们是用两个点之间的距离来指来等分长度了,还是说按照长度来等分长度,这个就是我们根据项目来选择方法的问题了。

    计算机生成了可选文字: 被等分的曲线 、'3小cg℃om

    Shatter:拆分曲线

    上面的一系列等分曲线的方法都是在曲线的基础上生成点,但是并没有真正的把曲线拆分,那这个命令刚好就是可以真正的把曲线断开的一个运算器,用它输出后的曲线的都是一节一节的。

    首先我们把曲线的区间先计算出来,然后把区间进行划分,最后输入t端口的就可以了,划分的运算器,我们一般用Range,

    计算机生成了可选文字: 等分的曲线

    [elementor-template id=”7418″]

  • grasshopper系列教程-曲线的长度和区间

    grasshopper系列教程-曲线的长度和区间

    我们这节课来讲grasshopper,曲线的长度和曲线的区间的应用。

    曲线的长度和取向区间的在我们做参数化设计的时候是非常必要的。因为我们在做设计的时候呢,经常要计算出一条曲线的长度。哼!之后呢,再给曲线长度做一些参数上的变化。

    本节课的重点呢就是介绍曲线的长度和区间分别是怎么获取的。

    cw,e Domain  Length  Length  point In Curve  Evaluate Length  Length Domain  Segnent Lengths  point in Curv  www.3dscg.com

    Curye domain:曲线的区间

    这个运算器就是计算曲线的区间。

    曲线的区间一般是从零开始计算起的。

    但是大家这里要注意的是曲线的区间不等于曲线的长度。

    区间是指曲线在某一个数值范围内,它是一个范围值,而不是一个长度值。

    所以大家在使用草蜢做计算的时候,要注意一下这个参数的意义。

    IL8€_€37L8  www.3dscg.com

    Evaluate Length:评估曲线上某一点的位置点。

    所谓评估取向上某一个位置点呢,就是说:给曲线定义一个值。这个值,但必须是在零到一之间的任意数值。那么这个运算器就会输出这个数值在曲线上的位置点。

    就如下图所示,我们看到L端口输入我是0.54这个数字,右边的P端口会输出一个点,那么这个点会在平面图上我们是可以看到的。

    054 0

    Length:计算并输出曲线的长度。

    这个就是真正的输出曲线的长度了。

    这个应该没什么好说的。

    我们平时在做参数化设计的时候都会用到的。

    Length Domain:计算并输出曲线的区间。

    这个电池呢,可以在D端口输入一个区间。那么在L端口呢就输出这个区间的长度。

    这里要注意哦!右边的端口输出还是长度不是区间。

    0 28_14SS22  www.3dscg.com

    Length Parameter:在曲线中指定一个点,并计算出这个点两侧的曲线段的长度。

    这个电池的作用是在P端口输入一个区间值。然后右侧的端口呢,它是输出这个区间值两侧的曲线的长度。

    所以大家要注意这个运算器使用的时候啊!左边是输入区间值,右边输出是长度值。

    我们也可以理解为这个运算器就是用于区间值和长度之间的转换。

    那我们在实际应用中呢,就是用于截断曲线的

    就如下面的图片中我们可以看到,假如我们这条曲线是1000的区间,我们给他输入一个493的值,那么就可以得到493前面那一段曲线的长度和493后面那一段的长度了。

    0 283_477439  o €04_228227  www.3dscg.com

    Segment lengths:计算并输出指定区间段的曲线的长度。

    这个电池的作用其实就是输出区间值和长度值。

    计算机生成了可选文字: 5》 Ld 0887.7OS 00《飞86.E37《@ 00TO1186·E371E www.3dsc .C0m

    [elementor-template id=”7418″]

  • grasshopper系列教程文章-分析曲线

    grasshopper系列教程文章-分析曲线

    image.png

    这里一大类的运算器的功能都是在计算曲线上的点,

    输出的数据大都是点、平面这类数据

    Curvature: 计算曲线在指定点的曲率参数。

    Curve frame:获取曲线在指定点的曲率框架(平面)

    Derivatives:计算曲线在指定点的导数

    Evaluate Curve:获取沿曲线水平对齐的框架

    Horizontal frame: 求解垂直(零扭曲)框架

    Perp Frame:求和曲线方向垂直的平面

    Point on curve:找到曲线上的一个点

    Torsion:找到曲线上的一个点

    image.png

    [elementor-template id=”7418″]
  • Grasshopper系列教程-分析曲线的相关运算器(可用于曲线干扰)

    Grasshopper系列教程-分析曲线的相关运算器(可用于曲线干扰)

    我们今天接着学习Grasshopper的分析曲线的相关运算器,这部分大致功能就是用于判断曲线的和其他类型的相互位置关系的。比如点到曲线的距离,判断曲线是否闭合,判断几个物体到曲线的最近距离,计算两条曲线的最近点等等。

    这些功能为我们后续做参数化设计提供很多判断的依据。

    image.png

    Closed:判断曲线是否闭合

    在下周中我们看到两条曲线,一条是闭合的,一个是不闭合的。

    www.  sc  g.cam

    把曲线输入到这个运算器中,false表示曲线是不闭合的,有开口的。ture表示曲线是闭合的,周期性的。

    不 闭 合 曲 线  闭 合 曲 线  0 F 彐 1  0 三 1 , 0

    Curve Closest Point:计算点到线的距离或计算点到线的投影点。

    在下图当中我们可以看到一个点和一条线。

    www.3dscg.cam

    通过这个运算器之后。

    P端口输出点到线的投影点。

    T端口输出点在线的位置值。

    D端口输出点到线的距离。

    这个运算器是我们在grasshopper中常常用于做曲线干扰的运算。

    曲线干扰的原理其实就是计算多个点到曲线的距离,通过距离的变化形成各种有趣的纹理。

    410.scs432, -  E7_3S42E4, C)  c 26.684733

    Curve Proximity: 计算两条线之间的最近点。

    在下图中我们看到两条曲线。

    中国计算最经典的运算器以后我们可以得到最近点a和b。

    D端口说出a点和b点的距离。

    _ 477233,  0 3_es3679

    Discontinuity:计算并输出曲线中不连续的点。

    在下图中我们看到一条多段线。它有两个端点和三个转折点。

    多段线经过这个运算器之后会输出5个不连续点。

    T端口输出点在线的位置值。

    计算机生成了可选文字: 《一33.二下7232 131.冫2E233.0} 《一1二.454s0e 273. 3110.28《7冫2 《:45.350s20

    Planar:判断曲线是否是平面曲线

    下图中我们绘制了一个矩形。

    www.  sc  @.com

    我们知道矩形它是一个平面图形,所以在p端口它输出ture。

    如果是空间曲线,P端口输出的是false

    ot-c_sı,  www.3dscg.com

    Curvature Graph: 曲线的梳子图。

    通过梳子图判断曲线的顺滑程度。

    D端口输入梳子图的段数

    S端口输入梳子图的大小

    100 ф  о 120  ,3dsc .согп

    Curve Nearest Object:计算并判断距离曲线最近的物体。

    在下图中我们准备了一条曲线和两个位置不同的点。

    www. dscg  .cam

    经过下图运算器计算之后,我们可以得到a点是距离曲线最近的点。

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

    Curve Side: 判断物体是在曲线的左边还是右边

    在下图中我们准备了一条曲线,在曲线的下面绘制了一个点。

    www.  sc  @.com

    经过这个运算器计算之后,我们判断到这个点是在曲线的右边。

    Extremes:计算出曲线的最高点和最低点。

    在下图中我们准备了一条平面的曲线和曲线所在平面垂直的平面(就是下图中的那个点)。

    www.  sc  @.com

    经过运算器计算之后,我们得到曲线的最高点和最低点。

    .3dsc .cor-

    [elementor-template id=”7418″]

  • 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向量的操作。向量在学习和使用grasshopper的时候也是占有比较重要的地位的。

    vector  www.3dsc corn

    Deconstruct Vector:解构向量

    最终输出向量的xyz三个坐标。

    D D_32ssos  www.3dscg.com

     Vector XYZ:输入xyz三个坐标生成向量。

    04 so  s.oo o  www. dscg  .com

    www.3dsc .сого

    这几个是grasshopper默认的向量运算器。

    Unit Vector:向量单位化,不管多大的向量,只要输入这个运算器之后,它都会变成0~1之间的单位

    Unit X: 世界坐标的x方向。

    Unit Y:世界坐标的y方向。

    Unit Z:世界坐标的z方向。

    Cross Product  Dot product  Rotate  Vector 2? t  Vector Length  .3dsca.co

    Amplitude:给向量重新赋值。

    在修改向量大小的时候,通常会使用这样的一个计算器。

    在下图中a端口输入一个新的值,会改变向量的大小。

    Angle:计算两个向量之间的角度。

     A端口输出两个向量之间的夹角。

    R端口输出两个向量的补角。

    0 42_E140S6  C 3Eo  c 317.3sss44

    Cross Product:向量的叉乘

    向量的叉乘,即求同时垂直两个向量的向量,即c垂直于a,同时c垂直于b(a与c的夹角为90°,b与c的夹角为90°)

    在3D图像学中,叉乘的概念非常有用,可以通过两个向量的叉乘,生成第三个垂直于a,b的法向量,从而构建X、Y、Z坐标系。如下图所示:

    qxe-=  exq  qxe

    在二维空间中,叉乘还有另外一个几何意义就是:aXb等于由向量a和向量b构成的平行四边形的面积。

    www.3dscg.com

    Dot Product:计算向量点积(内积)

    向量的点乘,也叫向量的内积、数量积,对两个向量执行点乘运算,就是对这两个向量对应位一一相乘之后求和的操作,点乘的结果是一个标量。

    点乘的几何意义是可以用来表征或计算两个向量之间的夹角,以及在b向量在a向量方向上的投影

    Reverse:翻转向量的方向。

    Rotate:旋转向量

     X端口输入向量旋转的轴。

    www.3dscg.com

    Vector 2Pt: 根据两个已知点生成一个向量。

    Vector Length:输出出向量的长度。

    [elementor-template id=”7418″]

  • grasshopper系列-删除重复点-整理点-投影点操作

    grasshopper系列-删除重复点-整理点-投影点操作

    我们今天讲解grasshopper的课程,是关于点的操作的。这些操作包括计算点距离、删除点、投影点和整理点编号。这些操作模块在我们设计点云的时候是非常有用的。

    cull Sort Dupli Cates nong Cur pull point www.3dscg.com

    Closest Point:寻找点与里面距离基准点最近的点。

    算法看下图,基准点是一个点,点云是多个点。

    P端口输出的是点云的点,I端口输出该点在点云所在的位置,低端口输出该点和基准点的距离。

    Closest Points: 这个运算器是上一个运算器的复数版本。

    Cull Duplicates:删除重复点。

    这个运算器我们在grasshopper的设计中会经常会用到,当有些点重复出现了,但我们要把它删掉的时候,就会用到这个运算器。

    在下图的算法中,我们可以看到t值控制要删除点的距离容差值。本实例的容差值等于3.17,意思是当间距小于3.17的点会被融合成一个点,我们可以看到原来有22个点经过删除重复点之后只剩下17个点了。

    Point Groups: 按照设定距离给点分组,这个运算机会计算每个点之间的距离,把距离小于设定的距离的点分成一个组。

    Project Point:投影点到一个物体上。

    投影的物体可以是线或者面或者平面。

    投影之前要设定方向。

    Pull Point: 投影点到物体上。

    这和上个运算器功能上基本上一样的,稍微简化了操作,它不需要指定方向,就可以投影到物体上。

    Sort Along Curve:按照曲线的轨迹排列点的顺序。

    在下图中我们给出的点的序列号都是杂乱无章的。如果我们要用这些点来生成一条曲线,它必然产生一条混乱的曲线。

    我们用下面这个算法,那就可以把一些杂乱的点规整。

    C端口输入一条曲线,这条直线只要大致上穿过点云就可以了。

    那么在下图中我们看到这条曲线穿过点云之后,点也跟随曲线的方向进行了重新编号。

    Sort Points:重新整理点的编号。

    这个运算器不需要输入整理的曲线和方向就连自动整理点的编号。它是按照xyz三个坐标从小到大排列的。

    下图是整理点之后的效果。

    [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″]