标签: grasshopper

  • grasshopper系列文章-数学运算器-幂运算

    grasshopper系列文章-数学运算器-幂运算

    今天介绍Grasshopper运算器是关于和幂运算相关的内容,大家了解下就好了。

    image.png

    Cube:求立方

    Cube Root:求立方根

    Square:求平方

    Square Root:求平方根

    image.png

    One Over X:求倒数(x的-1次方)

    Power of 10 :求10的N次方

    Power of 2:求2的N次方

    Power of E :求常数E的N次方

    image.png

    Log N:求对数

    Logarithm:求以10为底的对数

    Natural Logarithm:计算一个值的自然对数。

    [elementor-template id=”7418″]

  • grasshopper系列文章-判断运算器-与或非门

    grasshopper系列文章-判断运算器-与或非门

    我们今天来学习怎么使用Grasshopper的判断运算器,这个Grasshopper中判断的结果只会出现Ture和False,通过使用判断运算器我们可以筛选关于长度、面积、边数量等。

    image.png

    这四个运算器都是判断数字是否等于、约等于、大于或者小于指定数值的

    大家看下面这个例子:5和2比较,5大于2,那结果输出True;3不等于2,结果输出False

    image.png

    那这个判断究竟有什么用呢?为了解答这个问题,Link给大家带来怎么的一个小算法,如果这个算法里面有些运算器不那么理解也没有关系的,大家就仿照我的做法去慢慢理解下吧,如果有什么问题的话,也可以在我的网站下方给我留言的。

    通过下面这样一个算法,我们就能从大量的图形中找到我们想要的模型了

    image.png

    image.png

    与或非门:或非门(英语:NOR gate)是数字逻辑电路中的基本元件,实现逻辑或非功能

    Gare And:与,两个都等于Ture,则输出Ture,否则输出False。

    Gate Or:或,两个子项目中其中一个等于Ture,则输出Ture,两个False则输出False

    Gate Not:非,如果输入True,输出端就反过来输出False

    其他的我不在赘述了,平时用得不多,而且在学习的前期阶段我们大可以不必在意这部分相对抽象的内容

    [elementor-template id=”7418″]

  • grasshopper系列文章-数学运算器

    grasshopper系列文章-数学运算器

    今天我们来学习一下Grasshopper的运算符,所谓运算符就是数学的基础运算法则了,简单说就是加减乘除这类算法。

    image.png

    Addition:加法运算器

    Division:除法运算器

    Multiplication:乘法运算器

    Negative:相反数,能把整数边负数,负数变正数

    Power:幂运算器,比如计算2的5次

    Subtraction:减法运算器

    上面这6个运算器都是我们中小学就已经学过了的,应该非常简单的,Link就给大家提供一个小算法来熟悉下数学运算

    330÷6.5-68×45+52=?,结果的相反数是几?

    上面这道题目用Grasshopper来表达应该是这样的

    image.png

    加减乘除运算器的菜单,在一般情况每一个运算器只有一个AB端口,但是如果放大好几倍,你会发现…….

    image.png

    下面我们看看Grasshopper的更加高级的运算器

    image.png

    Absolute:求绝对值

    Factorial:阶乘

    Integer Division:整除数,比如7除以2,整除数为3,9除以4,整除数是2.

    Modulus:求余数,比如7除以2,余数为1

    image.png

    Mass Addition:多项累加,比如计算1+2+3+4+……+60的和

    Mass Multiplication:多项阶乘,R值输出所有项阶乘最大值,Pr值输出多项阶乘结果,如下图多项是指1的阶乘,1 2阶乘,1 2 3 的阶乘,1 2 3 4 的阶乘直到所有项的阶乘

    image.png

    Relative Differences:相邻项差值

    下图所示,第一项和前面没有差值所以结果等于0,从第二项开始与之前一项差值都为1

    image.png

    [elementor-template id=”7418″]

  • grasshopper系列文章-曲面区间(domain)

    grasshopper系列文章-曲面区间(domain)

    今天我们来讲解Grasshopper的曲面区间的用法,关于曲面区间用官方的解释来说是这样的:

    • 包含二维域的集合。 2D域通常用于表示表面碎片。 二维域由两个一维域组成。
    • 2D域可以从1D域实例化自己。 一维域将同时复制到U和V组件中。
    • 2D域可以从所有表面类型实例化自己。 在这些情况下,表面域是重复的

    上面这段文字是不是很难理解啊,下面我会通过一些简单的小案例尽量的帮助大家来了解下这个Grasshopper的运算器。

    undefined

    Construct Domain2:建立曲面的区间,这个工具有两个,作用都是一样的。

    undefined

    在上图中,拉动数字滑竿调整改变创建的曲面区间,曲面区间输入ISOTrim运算器(这个运算器用于切割曲面的),切割的曲面也跟随改变。

    Deconstrust Domain2:分解曲面区间,能得到曲面UV值的最大值和最小值

    undefined

    Bounds 2D:通过平面上的点集合生成曲面区间,算法如下图所示。

    img

    Divide Domain :等分曲面区间,把区间分为平均的等分,比如下面的算法,大家可以下面的这个算法套用到上面Isotrim那个算法去看看会发生什么奇妙的事情。

    img

    [elementor-template id=”7418″]

  • grasshopper系列文章-数字区间

    grasshopper系列文章-数字区间

    从这一节课开始后我们要开学习Grasshopper的数学了,Grasshopper给我们提供各式各样的数学工具,有了数学工具这个强大的武器,即使是数学不好的同学也能够利用数学设计建筑。

    image.png

    在数学里,区间通常是指这样的一类实数集合:如果x和y是两个在集合里的数,那么,任何x和y之间的数也属于该集合。例如,由符合0 ≤ x ≤ 1的实数所构成的集合,便是一个区间,它包含了0、1,还有0和1之间的全体实数。

    Construct Domain:创建数字区间,比如创建一个10到20的数字区间

    image.png

    Deconstruct Domain:分解区间,分解区间后将会得到区间的两个极值,就是最大值最小值。

    image.png

    image.png

    Bounds:从数据列表中获取最大值和最小值,然后输出数字区间。

    image.png

    Consecutive Domains:划分区间,划分的方法有两种,默认情况下是这样划分的,请看下图

    image.png

    这个运算器的N输入一个等差数列(当然不是等差数列也可以的,等差数列是比较常见的用法),D端口输出划分后的区间集合

    这个区间集合的规律是等差数列的0项和1项组成区间1,1项和3项组成区间2,3项和6项组成区间3,……以此类推。

    开始项 结束项 输出区间
    0 1 组成 区间1
    1 3 组成 区间2
    3 6 组成 区间3
    6 10 组成 区间4
    10 15 组成 区间5

    如果A端口输入FALSE

    输出的区间则为下图所示:它会以输入列表的最大值作为结束端,输出等分的区间集合

    image.png

    Divide Domain:等分区间,按照输入的等分数等分大区间,输出等分后的区间集合,下图是[5,8]的区间划分了6等分

    image.png

    Find Domain:查询区间的序号,根据输入的数据就能查询包含这个数据的区间的序号,所谓序号(Index)就是Panel上最左边一列从0开始的编号

    下图中输入的值为6.350,经过查询找出它属于编号为2的这个区间(6 to 6.5)

    image.png

    Includes:判断数值是否包含在指定的区间内,如果是输出True,如果不是则输出False。

    下图中判断2和6.350这两个数是否在[5,8]这个区间,结果是False和Ture。

    image.png

    Remap Numbers:重映射区间,这个运算器在Grasshopper应用当中是很重要的,其作用就是改变原有区间的取值范围,比如[5,666]的区间的所有数字可以映射为[0,1]或其他的取值范围。

    如下图输入的值是0 1 2 3 4 5 6 7 8 9这样的等差数列数字集合,经过Remap后输出的结果被限定在0到1之间,Remap 的T端口就是输入限定的区间大小,默认值为0 to 1

    image.png

    [elementor-template id=”7418″]

  • grasshopper系列文章-一些小工具02

    grasshopper系列文章-一些小工具02

    好的,还是按照惯例来一篇Grasshopper的基础文章,今天的教程是Params最后一篇了,还是一些杂七杂八的小工具,大部分都不怎么使用的,大家只要简单认识下就好了,不过像Galapagos这种大牛才用的运算器我们都以后的课程再慢慢讲。

    image.png

    Data Dam:额…这个运算器不知道怎么解释了,就是给它输入什么类型数据,那它就输出什么数据, ̄ω ̄=,貌似没什么用。

    Data Recorder:数据录制器,在做动画时是有用了,以后有机会做用Grasshopper做动画的话我们再来演示一下吧。

    Relay:数据转接器,平时只要在Grasshopper的连接线上双击就会长这玩意,左键可以任意拖动其位置,右键可以起名字,如下图所示

    image.png

    Suirify:这个是新版本增加的,本人没有用过,这里不做解释了。

    Timer:定时器,作为动画的时间间隔,右键可以设定一些常用的时间间隔。想要了解其作用可以看看我以前写过的文章,点击下面的链接

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

    Cluster Input 和Cluster Output:封装Grasshopper算法用的输入端口和输出端口,关于封装也留到以后再讲吧

    Data Input 和Data Output:输入和输出Grasshopper的数据

    Fitness Landscpape:食用方法不明( ̄. ̄)

    Galapagos:大名鼎鼎的遗传算法运算器,大家就看着文章吧,这个也是我早前写过的一个小例子,grasshopper的Genome(galapagos)运算器的使用方法

    Gene Pool:数据池,就是一堆数据的集合,有点像Number Slider

    [elementor-template id=”7418″]

  • grasshopper系列文章-文件导入器

    grasshopper系列文章-文件导入器

    image.png

    今天我们来认识下Grasshopper的一些导入器,这些导入器顾名思义就是导入各种类别的文件了

    Atom Data:这个输出PDB文件的参数,这种文件类型大家可以到这个网站去下载到,www.rcsb.org,该文件类型我本人也不了解的,有兴趣的同学自己去了解一下的。

    Import 3DM:导入犀牛的文件

    Import Coordinates :通过文本导入点的坐标,通常做建筑地形需要用到点的高程和绝对坐标。

    Import Image:导入图片文件

    Import PDB:导入PDB文件,这种文件类型大家可以到这个网站去下载到,www.rcsb.org,该文件类型大概意思是一些和蛋白质相关的点云文件,有兴趣的同学自己去了解一下的。

    Import SHP:导入GIS文件

    Object Details:输出物件的细节参数,比如文件的名字,图层名称等有用信息,如下图Layer输出了从犀牛获取的模型的图层名称

    image.png

    Read File:读取外部的文件

    [elementor-template id=”7418″]

  • grasshopper系列文章-图像采样颜色获取工具

    grasshopper系列文章-图像采样颜色获取工具

    我们今天来继续Grasshopper的学习,大家看封面图的标记,从1-8的标号分别是以下几个运算器

    image.png

    ①:Calendar,日历小工具,没错就会回回输出日历日期的插件

    ②:Gradient,渐变色,可以根据参数输出渐变的颜色区间,这个具体的作用我在后面的课程再详细讲解

    ③:Clock,时钟,就是输出当前时间,双击表盘还能更新时间

    ④:Colour Wheel,颜色轮盘,转动轮盘可以获取颜色

    ⑤:Colour Swatch,颜色取样器,点击色块获取颜色

    ⑥:Colour Picker,颜色取样器,这个是上一个的直接版本,就是不用点击开关取色,但是占用面积太大,不建议使用

    ⑦:Graph Mapper:这个是我们Grasshopper课程的重点运算器之一,也留在后面的几节课讲,有兴趣的可以先看下我写的这篇文章

    ⑧:Image Sampler:图像采样器,这个也重点运算器之一,作用就是根据输入的图像得到一些与图像颜色相关的数据,从而利用这些数据来生成模型,后面课程用单独例子来讲解这个运算器。

    [elementor-template id=”7418″]

  • grasshopper系列文章-布尔值开关和数值调节工具

    grasshopper系列文章-布尔值开关和数值调节工具

    今天我们接着来学习Grasshopper运算器的基础知识,今天课程的主要内容是关于布尔值开关和数字滑杆的其他样式的,这些运算器使用起来也非常简单。

    image.png

    Boolean Toggle:布尔值开关

    鼠标双击按钮可以切换Ture和False的状态

    image.png

    布尔值只有true和false,就是1和0,开和关,如果布尔值是1就打开某个东西,如果布尔值是0就关闭某个东西,常用在机械控制上,由c语言构成逻辑层,或者说逻辑流。

    在Grasshopper上设计建筑使用布尔值常常用于设定曲线的开启和封闭,判断点是否在曲面上等等情况

    可以用布尔值判断下图所示点的位置是否在曲线上

    image.png

    使用布尔值可以控制下图曲线的开合情况,如果设定为Ture就是闭合,设定为FALSE就是开启

    image.png

    以上的情况是非常常用的,以后我们还遇到不同的情况要使用布尔值运算器。

    Button:按键开关

    这个是布尔值开关的“即时板”,意思就是默认情况下按钮处于False状态,一旦按住按钮就切换为Ture状态,松开鼠标就变为False状态

    下图是关于控制开合曲线的基础算法,同学们可以“照抄”下图的算法,自己亲自尝试看看。

    image.png

    Control Knob:刻度旋钮

    可以理解为能够更为精细调整的数值的Slider Number吧,它在默认情况下能调整的数字范围是0-10之间。

    image.png

    Digit Scroller:数字滚动调节杆

    Slider Number的滚动版

    image.png

    MD Slider:一个不好翻译的Number Slider,它输出的不是一个数字,而是一个三维的点坐标,平时把它用作创建一个可以随意调节位置的点来使用,下图中Panel显示的输出值{0.506098, 0.542683, 0},代表了点的XYZ三个坐标值,Z值等于0,说明这个点是一个平面上的点

    双击面板可以设定XY的取值范围,如下图所示。

    image.png

    Value List:精简版的Number Slider,但是不能滑动了,下拉菜单可以选择数字,双击后可以添加数据,不过添加方法略显麻烦的,一般就是使用默认数值,其默认数值为one tow three four

    image.png

    [elementor-template id=”7418″]

  • grasshopper系列文章-Number和Panel

    grasshopper系列文章-Number和Panel

    今天要讲解的运算器只有两个:NumbeSlider和Panel

    这两个运算器在Grasshopper占有非常重要的地位,但是使用起来是非常简单

    image.png

    Number Slider:数字滑杆

    这个Grasshopper中最常用的运算器之一,通常用于实时调整数据。

    快捷调用方法:双击屏幕输入任意数值回车即可调用

    输入整数3如下图

    image.png

    输入小数3.250,如下图,会得到带小数的滑杆

    image.png

    输入3.250…..30.00,如下图,会得到3.250到30.00滑动的数据区间

    image.png

    双击数字滑杆的头部“Slider”会弹出如下图的Slider设置面板

    image.png

    Rounding:数值的显示类型

    R:浮点数,也就是小数

    N:整数

    E:偶数

    O:奇数

    Number Domain:数值的区间,这里可以数值区间的大小

    Min:区间的最小值

    Max:区间的最大值

    Numeric Value:滑动数字大小

    Panel:信息板

    image.png

    用于显示数据的具体信息的,从Panel我们可以了解数据的类型,大小,空间位置等详细信息,如下图

    image.png

    [elementor-template id=”7418″]