分类: grasshopper

专业解析grasshopper技术

  • Grasshopper时间运算器Timer的使用教程

    Grasshopper时间运算器Timer的使用教程

    Grasshopper时间运算器Timer的使用教程

    今天介绍Timer运算器,Timer运算器是一个时间计量工具,它会按照运算器设置时间间隔运行发送数据,发送的数据经过“Data Recorder”(数据记录仪)把每一个时间间隔的数据记录并输出。

    简单运算用法看上图,把输出值赋予到“累加运算器”上得到一个按时间计量的数字。

    对Timer运算器点击右键的Interval参数还能设定时间间隔

    blob.png

    利用Timer运算器还能做一些简单的动画,比如下面的这个。

    把输出的数据连入Z高度方向,小球就按Z轴方向移动,算法如下图

    blob.png

    关键字:Grasshopper教程、Grasshopper运算器教学

  • 瑞士再保险公司总部大楼(英国小黄瓜大楼)grasshopper算法教程

    瑞士再保险公司总部大楼(英国小黄瓜大楼)grasshopper算法教程

    瑞士再保险公司总部大楼(英国小黄瓜大楼)grasshopper算法教程

    1.jpg

    24根主钢架螺旋形状排列

    658_2.jpg

    分享个grasshopper的算法,算法下载链接:http://pan.baidu.com/s/1bpHVPRT

    密码:r9tg

    算法预览.png

    其中猫头鹰是自己创建的小插件,其插件内部算法是紫色背景的现实的电池图

    制作插件教程点击打开:GRASSHOPPER封装教程

    blob.png

  • grasshopper开放曲面斜向连线

    grasshopper开放曲面斜向连线

    今天,我们来研究这个:

    于是乎,很多对GH有一定了解的朋友一定会说:“小菜一碟”

    没错,这是一盘小菜,不过有好多碟,好多种思路,挺有趣的一道数学题。

    作者收集几位同学的思路与大家一同分享,同时希望能拓宽同学们的思路,欢迎大家分享你们的想法!

    在此之前,我们先弄清楚Divide Surface这个运算器(就这个:

    注意我们输入的UV值,反应的是对面“分成多少块”,与UV方向上的点数是X+1的关系

    好啦,感受一下就是啦~自己试试就知道啦~~

    思路一:递减

    1,我们来观察一下当UV数值相差1及相等时的数据特点:

    且不要管这一连串的算法,我们将面按U=5,V=4分割好,并把获取到的点反转一下再压扁(反转与否由你决定),得到这么面上这么一组数据

    2,我们可以发现从0端开始的对角位置开始,往左右两个方向前进,这些连线的连接点数是在递减的,

    3,在这个思路下,我们可以将左右两边筛选出来进行各自单独的连线:

    (Divide Surface输入端的UV是分别附加了X-1,Series星端中除了左下角两个是X-1,外其余星端都是X+1)

    都怪小编截图没作好—_—!大家实际操作一下,其实就懂了~

    4,我们可以看到Polyline这个运算器是橙色的,说明有问题,问题很简单就是有一些组里只有一个点,运算后是nuLL空集。

    与此同时,这种思路是有局限性的,当UV不相等且相差大于1时,会出现错误(图中白色箭头处,出现了两条连接点相同的线),

    递减的思路在这里就不可以实现了,随着UV间距离拉大,这种相同连接点的线将随之增加

    5,也就是这种算法是有局限性的,但是算法并无好坏,每一种思路都有其存在的合理性,或许在另外一个算法中起到关键作用

    思路二:偏移

    1,大家是不是觉得上面的案例有点像广州塔,我们就试试看呗

    2,同样是看数据,不看算法。好吧,相信大家看出端倪了,我们想作的偏移实际与广州塔的偏移是有差别的,这里的偏移是01010……(会懂的),广州塔的偏移是11111且并不舍弃数据的,我们作了舍弃数据的作法在后面连线时就不能按广州塔的作法,舍弃数据对数据结构的破坏对我们接下来进行操作带来不少的麻烦,但是我们从这里也可以看出封闭面与开放面在数据处理的那细微又巨大的不同

    思路三:单纯的点对点连接

    1,一个本来看起来简答的东西被我们这么一折腾好像又变复杂了,然而简单往往是一个算法制胜的关键。那么,我们就先静下心来,观察一下

    这当中的数据特点。我们以单纯的“点对点”连接思路看,我们需要作的仅仅是将点筛选成两组,然后点对点连线

    2,筛选出这么两组点

    3,最后,连线。没错结束啦(星号都是X+1)

    4,这是针对开放面,斜向连线,较佳的算法,回归到数据本身,同时纯粹的找点连线的思路清晰明朗

  • grasshopper中替换指定的数据

    grasshopper中替换指定的数据

    如何使用grasshopper替换指定的数据

    算法如上图所示

    这里要使用到Replace  Menbers运算器

    S端口输入需要查询的数据列表

    F端口输入要替换的数据

    R端口输入最终的数据

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

  • 使用series间隔筛选相邻数据

    使用series间隔筛选相邻数据

    grasshopper使用series间隔筛选相邻数据,算法很简单就是用series算法算出相邻数字,再用ListItem筛选数据。

    上图中42数据是筛选物体的数量,除以3目的得到以后分组的数量,3连入N端口是让这个series运算器输出的数据为0,3,6,9,12,……,紧接着的Series运算器公差为1,开始数据是0,3,6,9,12,……,所以这个运算器输出的数据如下图所示

  • 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教学