分类: grasshopper

专业解析grasshopper技术

  • 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系列文章-一些小工具01

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

    今天我们来学习Grasshopper的Params的最后一个菜单Util,这个菜单里面被归类于小工具了,顾名思义就是它们都不太好分类,都是一些杂项的工具

    image.png

    我们来看看上图的这四个小工具。

    Cherry Picker:樱桃拾取器,它跟樱桃没什么关系,其作用就是用获取“数据列表”中“Item”。其中数据列表在Grasshopper是非常重要的概念了,现在不理解也没有关系,简单地理解为Panel里显示的数据就行了。而Item就是数据列表里面的数据个体。下图同学们试着改变Cherry Picker 的Index数据看看,看它输出的数据是什么。

    image.png

    Jump:节点跳转,双击其中一个节点可以瞬间传送到另一个节点,如果算法的版面过大,可以用这个小工具达到快速跳转。

    Param Viewer:用来查看数据的数据结构的,数据结构的概念现在也不好说,我们后面的Grasshopper课程再详细讲。

    下图的运算器中”Data with 1 branches”s意思是这个数据列表只有一个分支,{0;0}是数据路径,N=10是说明这个数据列表有10个Item

    image.png

    Scribble:手写体的文字注解。按住Ctrl键拖动字体还可以摆动字体的方向,有点趣味性。

    image.png

    [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″]

  • grasshopper系列文章-认识基础数据类型

    grasshopper系列文章-认识基础数据类型

    这个列表都是关于基础的参数类型(没有具体形状的数据,比如整数),大家也是要花一些时间来记忆这些参数类型

    image.png

    Boolean:布尔值

    布尔值表示:yes或者no两种状态,比如判断点是不是在线内,曲线是否闭合等情况

    Integer:整数,让输入的数据输出为整数,如下图的grasshopper算法

    image.png

    Number:浮点数,俗称小数

    Text:文本数据

    image.png

    Colour:颜色值,输出RGB三个颜色值

    image.png

    Complex:复合数,一般输出数值区间,如下图的算法

    Culture:

    Domain:数据区间

    Domain²:曲面的数据区间

    Guid:获取物体的ID号

    Matrix:矩阵数据,获取矩阵数据

    Time:获取时间数据

    image.png

    Data:数据

    包含所有的数据类型,不管是点、线、数字、布尔值等等都可以输入到这个运算器中,例子如下图所示

    image.png

    Data Path:数据路径

    数据路径是Grasshopper里非常非常重要的概念,在后面课程会详细的介绍到,这里就简单认识下数据路径的位置是在哪里。

    下图中箭头所指的字符就是数据路径

    {0}表示下面的数据都在0这个路径下

    {0;0;1}表示1这个数据在{0;0;1}这个路径下

    image.png

    File Path:获取文件路径

    作用是获取一些外部文诸如犀牛文件或者一些表格文件。

    Shader:着色器

    获取材质数据

    [elementor-template id=”7418″]

  • grasshopper系列文章-Geometry(基本几何体)

    grasshopper系列文章-Geometry(基本几何体)

    本节课是对最最基础的Grasshopper的数据类型的简单介绍,每个学习Grasshopper的同学都要仔细的认清楚这些数据类型,为后面的学习Grasshopper打下基础,本节课也并不难,就是花点时间记下以下的专有名称。

    image.png

    Point :点数据,右键菜单中“Set one Point”和“Set multiple Points”可以获取犀牛中的一个点或者多个点,如果犀牛界面中没有创建点,使用“Set one Point”和“Set multiple Points”也能自动创建点。

    Vector:向量

    image.png

    创建基础曲线类型

    Circle:创建圆形曲线

    Circular Arc:创建弧形

    Curve:获取Rhino中的曲线

    通过右键菜单的“Set one Curve”或者“Set multiple curves”来获取一条或多条曲线,这个Grasshopper中最常用的命令。

    Line:绘制一段直线

    Plane:指定一个平面

    Rectangle:矩形

    image.png

    Box:创建方块

    Brep:拾取犀牛中的几何体

    对于拾取的几何体包含曲面或者多重曲面

    Mesh:获取犀牛的网格曲面

    Mesh Face:网格曲面中的面

    Surface:获取犀牛中的曲面

    Twisted Box:变形盒子

    在Grasshopper中被“自由变换”过的模型称之为“变形后的盒子”,这个类型我们在以后的课程会讲述到。

    image.png

    Field:场

    Grasshopper的力场类型,力场简单的说就是由多个向量组合集合体,就是类似下面这个玩意

    image.png

    Geometry:几何体,包括线、曲面、方块、圆球等的总成,通过右键菜单可以获取犀牛中的几何体

    Geometry Cache:几何体缓存,获取犀牛的文件中的模型

    Geometry Pipeline:获取犀牛的几何体图形

    这个运算器中可以设定过滤器来获取图形,不需要人手指定模型文件

    Group:群组文件

    Transform:自由变换的信息

    所谓自由变换是指:对模型进行一些移动、缩放、旋转、扭曲等操作,而这个运算器就是记录这些变换信息

    [elementor-template id=”7418″]

  • Grasshopper系列文章-01-前言

    Grasshopper系列文章-01-前言

    前言:

    这个课程目的是系统地整理Grasshopper的一些学习资料,最终能够方便提供给正在学习Grasshopper的同学们。

    本篇文章是这个系列课题的开端,简略的介绍Grasshopper大类运算器菜单的作用,而往后几期文章中都会围绕这些运算器的功能作一些概述,希望能给于正在学习Grasshopper的同学们一些帮助。


    Params:原始物件

    这个列表包含了所有的Grasshopper中可以操作的物件类型或者参数类型

    比如点、线、面、体块等

    也包含了一些原始数据类型,比如整数、小数、布尔值

    还有一些小工具,比如最为常用的数字滑竿、函数曲线等等

    我们要学会控制Grasshopper为我们的建筑设计所用,那么我们第一件事就是认识Params菜单中包含的大多数内容。

    Maths:数学运算

    这个菜单所有运算器都是与数学有关内容

    比如区间、矩阵、数学运算符(加减乘除符号那些)、开平方、三角函数,甚至是数学公式和VB代码等等

    数学是一切学科的基础,我们要用Grasshopper创造出无尽变化的建筑,用好这些数学运算器是非常有必要的。

    Sets:列表运算

    列表运算是Grasshopper数据排列组合的核心运算器。

    数据的排列组合也是建筑参数化设计的核心方法之一

    基于菜单的重要性,我们再后面的课程会作为重点来讲解

    Vector:向量

    这个菜单的运算器主要用于创建坐标平面、空间点和向量

    而坐标平面、空间点和向量就是用于建筑点位作用的,是创建线、面、体块的基础。

    换句话说,在Grasshopper我们一般不直接画线和面,而是在编辑各种点的坐标

    Curve:曲线

    这类运算器和犀牛的曲线、画线工具非常类似

    主要是计算线上的点、点生成曲线、曲线的编辑与控制等等操作。

    常用的有计算端点、中点、等分点、偏移曲线等

    Surface:曲面

    这类运算器和犀牛的曲面、生成曲面工具非常类似

    主要用于计算曲面的面积、生成曲面,绘制体块等操作

    Mesh:网格曲面

    严格意义上说应该叫网格面,而不是曲面,网格面是有别犀牛曲面的一种建模方式。

    这种建模方式是用于补偿犀牛在建模方面的某一种短板,犀牛对于区域单面的控制力是非常弱的,这种建模方式刚好可以补充这个方面空缺。

    后面课程可能不会深入的了解这块内容,但是会举代表性案例来阐述网格面在建模上的作用及优势。

    Intersect:相交

    这个列表的运算器都用于计算物体之间的相交关系的。

    其功能远远超过犀牛自身的命令

    常用的工具有:线与线的相交点,面面相交点,线面相交点,曲线布尔运算等

    Transform:变换

    变换操作是我们平时学习3d建模软件最先接触的一类操作了,我们不管学习哪类软件都要首先认识到怎么去移动物体,旋转物体,镜像物体,刚好Transform就是这类运算器。

    Display:显示

    主要给模型附上材质和标记点的编号、向量的方向大小

    [elementor-template id=”7418″]

  • 伊森伯格管理学院商业创新中心 / BIG |Grasshopper建模算法思路

    伊森伯格管理学院商业创新中心 / BIG |Grasshopper建模算法思路

    • 项目负责人Yu Inamoto, Pauline Lavie-Luong, Hung Kai Liao
    • 项目团队Alice Cladet, Amina Blacksher, Barbara Stallone, Cheyenne Vandevoorde, Daniel Kidd, Davide Maggio, Deborah Campbell, Denys Kozak, Derek Wong, Domenic Schmid, Douglass Alligood, Elena Bresciani, Emily Mohr, Fabian Lorenz, Francesca Portesine, Ibrahim Salman, Jan Leenknegt, Justyna Mydlak, Kai-Uwe Bergmann, Ku Hun Chung, Linda Halim, Lucas Hong, Manon Otto, Maria Eugenia Dominguez, Mustafa Khan, Nicolas Gustin, Pei Pei Yang, Peter Lee, Seoyoung Shin, Simon Lee, Terrence Chew, Tianqi Zhang, Yixin Li BIG Ideas: Tore Banke, Yehezkiel Wiliardy, Kristoffer Negendahl
    • 合作者Richmond So Engineers, BIG IDEAS, Arup, Nitsch, VAV, Towers Golde, Haley & Aldrich, Acentech, HLB, SGH, PEER, WIL-SPEC, VGA, Lerch Bates, LN Consulting, Mohar Designs
    • 客户University of Massachusetts Building Authority
    • 厂家National Enclosure Company, Alucoil, Viracon
    © Max Touhey

    该项目由比亚克英格尔斯建筑事务所(BIG)和 Goody Clancy 公司共同设计,是位于艾摩斯特市马萨诸塞大学中心的一座用铜板包裹着的商业创新中心建筑,该建筑为这所美国排名前30的公立商学院增加了7万平方英尺的超级协作与社交空间。

    © Laurian Ghinitoiu
    致谢 BIG

    收藏这幅画!© Laurian Ghinitoiu

    艾森伯格管理学院(Isenberg School of Management)在经过了新的扩建和部分翻新工程后,该校在过去10年里校园空间几乎扩大了一倍,这既满足了该校的发展规划,同时也为150多名教职员工和5000多名本科生、硕士和博士项目的学生引入了新的设施。BIG 建筑事务所和 Goody Clancy 公司于2015年受校方委托要求设计一个灵活的空间,以促进该校每个学生能够激发出灵感并进行相互间合作。

    © Max Touhey

    入口处是一个由多米诺骨牌造型的结构形成了一个引人注目的三角形玻璃入口,学校大门附近的海吉斯购物中心位于一个显眼的位置,仿佛在欢迎学生的到来。建筑的外墙包裹着垂直的直柱,并逐渐向下倾斜,创造出了一个没有任何弯曲元素的独特外观。商业创新中心直接将学校建于1964年的建筑从北侧和东侧扩展成一个宽阔的环形,并与上层相连,以保持连通性。这条环路将艾森伯格管理学院的教职员工都集中在一个屋檐下,为整个艾森伯格管理学院创造出了一个独特的目的地和一个强大的视觉形象。

    © Max Touhey

    这座商业创新中心建筑的外墙覆盖着一层铜材料,而铜元素长期暴露在自然环境下,颜色会从暗色赭色变成持久的古铜色。考虑到它的长寿命和具有可持续性发展条件,该建筑还获得了 LEED银奖认证。学生和教师进到里面,就来到了拥有5000平方英尺的共享学习空间。

    © Laurian Ghinitoiu

    日光从手风琴般的柱子之间照射进来,照亮了多层中庭,这里是商学院的核心区域,学生们在这里学习、交流和用餐。明亮和宽敞的学习场地还可以兼作活动场所,可以举办演讲,颁奖典礼,宴会,和博览会等活动。自然光线可以从校园和内庭院照进每一间房间和走廊里。

    © Laurian Ghinitoiu

    在整个商业创新中心的空间设计中,考虑了学生的互动、团队合作和偶遇等行为:走廊上设计了软座椅,大楼梯上有长凳,教室里的椅子可以灵活方便的用作各种讲座或是小组活动。在二楼和三楼,是创新实验室,咨询空间和教师办公室。

    © Laurian Ghinitoiu

    为了支持每一个艾森伯格管理学院学生的职业发展,教室还配备了远程教学的集成技术。此外,“职业捕获中心” 还增加了15个新的面试室,各种会议室和休息区分布在整个环形体量中。扩建后的内部空间面对一个圆形庭院,露天花园和石凳为合作和沉思创建了一片绿洲。

    © Laurian Ghinitoiu

    庭院通过学校原有的建筑和商业创新中心之间的两条通道连接回校园。建筑被道路上方的两座桥融合在一起:用铜装饰的大桥成为通往庭院的入口,而玻璃釉面小桥为内部庭院带来了视觉连续性。

    夜晚,商业创新中心会焕发出生命的光彩 —— 就像校园里的一盏明灯,给来到校园的游客、教职员工和学生都留下了持久的印象。

    ---------------------分割线------------------------

    好了,建筑欣赏完了,我们再来学习这个漂亮建筑是怎么用Grasshopper计算出来的吧。

    Grasshopper算法思路:

    1. 获取建筑底边的等分点
    2. 等分点所在平面和建筑外墙曲面做相交运算
    3. 筛选出有用的相交线(重点难点)
    4. 相交线转化为直线段
    5. 偏移直线段,放样,拉伸成体块
    6. 完成

    上述思路中第三点比较关键了,算法如下图所示。

    筛选曲线的原理:平面和曲面相交会可能会产生两条相交线,且线的排序都是随机的,但是我们可以确定是有用的一定是离平面点最近的。

    image.png
    第三点筛选曲线的算法
    image.png
    曲线拉直,偏移曲线,放样和挤出实体
    完整的算法图