原创教程 参数化建模Grasshopper入门V——数据处理方法 数学建模入门

本文是本人的一些学习经验,如有不当之处,敬请指出。希望更多的朋友加入参数化建模的探索。

本节将会让大家认识常用的数据处理运算器,和常用的处理手法,运算器搭配。

1.Graft tree和Flatten tree

这两个是处理树形数据的最基本运算器。

Graft作用是将数据向下一个层级分组。

Flatten作用是将所有数据拍平成一组。

打个比方,一堆学生在操场上集合,Flatten意思是所有人排成一列,而Graft是按堆分开站。


2.List Item

ListItem,他能提取数列中指定序号的一个数或者数组。如图,在一个正圆上,有一圈等分点集,我们从这个点集中,提取一个点与圆心连线。


3.Sub List

提取一段数据,需要输入一个区间,如图,提取的区间为(1 to 4),则序号为1到4的点被撮出来与中心点连线。


4.Split List

将一个数列位置分割成两段,注意这里输入的是位置,而不是序号,程序语言序号是从0起的,所以,序号为2的数,是第3个数。下图为以第三个数后的位置分割成两段,分别以不同的半径作圆。


5.Shift list

它可以将一个数列按指定单位数量偏移,W输入布尔值,True为将前面偏移掉的数按原来的先后顺序接在后面,False为弃掉偏移掉的数。

打个比方,FusioN给大家发棒棒糖,同学们排成了一列,FusioN说前面的三个小男孩不乖,不给糖,直接移到第四个小女孩开始发糖,而当W输入端为False时,即前面三个小男孩永远得不到糖,若W为True,前面的三个小男孩可以按原来的先后顺序接在队伍后面等待发糖。

下图1为未偏移的两个等分点集连线,图2为其中一个点集偏移1个单位的连线,W为True


6.Length list和Reverse list

Lng用于计算数列的长度,即个数。Reverse用于倒置数列。这两个好理解,不图示。Length list使用频率很高。

7.Sort list

按序号重排数据,我认为这个是同类运算器中使用方法最复杂的。

输入端:K为分派给每个数据的编号,A为输入数列

输出端:K为按编号从小到大的顺序重排后的编号,A输出数列和K的重排相对应。

打个比方,去医院挂号看病,候诊室中随意坐着许多挂过号等待的病人,而他们是按照挂号的顺序排队先后进去看医生的。(除非你不遵守公共秩序)

如下图,为四段不等长直线,顶部为原始顺序编号,底部为重排后的顺序编号。测量出每一条线的长度,作为他的顺序编号,重排后,则直线按从短到长的顺序排列。


在继续Sort list探讨前,插播另一个运算器,Cull Pattern(位置:Set/Sequence/CullPattern)

它可以按照输入的布尔值序列来删除数据。True为保留,False为剔除。

当输入的布尔值数量小于输入数据量时,布尔值将按照输入的值重复下去。

例如,当输入的布尔值为(True,false),则自动重复为(True,false)(True,false)(True,false)(True,false)(True,false)…………….

因此你可以输入任意个数的布尔值组合。来提取需要的数据。

下图有两列数据,A按(true,false)提取数据,B按(false,true)撮数据,绿色点为提取结果。


[原创教程]参数化建模Grasshopper入门V——数据处理方法 数学建模入门

回到Sort list的讨论,接着上面CullPattern的运算结果,若我们要将A和B两个数列中的绿点,按X坐标从小到大合并成一列(即从左到右),用曲线穿起来,应该怎么做呢?

先将得到的两组点,合并成一个数列,这里我使用的是(位置set/tree/merge),它能将输入的数列,按顺序合并,即B组接在A组之后。

然后构建一个数列,用于对上面合并后的点集逐个编序号。

我们需要的结果是:

A组的四个点序号为0,2,4,6

B组三个点的序号为1,3,5

请读者参考图示好好领会。


要达到上面的效果,还有更简单的方法,数据编织。

Weave运算器,可以设定多组数据的排列方式来编织成一个数列。P端为排列方式,右击运算器可以添加更多的输入端。

例如有如下两个数列

Stream_A:5,0,4

Stream_B:2,7,8

P端输入的编排方式为:0,1(这里与之前介绍的Cull Pattern的布尔值设定同理)

编织后的结果:5,2,0,7,4,8


8.FlipMatrix

(位置set/tree/flipmatrix)它的作用是将各数组中相同编号的数据弄成一组。

如图所以,三个正圆被各被等分为六段,得到三组数据,每组里有该圆上的七个等分点。如果我们需要将三个圆上,对应的三个点弄成一组,这时可以用Flip Matrix


9,最后介绍一个简单实用的运算器

Duplicate Data

(位置:Set/Sequence/Duplicate)它的作用是按数量重复数据

PS:以上介绍的都是数据处理的大部分常运算器,数据处理的方式有:分类,拍平,分支,提取,编织,重复,优化,重排,偏移等等很多,这里主要是让大家认识各种运算器。而不是教大家最简单的方法,以后的实例在会对各种思路的优越性进行比较。


  

爱华网本文地址 » http://www.aihuau.com/a/25101012/120762.html

更多阅读

excel VBA编程入门教程 精 excel vba编程入门

上回看到“excel 编程入门教程”求助贴,不料被别人捷足先登。没想到今天又看到这个求助经验贴,而且又有优先评优支持当然要领取了。本人也算上个世纪的编程老鸟,虽然对于当前的主流技术不是非常精通,但是对于Excel VBA,还是略知一二的。

Autodesk 123D Catch教程 123D Catch建模方法 autodesk 123dcatch

Autodesk 123D Catch教程 123D Catch建模方法——简介欧特克公司作为建模行业的老大,发布的Autodesk 123D系列软件完全免费,让普通人轻松玩转3D打印技术,123D Catch可以让我们轻松的使用照片创建3d模型,下面小编给大家介绍Autodesk123D

034BIM与相关技术方法四 -BIM和参数化建模 bim建模师

前段时间,网友水绿如蓝问笔者能不能讲一讲BIM和参数化之间的关系,这篇博文算是一种回答,不知道是否能入法眼?同时需要说明的是,正是水绿如蓝网友的这个问题,让我萌发了写“BIM(建筑信息模型)与相关技术方法”系列的想法,谨在此表示感谢!现在

布鲁斯口琴入门教程 布鲁斯口琴入门

42个自我提升的实用技巧河南姚亚峰阅3/转219分钟前《太极武当》图书 馆员阅980/转651小时前牙疼厨人阅2/转11小时前布鲁斯口琴入门教程欣然求索斋阅5/转41小时前小提琴铃木基础入门教学视频欣然求索斋阅7/转41小时前袁莎古筝弹奏指

声明:《原创教程 参数化建模Grasshopper入门V——数据处理方法 数学建模入门》为网友霸気煞鉫分享!如侵犯到您的合法权益请联系我们删除