分类: grasshopper

专业解析grasshopper技术

  • grasshopper-MetaBall使用方法

    grasshopper-MetaBall使用方法

    [intense_hr type=”solid” size=”large” title=”MetaBall作用” title_tag=”h3″ title_background_color=”#ffffff” title_position=”left” icon_type=”android” icon_position=”left” icon_size=”1″ icon_color=”#1a8be2″ /]

    制作地形等高线、两个或两个以上的圆形平滑衔接而成的图案,类似下面这个图

    [intense_hr type=”solid” size=”large” title=”MetaBall使用方法” title_tag=”h3″ title_background_color=”#ffffff” title_position=”left” icon_type=”android” icon_position=”left” icon_size=”1″ icon_color=”#1a8be2″ /]

    运算器的位置在Mesh_Triangulation页面里

    P端口输入生成圆形曲线的圆心点。

    X端口输入”吸引“曲线的边缘的控制点。

    A端口输入最终生成的曲线的平滑度,取值在0 到1.0之间,值越小曲线月平滑

    [intense_image imageurl=”” /]

  • grasshopper让数据重复出现的方法

    grasshopper让数据重复出现的方法

    前段时间写的这篇文章分享了grasshopper绘制波动曲线的方法(详情点击这里《3dsmax模型贴图丢失应该怎么找回》),可能有些同学不怎么理解曲线函数的使用方法,今天呢再来一个更为简单的方法实现这种波动曲线,而且更加自由的控制的形态。

    今天说说的这个运算器叫“Repeat”。

    [intense_hr type=”solid” size=”large” title=”Repeat” title_tag=”h3″ title_background_color=”#ffffff” title_position=”left” icon_type=”android” icon_position=”left” icon_size=”1″ icon_color=”#1a8be2″ /]

    Repeat的作用是让数据重复出现,它的L端口指定重复数据的数量,比如输入是数据是1 -1这样的数据,那如果数量为3的话,那输出的数据组合便是1 -1 1。

    生成曲线实例

    [intense_image imageurl=”https://pic.yupoo.com/ycds_v/DG80wCjz/nTMjg.jpg” /]

     

  • grasshopper寻找曲面的任何一个点第二种方法

    grasshopper寻找曲面的任何一个点第二种方法

    昨天使用一个简单的方法可以找到曲面上的一个点《grasshopper找到一个曲面上任意一个点并作这个点的法线方向》,不过这个方法有个弊端就是不大容易控制点的位置。特别是寻找接近边缘的点,控制不好,找到的点就偏离原有曲面了。这次我换了另一种思路来来实现这个功能。

    [intense_hr type=”solid” size=”large” title=”原理” title_tag=”h3″ title_background_color=”#ffffff” title_position=”left” icon_type=”arrow-right” icon_position=”left” icon_size=”1″ icon_color=”#1a8be2″ /]

    找出曲面的边界(上图①编号运算器器),把边界定位到原点坐标上(上图③,至于②的作用是找定位点),再找到这条边界的任意一个点(④号运算器),⑤号运算器的作用是算出改点所对应曲面位置的“结构线(ISO Curve)”,输出的结构线有两条,那我们这里只要与之前那边界垂直的一条再算出这段曲线的任意一个点即可。

    [intense_hr type=”solid” size=”large” title=”本期出现的运算器” title_tag=”h3″ title_background_color=”#ffffff” title_position=”left” icon_type=”arrow-right” icon_position=”left” icon_size=”1″ icon_color=”#1a8be2″ /]

    ①Brep edge:抽离曲面的边界。

    ②End Points:输出线段的端点,有一个起点,另一个是终结点

    ③Orient:对齐平面,关于orient这里有一篇以前的写的文章《grasshopper运算器-点坐标定向(orient)

    ④Point On urve:寻找曲线上的点。《grasshopper寻找曲线的中点

    ⑤ISO Curve:抽离结构线

  • grasshopper找到一个曲面上任意一个点并作这个点的法线方向

    grasshopper找到一个曲面上任意一个点并作这个点的法线方向

    grasshopper找到一个曲面上任意一个点并作这个点的法线方向,如上图所示。

    [box] 注意,Evaluate Surface 这个运算器的uv输入端口输入的这个点(或多个点),它的点坐标不能超过输入曲面的展开uv坐标,否则生成的点和法线都偏离这个曲面。如下图:这个点不在平面坐标系的第一象限里边[/box]

    [intense_image imageurl=”https://pic.yupoo.com/ycds_v/DFlucdDK/bXv2j.jpg” /]

    [intense_hr title=”运算器的作用” title_tag=”h3″ title_background_color=”#ffffff” title_position=”left” icon_type=”angle-left” icon_position=”left” icon_size=”1″ icon_color=”#1a8be2″ /]

    找到点到曲面的位置后,一般可以用于绘制垂直曲面的曲线或者紧贴着曲面的图形,当然也能在垂直于曲面作各种变化,因为它的输出端口中F输出的是平行曲面的平面,上图红色的网格面就是生成的平面。

     

     

     

  • grasshopper输出波动的曲线点

    grasshopper输出波动的曲线点

    上一篇文章讲解了如何输出抛物线的曲线点,详情点击这里《如何在草蜢中输出曲线的点排列

    这次同样使用Gragh Mapper运算器输出正弦曲线点。

    正弦曲线的特点是按照某一周期就会数据重复出现,比如输出值如同0 1 0 1 0 1…..或10 -10 10 -10 10 -10…等等。

    我们把重复出现的数据输入到Point XYZ运算器的Y端口上,这样正弦曲线就在Y方向上震动,下图。

    [intense_image imageurl=”https://pic.yupoo.com/ycds_v/DEviU9nl/BtErk.jpg” /]

    文章顶部电池图解

    ①号–Cerise:系列数据运算器,输出等差数列,本例输出0,1,2,3,….9

    [intense_hr type=”dotted” size=”small” /]

    ②号–Gragh Mapper:曲线函数运算器,本实例使用的函数曲线是正弦函数,右键选择Sine曲线。输出的值是0和1的波动数值,当然也可以自己设定输出值。

    [box] 注意:Gragh Mapper的X值不用设定,因为它的前面输入的等差数列的公差为1.0,刚好等于曲线函数的1/4周期。[/box]

    [intense_hr type=”dotted” size=”small” /]

    ③号–Interpolate Curve:内插点曲线,连接已知各个点为曲线。

     

  • 如何在草蜢中输出曲线的点排列

    如何在草蜢中输出曲线的点排列

    输出点的阵列,其原理就是使用Ponit XYZ运算器并给这个运算器输入它的XYZ坐标,最后输出点实体。

    若要输出一系列的点排列,那就在它的XYZ三个坐标分别输入参数数列(注意参数数列一般都是线性)。

    本次的点的坐标是用的Range(上图的①号运算器)和Gragh mapper(上图的②号运算器,右键菜单中选择曲线函数类型,本实例中以抛物线函数为例)分别输出点的X和Y坐标。

    [box type=”info”] range:输出设定数值区间内的等差数列[/box]

    [box type=”info”] Gragh Mapper:按照选择的曲线类型(其实就是数学公式)输出数值,左边输入一些数据,右边根据曲线函数(数学公式)输出相应的值。输入和输出的值都要设定区间大小的,一般来讲,输入的区间值保持默认不变(默认0 to 1.0),这只是为了便于控制输入的数值的区间(通常输入数据的区间也是0 to 1.0)。输出的值可根据图形的需要修改。[/box]

    上图Gragh Mapperd输出的区间设定为0.1 to 1.0,输出的值就被限定到这个区间内了,当我们需要增大输出区间数值的话,那就在这个运算器后添加一个“乘法运算器”来增大倍数。

    Range输出的值也比较小,也用与Gragh Mapper相同的方法输出放大值。

  • 随机点生成运算器grasshopper-Populate 2D

    随机点生成运算器grasshopper-Populate 2D

    grasshopper自从更新版本后添加的了直接生成随机点的运算器–populate-2d。

    这个运算器使用非常简单,运算器内部也内置了一些默认参数,让我们能够直接看到随机点的效果。

    端口参数

    [intense_dropcap]R[/intense_dropcap]:输入锁定范围的矩形,可以连入自定义的矩形,默认状态下的矩形是20*10的大小。[intense_hr type=”dotted” size=”small” /]

    [intense_dropcap]N[/intense_dropcap]:输入整数,指定最后输出随机点的数量。默认100个点[intense_hr type=”dotted” size=”small” /]

    [intense_dropcap]S[/intense_dropcap]:随机种子,每变化一个整数,则输出的点位置随机变化一次。[intense_hr type=”dotted” size=”small” /]

    [intense_dropcap]P[/intense_dropcap]:输入一些点数据,生成的随机点会偏离这些点,如下图[intense_hr type=”dotted” size=”small” /]

    [intense_image imageurl=”http://https://pic.yupoo.com/ycds_v/DDs0jwfZ/GLFAH.jpg” /]

    [intense_image imageurl=”http://https://pic.yupoo.com/ycds_v/DDs10lk4/nv7k1.jpg” /]

     

     

  • 如何在grasshopper中截取曲线的任意一段曲线-sub-curve

    如何在grasshopper中截取曲线的任意一段曲线-sub-curve

    已知一条曲线的,那截取其中一段曲线可以使用Sub Curve运算器。

    Sub Curve运算器中的低端口要输入截取的“子曲线”的长度区间,比如[20,50]、[0,120]这样的区间段。

    [box] 使用方法:

    1.使用Length运算器计算出曲线的长度(length见如何在grasshopper中测量曲线的长度 (Length)

    2.输出的曲线的总长度乘以截取的子曲线段的百分比,这样得到子线段的长度区间(Domain)(两个参数)

    3.区间最后输入Sub Curve的D端口内,最终输出子线段

    [/box]

     

     

  • 如何在grasshopper中测量曲线的长度 (Length)

    如何在grasshopper中测量曲线的长度 (Length)

    如何在grasshopper中测量曲线的长度 (Length):

    该运算器在Curve–》Analysis–》Length,连入曲线后输出曲线的长度

  • grasshopper寻找曲线的中点

    grasshopper寻找曲线的中点

    在grasshopper的Curve_Analysis页面里有两个运算器可以找到曲线的中点

    1. Point On Curve:寻找曲线上的点
    2. Evaluate Length :测量长度,测量一个点在曲线的位置

    其中Point On Curve比较简单,默认就可以输出曲线的中点,在这个运算器点击右键可以选择其他的等分点位,比如1/3等。

    Evaluate Length 这个运算器功能就很强大的,不但可以寻找中点,而且在它的T端口还输出这个点在曲线上的切线方向(方向用Vector Display查看)

    [box] Evaluate Length 用法: L端口输入点的位置的百分比参数(中点的话就是0.5的位置),不过这要注意的是如果这运算器的N端口是“True”参数的话,L参数则变成了曲线长度的位置,比如长度为48的曲线。其中点位置就是输入24.[/box]

     

    显示输出点切线方向的算法电池图

    [intense_image imageurl=”https://pic.yupoo.com/ycds_v/DCEEtALN/139R4K.jpg” /]

    法线切线

    [intense_image imageurl=”https://pic.yupoo.com/ycds_v/DCEEsR9Z/HVfI6.jpg” /]