标签: grasshopper

  • 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
    曲线拉直,偏移曲线,放样和挤出实体
    完整的算法图
    各位同学对上面算法如果什么不明白可以在下方留言窗口留言,我会解答各位同学的疑问的
  • 教你怎么在Grasshopper上用算法做出螺旋楼梯

    教你怎么在Grasshopper上用算法做出螺旋楼梯

    教你怎么在把手和管中绘制旋转楼梯

    我们在上图中可以看到这是一个非常酷炫的楼梯。那么他是怎么做到的呢?那我们来看一下我这下面演示了一个算法。我们可以看到这个算法里面分了四个区域。

    首先第一个区域是螺旋线生成面之后,把曲面生成等分点。

    第二个区域筛选出楼梯踏步每个区域的点。这里用到的主要的方法就用等差数列来获取点的编号,通过编号来选择点。

    第三个区域,把选择到的点了生成一个曲面。把点做等差数列的变化,我们就生成了楼梯的踏步了。

    最后用放样来生成楼梯的实体。

    Grasshopper楼梯
    各位同学对上面算法如果什么不明白可以在下方留言窗口留言,我会解答各位同学的疑问的
  • grasshopper的Genome(galapagos)运算器的使用方法

    grasshopper的Genome(galapagos)运算器的使用方法

    很多人对于grasshopper的Genome(galapagos)运算器不是很了解的,今天就我个人对于这个运算器的浅薄认识发表一些简单的科普性见解。

    galapagos 运算器的作用: galapagos 限定数据内穷举法来获取最优解,比如本次列举的案例。

    image.png

    其要求是:

    • 三个矩形要组合成设计的建筑平面
    • 设计要求是面积最小化
    • 边数最少化

    以上是建筑设计的三个要求,第一个和第三个要求人手就能做得到,但是第二个要求就未必能快速的得到结果的,因为面积大小没办法直观的通过视觉观察到,因此就必须借助计算机的自主计算。

    galapagos 运算器 的使用方法

    galapagos 运算器只有两个端口,输入端口(左边的)只能连接Number Slider,按Shift键可以连接多个Slider;输出端(下端口)也只能连接Slider,而且只能连接一个Slider。

    image.png

    双击 galapagos 运算器 ,进入设定面板可以设定相关参数和运行 galapagos 运算器 进行计算。

    image.png

    案例算法

    image.png
    • 输入参数控制三个点的坐标位置
    • 中间绿色区块算法计算出建筑的平面图
    • 末端数值是Galapagos计算出的最优解,这个数据再回流反推到输入参数里。

  • 塞尔达传说梦见岛Link醒来小屋的栅栏-Grasshopper参数画法

    塞尔达传说梦见岛Link醒来小屋的栅栏-Grasshopper参数画法

    《塞尔达传说:梦见岛》是塞尔达粉丝们最喜爱的游戏之一,在过去了25年以后,这款游戏终于以崭新的形态再次归来!游戏的画面经过了完全的重制。《塞尔达传说:梦见岛》的故事是在由“风之鱼”守护的梦见岛展开的,林克被困在了梦见岛,而玩家需要操控林克,在旅途中与怪兽战斗,解决谜题并找到八件乐器,唤醒风之鱼,最后离开梦见岛。

    但是呢我们今天主题不是来谈论梦见岛的游戏的。

    我们是要来说说Link醒来后这小屋的围栏的做法的

    这个围栏的特点呢,大家

    这个围栏的特点呢,大家仔细瞧瞧啊,是不是有点建筑参数化的特点啊。

    它看上去整整齐齐,实际上七扭八歪的吧

    没错,七扭八歪的排列就意味着要随机,随机就得参数化

    那么这个Grasshopper参数化怎么实现呢?

    1. 创建等分的点,用来固定栏杆低部的
    2. 创建顶部栏杆的点,就是向上Move拉
    3. 关键步骤:随机顶部点的位置
    4. 改编不是乱编,随机当然也不是胡乱随机了,点的随机必须控制在一个范围内。
    5. 我的做法是:在顶部点上画圆,当然圆的大小也是随机的,然后在圆上再找一个随机点,那么这些点就随机了,也控制在一定范围内了
    6. 完成随机点后画栏杆顶部圆
    7. 上下圆Loft运算
    8. 完成

    好了,这个栅栏的教程就到这里,送个算法贴图,下次再出个草的Grasshopper算法,喜欢大家喜欢啊,拜拜

    各位同学对上面算法如果什么不明白可以在下方留言窗口留言,我会解答各位同学的疑问的
  • 三角形阵列的Grasshopper渐变式缩放算法

    三角形阵列的Grasshopper渐变式缩放算法

    2019-08-15 11 05 06 (2).jpg

    本次实例和前一篇的算法类似,同为分组数据渐变式变化,变化的方式改为缩放效果.

    上一篇文章的详细内容可以点击这个链接:Grasshopper渐变删除物体表皮

    注意要点:缩放值在Grasshopper中不能为1或者0,否则缩放运算器会变红色报错。

    2019-08-15 11 05 06 (3).jpg

    D端口数据为:0.1 to 0.95

    N端口的星号符号:

    Range 产生的数据比原来的矩阵多1

    这个符号里填写公式:“x-1”,让输出的数据减1

    R端口的两个符号的意义:

    Reverse:改变输出数列的方向,默认是有小到大排列的

    向上箭头(Graft):GraftTree的分组数据

  • Grasshopper渐变删除物体表皮

    Grasshopper渐变删除物体表皮

    参数化图案描述:

    1. 三角形矩阵
    2. 渐变式的数量删除

    算法分析:

        ​要渐变式的删除三角形矩阵,首先我们要对矩阵的物件进行分组,接着用一个渐进数列,比如Series或Range数列对删除的数量进行控制。

    详细算法讲解:

    1. 创建三角形矩阵
    2. 矩阵翻转:本案例的删减变化是从下至上的,所以要把矩阵方向做相应的调整
    3. 总计出矩阵分组数量
    4. Reduce随机删除物件,R端口是输入的是删除的个数,这里输入数据结构必须是分组数据的,因为L端口输入的物件也是分组的。
    5. Reduce运算器的S端口是改变物件的随机数,意思是只要改变输入S端口的数据,就会改变随机删除的样式

    调节组的数量值可以改变删除的数量

    各位同学对上面算法如果什么不明白可以在下方留言窗口留言,我会解答各位同学的疑问的


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

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

    image.png

    算法如上图所示

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

    以下是算法的效果图

    Grasshopper算法

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