标签: grasshopper笔记

  • Grasshopper的数据列表工具与传统编程【翻译】

    Grasshopper的数据列表工具与传统编程【翻译】

    列表编辑

    与编程环境相反,Grasshopper使用没有对象名称来定义对象,这在传统编程中会感到些许奇怪,但它是与传统的编程思维最根本的区别之一。在Grasshopper中,元素被放置在列表中。不同的数据列表在数据树结构中组织,其中分支的每个分支和数据内容具有索引号(index)。因此,在传统编程环境中访问对象是更成问题的,而Grasshopper有各种各样的工具来解决这个问题。这些工具支持编辑和选择列表的内容。这些技术的知识对于Grasshopper的有效利用是必不可少的。这些技能将在Wiki中得到解释。为了保持示例简单,使用带有数字的面板。这些数字可以代表很多不同的东西。例如:点、曲线或表面。

    列表项

    单输出列表项

    具有多个输出的列表项

    与减法结合使用的列表项

    列表项从列表中选择项或多个项。注意输入列表中的索引(值前面的数字)。指数从0开始,而不是在1。

    列表长度

    List length1.jpg

    列表长度组件返回列表中的项目数。在第二示例中,使用列表长度来获取列表中的最后一个项目,而不考虑值的数目。这使得这个定义参数化。请注意,您需要从列表长度减去1,因为索引从0开始!

    反向列表

    Reverse List1.jpg

    反向列表的目的是显而易见的。此组件还可用于通过反转列表并获得第一项(索引0)来获取列表的最后一项。

    偏移列表

    Shift List1.jpg

    Shift列表通过移位值移动列表中的项。一个肯定的(s)将项目在列表中移动,一个否定(s)向下移动。环绕(W)防止物品通过移动到另一端而从列表中“掉下来”。

    重排列表

    Sorting List1.jpg

    排序列表和子列表

    排序列表组件可以是一个非常强大的组件。它的默认功能是对列表(k)进行排序。除了输入之外,还有可能附加更多的列表(A,B,Enz)。这些列表将按照与第一个列表相同的顺序排序。次要列表的内容不必像第一个列表(k)那样是可排序的。第二个列表可以是几何、文本等。

    分割列表

    Split List1.jpg

    分割列表将列表拆分为两个单独的列表。第二个列表从索引(i)开始。

    子列表

    Sub List1.jpg

    使用子列表,您可以使用域选择列表的一部分。指定域之外的元素将从输出中删除。

    分组列表

    Partition List1.jpg

    分区列表是“拆分列表”和“子列表”组件的组合。输入(s)根据每个列表所包含的项的数量来设置拆分模式。这个模式将被重复,直到所有的项目被放置。
    [elementor-template id=”7418″]

  • Grasshopper三角形玻璃幕墙三角面分割

    Grasshopper三角形玻璃幕墙三角面分割

    image.png

    算法如上图所示

    具体的算法逻辑我后面再写个文章解释一下,大家对这个算法有什么不太明白的在我的博客文章下面留言,用微信登陆就可以了,这样我回复留言的时候能在微信上看到我的留言信息

    以下是算法的效果图

    Grasshopper算法

    关键字:Grasshopper教程、Grasshopper算法、玻璃幕墙草蜢算法

  • grasshopper中让你意想不到的取整数方法

    grasshopper中让你意想不到的取整数方法

    在grasshopper中想要割舍方法取得整数位是比较麻烦的,以前我是看过某些论坛用计算公式的方法取得数值的整数位,但是那些都太麻烦也太难以理解了。

    今天我给大家带来一种最最最简单的方式就能获得数字的整数位。

    算法大家就看看上面的算法就可以了。

    基本上的思路也很简单的

    大家可以看看我下面列举这条方程式:

    设定区整数位的数字为X,

    X+0.5=Y。

    Grasshopper思维:X加上0.5,X后面的小数位会发生变化,比如X=2.34,加上0.5后是Y=2.84

    Y再四舍五入取整

    Y=2.84,根据Grasshopper默认的取整规则是四舍五入的,那Y四舍五入后Y=3

    Y-1=Z,Z就是我们要的整数值了。

    Y=3,Y再减去1,就可以得到最终的整数位2了。

    那我们再那几个数字代入X

    比如4.57

    4.57+0,5=5.07

    四舍五入等于5

    5-1=4获得小数点前面的整数。

    Grasshopper算法.png

    关键字:Grasshopper教程,Grasshopper算法

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

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

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

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

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

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

    blob.png

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

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

    blob.png

    关键字: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翻转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空间上随机生成不同方向的圆圈或平面

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

    算法如上图所示

    算法详解

    创建一个点,在点上创建一个中心点盒子(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顺序决定了混合后新列表的数字排序。算法如上图