返回列表 发布新帖

[参数化设计] 【By DanielJin】由浅入深学Grasshopper Basic 02

6383 7
DanielJin 发表于 2014-7-28 12:17:54 | 查看全部 阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
【By DanielJin】由浅入深学Grasshopper BASIC 02 数据类型的介绍
本帖写于4月发于E拓,帖子中时间问题均为当时的时间。

应几个人的要求...强烈要求...开了个群,新手们可以进来讨论了。群号312673316,各位可以先暂停加我QQ好友问问题了...表示这几天已经让加爆了QQ就没停过几乎...欢迎来群上交流,因为女朋友在国外所以我没会约,基本都在群里的!

前言:第一个设计周快要度过完了,第一个设计体育馆快结束了,图画完了很开心,就屁颠屁颠来更新个教程。静静等待13号交图和第二个设计周的开始,同时希望建业周六战胜广东富力,至少客场拿个一分...(绿茵场上我们是敌人,场下是朋友,广东的小伙伴谁看球?)

上节基础教程,我们讲解了部分curve生成的计算器。那么今天我们用最简单的例子来讲解这些运算器的实际运用。同时,我要开始向大家慢慢传授一个基础教程的核心,该核心将会贯穿你的整个以后的GH生涯,即数据结构问题。参数化设计从头到尾都是围绕参数进行的,而其中最重要的和我们的传统思维有区别的地方正是数据结构问题。如同二维空间到三维空间的飞跃是加入了高度z变量,让“拍平(flatten)”的物体有了高度(graft)。如果参数化设计离开了参数,就相当于作为一个男人你从“木”变成了“大”。其重要性不言而喻。

现在开始进入教程。
首先我们用point创造四个点,点的位置比较有讲究,一定不能比我帅不然你一定不会成功-.-
1.jpg
2.jpg
接着我们用上节课讲到的interpolate运算器生成一个曲线。这里有一个知识点,在运算器的D段输入的是维度,曲线的维度通俗可以理解为光滑程度,只有1,2,3三种。1为两点间直线相连,2为曲线相连,3为控制点相连(即曲线不一定在点上,你可以点一千个无规律点即可看出)。我们演示一下。(貌似这点我理解的不对,interpolate不允许even维度就是偶数维度,求解答。这些最基础的细节我很多并没有仔细生成概念)
3.jpg
4.jpg
5.jpg
接下来我们用一个move运算器把这个圆圈抬高,move要记得输入方向vector
6.jpg
现在我们可以假设这个曲线是无数点生成的,我们把它旋转一下,虽然形状一样,但是起始坐标点位置已经不同了(我画的这个有点残,转完了就能看出来,因为不是圆形),这样假设是为了后边做准备。
我们把它旋转一下哇 铜锣烧诶!贝壳诶!
7.jpg
下面说一个注意事项,我们要学会看输入端和输出端要求输入的是什么东西。比如现在的旋转很不理想,是因为我们用rotate axis,轴线axis这个词你们都不陌生,默认的axis我们不能用。那么我们就弄个新的axis
我们想让这个圆在升起后的平面内旋转,有很多方法。比如rotate planerotate 123。既然我们爱上了axis,我们就不要喜新厌旧。我们做一个axis
怎么做呢?我们换种思维,如果我们把下边的圆中心找出来,通过move也升起那么多高度,得到的线是不是就是两个圆的axis
关于怎么找到下边圆的中点,我的方法比较笨。我用四个点生了个面然后找的面的中心点。
8.jpg
9.jpg
接下来两点连线
10.jpg
11.jpg
这里有一点很重要的要讲。首先大家作为初学者要养成个好习惯,在最初学习不知道运算器干嘛不知道怎么连接的时候,连陌生运算器前保存一下。一旦连错,死机死循环是正常的。上次一个论坛的朋友说内存20G顶配机器一旦连错还是一样卡死。参数的运算量是非常大的。
第二个要讲的是,当你连错的时候,比如我经常连错(见下图),第一步要做的是把连错的线按着ctrl给删除掉,不要直接把对的连上去。我经常出现连错了(比如m2该把中点输出的把a端输出了,然后连错我直接拿c端去连结果因为看着下一个运算器的输入端已经有线输入了,条件反应直接连到了空着的输入端上,特别在点生线的时候很常见你要连很多点所以都是按照1234顺序往下连的,一个有了你自然会连下一个),然后导致自身运算器的不停运算,死循环没有终点智能alt+F4.

接下来我们把这条线当做axis连上去。为什么我们敢连,你把鼠标放到x端口邮件点看一下,菜单里重新设置那里英语写的很清楚让你画一道线而不是让你输入numberinteger。作为和我一样的新手我们一定要学会看。后边会不停重复这个思想以告诉你这个思想多重要。
12.jpg
旋转好了,我们来看一下起始点的差距。用的一个point on curve
13.jpg

接下来我们做一点竖向的连接线。方法很简单,你可以用point on curve设置很多点,上下数值一样即可。然后连接。
为了显示我们的高大上和努力向上学习的精神我们用divide curve。(谁拿肥皂砸我?!)
14.jpg
接下来我们希望这些点相互连线。能否连?会不会每个点都和别的所有点生一个线总共生成N多线?(20个点是20!个线吧?)这时候我要引入最重要的本教程重中之重的东西,树形结构。
(通俗讲就是点被自动分组,20对夫妇你只能抱自己的老婆,抱别人老婆别人老公会打你)
一个新手非常好用的电池
15.jpg
我们可以在s端输入数字大小来看点的序列。
16.jpg
一个颜色一组,分别代表男女。A1的老婆是B1,绝不会发生抱错现象。直接连线。这种情况就相当于我们把两条线分别用了divide curve来分割,两个运算器输出的点放到两点生线运算器。
为了更大化的让教程变难,我们用了一个运算器分了两道线,现在运算器输出的点都是在一起的,怎么用两点生线命令生线呢?
我们再介绍一个运算器,Dispatch。可以直接把1list的点分开成了俩list。然后ab点相连即可。(其实我也是新手我也是用display看了半天数据结构才用的这个)
17.jpg

..........................和我们想的不太一样对吧。我们连上display看下结构。
我们需要的是上下连,而dispatch重新分组已经把我们的数据结构打乱了。
18.jpg
19.jpg

接下来我们把数据类型重新修改一下。用一个新的运算器。
20.jpg
这才是我们想要的结果对吧

每个点互相连线,颜色一样的是一组。
21.jpg

细心的同学可以发现如果我们再拍平或者graft一下连线和数据结构还是不会改变。这就相当于你老婆的妹妹flatten成你小姨子了,或者graft升级成你岳母了,还是和你一家人,别人不能侵犯。当然你也不能抱他们了,但你还是可以在一组数据内连线。这一点处理数据的能力应该是中级教程部分的,我这里简单提一下。有兴趣的可以自行研究。
22.jpg
23.jpg

接下来我们要做的操作很简单,找到线上的点,interpolate生线。
24.jpg
但是直接生线是不能生的,为什么?很简单还是老方法我们看数据结构。原来是一群老爷们儿互不相干,如何生线。
(有人会问点生线而已,这么多点怎么就不能依次连接生线?这就是三维世界和二维空间的不同。两点间必能连成线,但是如果第二点有空间高度即不处于同一水平面内,那么就无法在其中任意一个二维平面生线。这个道理如果你听不懂我换种方法讲,用三维空间和四维空间打比方,如果一个点在我手上,一个点在潘金莲胸......前的痣上,你能摸到吗?能吗?这就是树形数据和咱们日常接触的“数字”即拍平后的数据的差别。)
25.jpg
那么我们要做的就是把它们放在同一时空内,你们也看到我说拍平了。拍平试试。
09数据全对,线连上了。没有闭合是我们没有把布尔设置成true现在一群老爷们儿都首尾相连了...
26.jpg
同理我们把第二条线也连上。好了,我的手已经可以摸到潘金莲的胸...前的痣了。
27.jpg

接下来的工作就简单了,我们把上边的圆scale一下,这样直上直下不好看。缩小点。不要忘记中点要设置成之前我们位移过用来生axis的顶点。
28.jpg
改变连线让边线连到scale的圆上。
29.jpg
最后pipe 你就可以看到一个骨架了。
30.jpg

他有什么实际意义呢?这是下图的实际运用,网架部分的原型程序就是。感谢在学校我的老师wikii大神的辅导。
31.jpg
最后说一句,那个啥感谢大家的鼓励,大家也都积极传个作业评个分啥的T.T
不要静悄悄就走了不带走一丝云彩...

最后gh文件附上,里面有两个gh,是分别用两种方法做的,有兴趣的同学可以看看差异,用display看看数据分组的差别。
E拓建筑网_Basic 02.rar (14.14 KB, 下载次数: 3, 售价: 1 米粒)

评分

参与人数 1米粒 +7 收起 理由
月之眼 + 7 感谢分享

查看全部评分

评论7

DanielJin楼主Lv.3 发表于 2014-7-31 16:58:22 | 查看全部
Freedom_VS 发表于 2014-7-31 15:27
学习学习,虽然语言风趣,但是别说太多这种话,会烦人。。。

数据类型的知识比较枯燥无味,所以才想办法使劲儿编好玩点的语言让新人看免得一头雾水。您有更好的方法来讲解可以发帖一起相互讨论啊?你都看烦了,为了伺候好看客,我在这绞尽脑汁儿写你以为我不烦?
Freedom_VSLv.3 发表于 2014-7-31 15:27:19 | 查看全部
学习学习,虽然语言风趣,但是别说太多这种话,会烦人。。。
DanielJin楼主Lv.3 发表于 2014-7-31 14:12:45 | 查看全部
自己占个沙发吧 哎~
ding3050Lv.1 发表于 2014-8-21 10:27:26 | 查看全部
4个点,连线怎么是开口的。没有办法做到闭口。
这个网站实在是太慢了。
DanielJin楼主Lv.3 发表于 2014-8-21 15:19:48 | 查看全部
ding3050 发表于 2014-8-21 10:27
4个点,连线怎么是开口的。没有办法做到闭口。
这个网站实在是太慢了。

连线的时候把P端改为true即可。
DanielJin楼主Lv.3 发表于 2014-8-21 15:20:40 | 查看全部
ding3050 发表于 2014-8-21 10:27
4个点,连线怎么是开口的。没有办法做到闭口。
这个网站实在是太慢了。

网站慢我也木有办法呀~哈哈
jandreaLv.1 发表于 2016-7-25 08:46:07 | 查看全部
DHDUASHDUADHAFIA

回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表