作者: LinkLi

  • grasshopper数据结构的几个基础概念

    grasshopper数据结构的几个基础概念

    在学习Grasshopper的数据结构之前,我们先来了解怎么几个词的意义

    清单(List)、集(Sets)、字符串(String)、树木(Tree)、路径(Patch)

    清单(List):列表是有序(但不一定排序)的数据集合。列表可以包含零个元素,单个元素或(最多) 2,147,483,647个元素。此外,同一元素在同一列表中可能出现不止一次,而具有相同值的不同元素可能会出现不止一次。同样,列表可能缺少元素,称为“空”。

    集(Sets):严格来说,集合是一种数学构造 遵守严格的规则和限制。基本上,一个Set与一个List相同,不同之处在于它不能多次包含同一元素,或者实际上不能包含两个或更多个具有相同值的不同元素。您会发现,在数学中,值和该值的实例之间没有区别,它们是同一回事。但是,在编程中,可以将数字7存储在RAM的多个位置中。但是,Grasshopper不会非常严格地执行此规则,您可以在具有多个相同值的列表上使用很多Set组件。Grasshopper中“列表”和“集”之间的最大区别在于,“集”仅针对具有简单相等性比较的简单数据类型进行定义。基本上是:布尔值,整数,数字,复数,字符串,点,向量,颜色和间隔。列表可以包含各种数据。

    字符串(String):字符串是文本。没什么了。我不知道为什么早期的程序员选择将它们称为字符串,但是我想这是对它们的内存表示的更好描述。字符串本质上是各个字符的序列。

    树木(Tree):树是所有数据存储在Grasshopper中的方式。即使只有一个项目,它仍将存储在树中。树是列表的排序集合,其中每个列表由路径标识。一条特定的路径只能在一棵树中出现一次,当您将两棵树合并在一起时,具有相同路径的列表会相互附加。树不仅试图无损地表示数据本身,而且还表示该数据的历史。假设您有4条曲线{A,B,C,D},然后将它们分为3个点{X,Y,Z}。然后,为每个点创建一个新的线段{X’,Y’,Z’},然后将每个线段再次分为5个点,每个{K,L,M,N,O}。数据存储在树中的方式,应该可以确定点M是属于X’还是Z’,以及该X’或Z’。

    路径(Patch):路径不过是一个整数列表。用花括号和分号表示: {A; B; …; Z}。路径绝对不能为空 {}或具有负整数 {0; -1},但可以创建这样的路径,并且它甚至不会让Grasshopper崩溃。路径由可能为单个输入值创建多个输出值的组件“增长”。例如,划分曲线。它为每条输入曲线创建N个点。在这种情况下,新的整数会附加到路径的末尾。

    image.png

    关于数据面板(Panel)的构成

    1:序号(Index),指明数据元素的标号,这串数据系列号是从0开始递增的自然数数列。

    2:数据(Data),Panel内部会显示数据的具体类型,名称,参数等。我们观察数据的规律主要是看这里的。

    3:路径(Path),Data在整个列表(List)所处的位置。默认位置为{0;0},当有分支时其数值也会递增,比如{0;1}

    好了,今天讲的是Grasshopper有关数据列表的一些小知识,算是一种科普性质的,接下的课程我们会详细的讲解Grasshopper关于数据列表的相关操作,敬请期待吧。

  • Grasshopper系列文章-常量、极值、平均值运算

    Grasshopper系列文章-常量、极值、平均值运算

    今天终于是Grasshopper学数学的最后一篇了,数学工具的作用很大,可以就是这部份学起来真是枯燥无味的。

    今天的主题是常量、极值、平均值运算

    image.png

    上面这几个是自然界的几个常量,他们分别是

    真空介电常数、黄金分割常数、自然数常数和圆周率

    这些都是一些固定值,运用方面没什么可说的,拿来用就是了。

    image.png

    这几个在Grasshopper里运用相对就比较广了,它们的作用就是就求极值的。

    Extremes:替换数列中比极值小或比极值大值,看下面的例子吧

    image.png

    上图的算法是有0–9的整数数列输入A端口,B端口输入5.

    V-端口的数列把大于5的数都替换了,换个说法就是只输出不小于5的值。

    V+端口的数列把小于5的数值替换了,换个说法就是只输出不大于5的值。

    Maximum和Minimum作用和上面的运算器用法是一样的,只不过把V-和V+端口拆分了

    image.png

    Round:大约数,这个运算器作用于小数,求小数最近的整数,俗话就是约等于多少。

    image.png

    上图的3.52这个数输入Round后得到三个数值,N是四舍五入的的整数,F是割舍后的整数,割舍是编程里的专有名词,意思是舍弃小数点后的数值,保留整数部分的一种取整方式,3.5200割舍后就等于3了,C是去距离这个小数最近的整数,这里当然就是4了。

    那有同学会问了,取整数究竟有什么用呢?

    那这个问题就现在而言就很难回答了,我们以后有机会在再来探讨下这个问题。

    image.png

    上面这块大致作用和平均值相关的

    Average:求平局值,这个在Grasshopper中还是比较常用的,下图0-9的数列,求得平均值为4.5

    image.png

    Blur numbers:模糊数值

    Interpolate Data:这个不太好翻译啊,Interpolate是内插数据的意思,大家直接看算法吧

    image.png

    0-9的数列,t值输出0.5时,刚好获取的数据就是4.5,如果输入1的话,输出值就是9,这个t值在这里是一个百分比。

    Smooth Numbers:平滑数值,其作用在带时间动画上的,具体作用不明。

    Truncate :这个也不好翻译啊,就给它一个比较俗套的名称吧:掐头去尾保留部分数据。

    image.png

    上图的算法得到的数据 ,掐头去尾保留了60.4%的数据。

    Weighted Average:权重平均值,这个作用不明

    image.png

    ​上面这几个是关于复数的运算的,这里就不展开了,我们用Grasshopper做设计目前还没有用到复数的运算

    [elementor-template id=”7418″]

  • grasshopper系列文章-三角函数,三角形特性

    grasshopper系列文章-三角函数,三角形特性

    我们这里节Grasshopper的课程主要讲解三角形相关的运算器:三角函数,角度转化,三角形参数和三角形的重心。

    image.png

    三角函数:三角函数是基本初等函数之一,是以角度(数学上最常用弧度制,下同)为自变量,角度对应任意角终边与单位圆交点坐标或其比值为因变量的函数。

    三角函数在中学就学习过了,三角函数在研究三角形和圆等几何形状的性质时有重要作用,也是研究周期性现象的基础数学工具。常见的三角函数包括正弦函数、余弦函数和正切函数。在航海学、测绘学、工程学等其他学科中,还会用到如余切函数、正割函数、余割函数、正矢函数、余矢函数、半正矢函数、半余矢函数等其他的三角函数。

    上图列举的都是三角函数的运算器,Link就不在这里一一列举了,下图给出sine正弦函数的用法,其他的三角函数运算器用法同学们自己研究一下吧。

    image.png

    上图中1个pi输入Sine中输出0,π/2输入sine中得到1

    image.png

    degrees:弧度转角度

    Radians:角度转弧度

    这个用法非常简单,且看下图图示:1个π转为180°,90度转化为π/2。

    image.png

    默认情况Grasshopper中跟角度相关的计算都是弧度作为标准的,我们平常的建筑设计很多是基于角度计算的,比如两个墙的夹角,屋顶的倾斜角度等等,因此我们在设计角度的时候应该把弧度转为角度。

    image.png

    这两个运算器不知道怎么翻译了o( ̄▽ ̄)d ,他们的作用呢都是通过两三个条件得出三角形其他的参数,比如输入两边和一个夹角,得到三角形其他的边和夹角。这个在做建筑表面的零部件(三角面)分析时是很有用的,因为根据这两个运算器的特性,我们就很容易就能得到三角形面的所有参数。

    举例:输入30°和6(直角边),结果输出三角形的其他参数

    image.png

    Triangle Trigonometry这个运算器和上面用法一样的,同样留给同学们研究研究,如果有什么问题可以在Link的博客,零刻学堂这里提问的。

    image.png

    这一堆是用不同的方法求得三角形的重心的

    所谓重心:三角形重心是三角形三条中线的交点。当几何体为匀质物体时,重心与形心重合。

    用法很简单,请看下面实例吧,另外这几个的用法都大同小异的,这里就不一一列举了

    image.png

    [elementor-template id=”7418″]

  • Grasshopper系列文章-公式的应用(莫比乌斯环,圆曲线)

    Grasshopper系列文章-公式的应用(莫比乌斯环,圆曲线)

    我们今天来说说Grasshopper的公式编辑器的用法,公式编辑器就是用于输入数学上的一些方程式,已达到输出数学模型的目的的。

    有了公式的输入,我们大可不必像上上次那样编辑复杂的数学运算逻辑了。

    image.png

    Evaluate:数学分析器,双击改图标在弹出框中可以输入公式,公式中默认有两个变量X和Y,比如如下图,输入公式(x+y*5)/x

    image.png

    x=3和y=4代入公式后得到结果7.66667

    image.png

    当然了这只是一个简单的数学公式,我们也可以到网上找一些复杂的数学公式代入进去看看结果,这里Link就给大家分享几个常用的数学曲线公式。

    圆形公式

    image.png

    把R*cos(a)和R*sin(a)中的R改成a后就得到:螺旋线的方程式,π前面那个数值控制螺旋线的圈数,π下面的数字控制螺旋线的点数

    image.png

    公式1:16*(sin(a)^3)

    公式2:13*cos(a)-5*cos(2*a)-2*cos(3*a)-cos(4*a)

    Grasshopper会帮我们计算出一个标准的爱心形状

    image.png

    image.png

    著名的莫比乌斯环的公式,这个公式非常的复杂啊,要写三个公式才能实现

    公式1:r*(1+(v/2)*cos(u/2))*cos(u)

    公式2:r*(1+(v/2)*cos(u/2))*sin(u)

    公式3:r*(v/2)*sin(u/2)

    最终用Surface From Points运算器完成莫比乌斯环曲面,不过这个算法有个瑕疵,就是完成的曲面并不是环,而是不闭合的带子,后续大家有兴趣的可以去自己研究下这个算法,看能否解决这个问题。

    image.png

    [elementor-template id=”7418″]

  • 希瑟维克工作室展示东京“巨型种植棚架”的设计

    中部阿扎比达地区的龙卷风已经开始建设。东京日本最高的地方摩天大楼将坐在旁边的建筑物和一个美化的凉亭设计赫斯维克建筑事务所.

    赫斯维克建筑事务所基于创造一个巨大的植物填充的棚架的想法,设计了公共领域和众多的低增长街区,用于在东京的Muto Advard内发展。

    “世界上许多新的发展都是严酷的和无菌的,我们想知道我们是否可以通过整合惊人数量的种植和绿化来提供一个更具人为中心的替代方案,”海瑟维克工作室的创始人Thomas Heatherwick说。

    形象是由Dbox为莫里建筑公司提供的。

    他接着说:“作为一种将建筑结构体系与大量自然相结合的方法,我们开发了一种规模扩大到区域大小的花园花架的想法。”

    “这一概念使我们能够为八公顷的东京带来一个全面的逻辑,同时也为设施、如房屋、商店、旅馆、温泉浴场、学校和寺庙内的一个寺庙搭建了空间。”

    形象是由Dbox为莫里建筑公司提供的。

    正在开发的这个地区莫里将延伸超过八公顷。它还包括三座摩天大楼。Pelli Clarke Pelli建筑师事务所其中最高的将成为日本最高的建筑,大约330米。

    拉瑟维克工作室延伸了场地的长度,创造了一系列建筑,目的是给这个地区提供一个“独特的身份”。

    “在一个天然山谷中,我们选择通过我们的设计来强调地形,创造一个起伏的排列,使用一个类似于藤架的结构系统来创造各种各样的景观空间,从隐藏的花园到凹陷的庭院,”HeaCaWik工作室的组长Neil Hubbard说。

    “编织和流过这一计划,一个展馆从栅格的网格出现。哈伯德继续说,我们不希望集中于一个单一的印象,而是希望通过创造数以百计的时刻来鼓励探索和发现。

    位于东端的三座低层建筑将包括商店、办公室和住宅空间以及博物馆和画廊,而一系列的裙楼与塔楼将包含公寓、酒店设施和商店的大厅。

    塔中的一个零售空间的内部设计将由藤本壮介.

    形象是由Dbox为莫里建筑公司提供的。

    一个七层的学校,为700名国际学生,将建立在主塔旁边也已设计工作室。它将被命名为英国在东京的学校。

    所有的建筑物将由一个700米长的地下行人隧道连接,这将包含一个相当大的食品大厅。

    希瑟维克工作室经常在其设计中包括大量的种植。

    在上海,工作室正在建设中。一棵树被称为1000棵树,同时在新加坡设计的一座塔将被覆盖在悬挂着花园的弯曲的阳台上。.

    在伦敦,希瑟维克工作室设计了横跨泰晤士河的备受争议的花园桥。在2017被废除.

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

  • Competition: win a copy of We Build Drawings by Mikkel Frost

    Competition: win a copy of We Build Drawings by Mikkel Frost

    在我们最新的竞赛中,我们为10位读者提供了获得CEBRA建筑工作室创始合伙人Mikkel Frost的素描和水彩画书籍的机会。

    丹麦工作室通过精选项目中的200多幅艺术品展示了建筑师对图纸的关注,这是一种在设计过程中有效传达思想的有效方法。

    这本书的标题为《我们建造图纸》,优先考虑Frost的观点,即建筑师不建造建筑物,而是建造一个想法:“要可视化,”他解释说,“我们建造图纸”。

    我们已经与建筑师和Frame Publishers合作,向10位获奖者赠送了一份《 We Build Drawings》。

    undefined

    该出版物是继他去年在TEDxAarhus上发表的演讲之后的,该演讲的标题是“ 让您的手指说话”!。谈话的记录作为介绍在书的开头打印。

    在其中,他证明了自己的风格是正确的,并提出了绘画的方法,以吸引那些努力阅读技术架构计划的组织和客户。

    undefined

    弗罗斯特在谈话中解释说:“我已经开发了一种基于卡通和漫画书的绘画新类型,这是人们熟悉的一种视觉语言。”

    他说,项目的抛光效果图使完成的建筑物可视化,但省略了构成设计思想的理由。

    undefined

    在一个例子中,弗罗斯特(Frost)说明了CEBRA的住宅和办公大楼The Iceberg。该项目的重点是开放从街道到附近港口的路径,那里的水四分之三围绕着场地。

    为了说明设计,弗罗斯特(Frost)使用细分的直角三角形模仿光线折射出的水,深入研究了鱼类栖息的水下风格场景。

    在水彩渲染的建筑物上方,以图解的顺序说明了工作室的过程以及为最大限度地利用自然光而开发建筑物的方式。

    本书继续包括更多建筑师的线条图和快速草图。这些都是用手工注释的,并与描述他创作过程的其他水彩画分开。

    undefined

    书中弗罗斯特的水彩画都是在确认项目的建筑概念后才创建的。

    建筑师解释说:“从这个意义上说,[水彩]可以用作概念上的句号。“

    弗罗斯特还建议,如果一个项目无法在一个A4页面中解释,那么“您要么说得太多,要么太复杂了”。

    他继续说:“这就是我绘画的原因-确保每个人都在同一页上。”

    undefined

    书中还包括阿布扎比的Qasr Al Hosn堡垒,这是阿联酋首都最古老的建筑中的文化改造项目。

    弗罗斯特(Frost)的水彩画描绘了沙色的多边形,围绕在水条上,与棕榈树种植的直线路径形成对比,以反映出旨在将现代化与埃梅拉蒂遗产相结合的项目。

    undefined

    弗罗斯特的几种水彩画于2016年被柏林建筑制图博物馆接受。

    博物馆基金会创始人谢尔盖·特乔班(Sergei Tchoban)的创始人说:“这些图纸会让您感到新鲜而又与众不同。“从它们的构成来看,随之而来的是独特的建筑语言。”

    这本书的背面包括索引,其中包含图纸所引用的所有项目的照片。

    每位10名优胜者将收到一份《 We Build工程图》,也可以在线购买。

    比赛于2019年11月7日结束。将随机选择10名优胜者,并通过电子邮件通知其姓名,其姓名将发布在此页面顶部。