分类: grasshopper

专业解析grasshopper技术

  • grasshopper曲线函数运算器-点阵生成曲面

    grasshopper曲线函数运算器-点阵生成曲面

    grasshopper曲线函数运算器-点阵生成曲面

    主要运用到的运算器是曲线函数,曲线函数生成数据导入点运算器里生成点,最后用点阵曲面生成运算器形成曲面。

    效果

    关键字:grasshopper运算器,曲线函数运算器,grasshopper教程

  • grasshopper翻转UV的方法

    grasshopper翻转UV的方法

    grasshopper使用lunchbox修改曲面UV的方向

    修改UV的作用:在做曲面UV展开时,展开的UV矩形有可能是纵向矩形,那为了更好在展开UV上绘制图形,我们会把UV图形做旋转90度处理,那用改变UV方向无疑要比旋转更加的方便了

    下图翻转的UV示意图

    关键字:grasshopper教程,grasshopper运算器

  • grasshopper中给list_item添加输出端口

    grasshopper中给list_item添加输出端口

    grasshopper里一个小发现

    List Item增加多个输出端口

    今天给学生讲课时把List Item 放大显示倍数在这个运算器上下出现”+”和”-“的标识符,点击这两个标识符可以给i输出端口增加端口,如上图图所示。

    增加端口后一个List Item 可以得到多个值,使用非常方便。

    关键字:grasshopper算法

     

  • grasshopper封装教程

    grasshopper封装教程

    grasshopper封装教程

    对于一些比较复杂的算法要重复调用的话使用起来并不方便,每次调用都是一堆的电池网,因此我们在调用常用算法的时候有必要对算法做封装处理。

    先看看原先的算法文件,下图我们看到很多个数值滑竿是可以调整数据的,这些数据接口是就是我们要预留的数据输入接口

    选择所有的运算器点击鼠标中键或者空格键选择封装(一个箱子图标)如下图,但是我们看到箱子两端都是断裂的,说明封装时没有预留数据接口,不要紧。接下来双击鼠标进入封装算法内部

    在grasshopper第一页的Util中看到下图两个一黑一白两个箭头,这两一个输入接口,一个是输出接口,把他们两放到界面上。

    如下图,把所有的输入端都替换为输入接口,把最后的替换为输出接口,替换完成后点击左上角点击保存退出。

    封装后

    把所有接口修改为可辨认的名称,以便以后使用。

    本期算法文件

    fengzhuang.gh

    ​关键字:grasshopper教程,grasshopper教学,grasshopper算法

     

  • grasshopper空间上随机生成不同方向的圆圈或平面

    grasshopper空间上随机生成不同方向的圆圈或平面

    空间上随机生成不同方向的圆圈或平面空间上随机生成不同方向的圆圈或平面

    算法如上图所示

    算法详解

    创建一个点,在点上创建一个中心点盒子(Center box)在中心点盒子上创建随机点,随机点运算器是Poplate3D,Populate3D输出一些点坐标,当这些点的作品被输入Plane Normal的时候回自动转化为向量(Vector),Plane Normal最终生成就是平面了,最后在平面上绘制圆圈。

    效果图

    关键字,grasshopper教程,grasshopper算法,grasshopper教学

  • grasshopper曲线点变形算法

    grasshopper曲线点变形算法

    grasshopper曲线点变形算法

    算法详解:

    ​绘制一列圆形曲线的等分点列表,把每一个点做移动的运算,在本例子中点的运动方向是按这圆心指向等分点的方向,使用到的运算器是Vector 2Pt,如果是单纯指定方向的话,那每一个点的运动的距离是一样的,那就没有变化了。

    ​这样给移动的方向重新赋予新的值,这个数值是可以随意变化的,赋值的运算器是amplitude,V端口输入方向向量,A端口输入数值。

    ​A端口我用Graph Mapper运算器生成数值数列,这个运算器可以选择几种内定的函数曲线,通过曲线函数计算出各种数据列表。右键菜单选择函数类型,双击进入函数参数设定,本实例中Y的输出值范围设定为0-50。

    ​函数的左边的输入端口要输入一个线性数据,这个线性数据的值一般为等差数列,而且数列的值的范围一般等于曲线函数的取值范围。

    输入值

    算法下载

    Graph_mapper.gh

    grasshopper算法教学,grasshopper运算器教程

  • grasshopper数据列表位置调整算法-数据混合

    grasshopper数据列表位置调整算法-数据混合

    今天写一个有趣的grasshopper小算法,是关于数据列表位置调整的。

    算法描述:已知数列“0,1,2,3,4,5,6,7,8,9”,经过算法调整之后得到一个新的数列“1,0,3,2,5,4,7,6,9,8”。

    算法详解:已知数列用Series得到,把“0,1,2,3,4,5,6,7,8,9”分流(Dispath)为“0,2,4,6,8”和“1,3,5,7,9”两个数列。用Weave混合两个数列,Weave运算器“0”和“1”端口输入列表,P端口输入两个整数但是只能是0或者1,0和1顺序决定了混合后新列表的数字排序。算法如上图

  • grasshopper浮点数转化为整数的方法-字符串分割法

    grasshopper浮点数转化为整数的方法-字符串分割法

    grasshopper浮点数(小数)转化为整数的方法

    有时候是需要把数据的浮点数转化为整数的,grasshopper也可以自动的把浮点数转化为整数的,它这种转化的方法是使用了四舍五入的方法,比如下图,0.25转整数后是0,2.938转化后是3

    在计算机编程语言里面还有一种转化整数浮点数的方法,这种方法是也广泛应用的,但是在grasshopper中我本人没有找到相关的运算器能直接转换,这种转化的方法就是割舍。割舍指的是把小数点后面的数据全部清除,只保留整数部分。那如果能够使用割舍的话,那我们能找到比较准确的寻找到物体ID(列表中的位置),下面的算法是一个比较简单的方式获取到整数部分。

    算法详解


    1. 把数据转化为字符串,字符串就是以A-Z,a-Z和0-9 或中文字等组成的文字列表
    2. 把字符用小数点分割,使用到运算器是Text Split,Text Split的C端口输入一个小数点即可,T端口输入数值或字符串形式的数据,如果是数值它会自动转换的,记住自动转化在grasshopper中大部分都是允许的。
    3. 获取小数点前面的数据

    算法如下图

    算法下载:

    Gets an integer.gh

    关键字:grasshopper算法,grasshopper教程

  • grasshopper按照曲线做排序的算法

    grasshopper按照曲线做排序的算法

    昨天的文章《grasshopper渐变的并且随机不等数量边数的多边形阵列算法》我这里写了一个算法是做边数逐渐增加的多边形阵列,它渐变是从下到上变化的,那如果我们要从上到下或者指定任意角度方向变化,那可不可以实现呢?那么我们今天就来说这个话题。

    其实从根本上说,多边形边数的变化归根结底是点的排序的变化,每个点的排序发生改变了,那生成的多边形的排序也就跟着改变了,那一个按顺序变化的值的列表(指的是边数值列表)赋予多边形数据列表的边数端口后,多边形的形态就发生改变了。(上个实例中随机边数的值的排列,这个排列是从小到大变化的)。

    ​简而言之就是一个列表变化了,那结果是发生改变。当然我们要做的就是定制改变列表顺序的规则。

    效果图如下图所示,曲线的端点位置是三角形,末端的位置的多边形的边数最多。

    Sort_Along_Curve这个运算器P端口输入点列表,C端口输入曲线,P输出端口输出点新的点阵列,I端口输出点的排序列表。

    算法下载

    sort_along_curve_list.gh

    关键字:grasshopper教程,grasshopper算法

  • grasshopper渐变的并且随机不等数量边数的多边形阵列算法

    grasshopper渐变的并且随机不等数量边数的多边形阵列算法

    grasshopper渐变的并且随机不等数量边数的多边形阵列算法

    案例描述

    一个有渐变机理的多边形阵列,自下而上多边形的边数逐渐增加形成变化的机理。


    算法

    1. 建立网格点
    2. 在网格点上生成多边形
    3. 多边形的段数(Segment)端口输入随机的数值
    4. 随机数值要重新按最小到最大排列,使用的运算器是Sort List

    效果图

    关于Sort List

    Sort List是做数据列表索引位置重排的运算器

    默认情况的是把数据按从小到大的顺序排列,它的A端口默认情况的是空参数的,但也能执行运算器,如果要自己定义排列顺序,则可以在A端口重新输入一个线性的等差数列,这个输入数列可以用Serise生成,这样重新生成的数据位置就是我们自定义的列表顺序了。

    关键字:grasshopper算法,grasshopper教程,草蜢教程

    grasshopper算法文件下载

    sort_list.gh