当前课程知识点:Grasshopper参数化设计与建模 >  第六章 Grasshopper数据结构(二) >  6.3 Grasshopper参数化表皮 >  6.3.2

返回《Grasshopper参数化设计与建模》慕课在线视频课程列表

6.3.2在线视频

6.3.2

下一节:6.4.1

返回《Grasshopper参数化设计与建模》慕课在线视频列表

6.3.2课程教案、知识点、字幕

那么当然 对于一个参数化的表皮来讲

我们也可以让它是三维的

三维空间的表皮

也就是说我们可以给这些片一个高度

那么这个高度呢

同样我们可以用move的方式

利用这里出现的参数来做

我们给它一个z方向的高度

对这里的结果这里得到的这些点的坐标

经过move以后给它一个新的高度

那么这样呢这个表皮就会有不同的高度

就拉伸起来了

这边是平的 另一边是高的

那么下面一个问题是

如果我们已经有了这样的参数化表皮

我们是不是可以

现在是一个点去影响参数化表皮的形态

比如说我们把这个点移到这里

那么它的结果就会发生变化

如果我们有两个点

去影响这个参数化表皮的现状

应该怎么来做这样的程序呢

那么这就涉及到我们说

对于数据结构的一种更为复杂的应用

也就是说我们其实可以在这里输入两个点

去影响这个表皮的形态

但是为了做这件事

我们在调整这个程序之前

比如说我们在这里输入两个点之前

一般来讲建议大家呢

先把程序后面的所有这些电池

都给它禁用了

就是把它的在这里选中

就是把它禁用

那么这个目的是

为什么要这样做呢是因为

当我们在这里输入了两个点的时候

往往会造成这里本来是一个数据

现在变成一组数据

那么就会在后面产生一些

意想不到的数据组合方面的问题

有的时候会导致grasshopper

不能正确的工作

那么数据

因为有很多的数据在这里进行组合

如果这个组合的状态导致

运算量积增的话

那么grasshopper会

出现没有反应或者类似死机的状况

所以建议大家在这里

把后面的程序先禁用

然后再去做相应的调整

那么另外一个有用的建议是说

大家可以在这里把你的程序存一个盘

注意到在一个grasshopper当我们

一开始没有存盘的时候它叫unamed

这是一个缺省的名字

在这种状况下

grasshopper它是不会给我们

生成临时存盘文件的

那么这个时候如果大家编的程序

突然出现没有反应死机的状况

不得不关闭rhino和grasshopper

重新开始的时候

那么大家就会找不回来原来的程序

这个损失就比较大

所以建议大家save document

把你的程序做一个存盘

我们这个叫做6-4 parametric skin

我们存过盘以后

如果再出现死机的情况

那么在死机之前的这个程序

是可以找得回来的

说完关于存盘的问题

我们可以一步一步地去

让我们现在的程序运转起来

那么这部分程序因为跟它没关系

所以是没问题的

肯定可以正常运转

一直到这里

这边有一点问题我们待会儿再看

那么现在我们这里要处理的问题是

如果我们有很多个中心点

那么这些形心点跟两个点之间去求距离

会得到什么样的结果

这个我们可以先把它启动

然后看一下它得到数据结构

那么这里的数据结构是

在一个路径上有两个点

那么如果在一个路径上有两个点

就得到了两个距离

这个时候我们要确定

刚才的所谓缩放的比例的时候

那么我们应该用哪个数据呢

我们用平均值吗

或者用最大值还是最小值吗

一般来讲会用最小值

所以我们这里可以用一个sort list

这个数据进行一个排序

排序完了以后 item list item

我们取它的第i个i这里输入0

实际上得到的就是最小的那个数

最小的那个距离

有了它以后

其实后面的程序跟刚才运转是一样的

我们只是在这里做了一些操作以后

还是得到一个唯一的数值

这个数值可以跟刚才一样的去使用

我们在这里去取它的bounds

然后去对它做一个remap

这边也是

这个范围我们也把它启用起来

所以这些程序现在就开始正常运转

得到一个新的结果

那么现在这个结果我们看到

它就是受两个点去影响的

那么这个点和这个点分别在

我们的pattern上面产生了

两个比较密集的区域

这个开动比较小的区域

这样我们就实现了多个影响因素

去影响一个参数化表皮的这样一个程序

实际上在设计参数化表皮的时候

我们除了用点去做影响因素以外

也可以用曲线去做影响因素

比如说我们希望在离这条线比较近的地方

那么开口是比较小的

离这条线比较远的地方开口是比较大的

那么这个时候呢我们往往会这样来编程

curve 我们使用curve取到这条曲线

然后我们会用

我们下一步需要计算的是

这条curve到每一个形心点

curve到每一个形心点之间的距离

这个距离是什么呢

这个距离我们会用到closest

curve closest point

我们说这里的形心点作为p输入过来

然后这里的curve把它输入过来

我们就会得到这条曲线上面

距离每一个形心点

最近的那个点的位置

还有它的t

就是在这条曲线上那个点的参数

以及distance 就是距离

那么有了这个distance我们就可以

让它跟这里的distance一样去使用

我们试一下

那么这条曲线就变成了

影响这个参数话表皮pattern的

一种方式

那么现在的问题是我们有两个点

和这条曲线共同去影响这个pattern

我们会得到什么样的结果呢

这个留给大家作为一个课后的练习

最后要说的是

我们现在在Rhino里得到的

我们输入的这个曲面

我们把原来的这个曲面显示出来

这个曲面它是一个平面的曲面

但如果它是一个空间曲面的话

该怎样去做它的参数化表皮呢

比如说是在一个球形的曲面

或者是一个双曲面上面

我们打开这个曲面的控制点

比如说如果我们让这两个点

让它位置低一些

那么就会得到一个双曲的面

那么当然现在看起来

程序依然是可以运转的

但是一般来讲我们会在这里做一点调整

就是我们看到当我们给一个曲面

一个厚度的时候 给它一个高度的时候

我们在这里用的是Z向量

但是假如我们把这个曲面做一个旋转

大家注意我们在这里

如果是做一个旋转的话

那么这样因为我们都是在Z方向去做移动

所以这里的pattern就会显得比较奇怪

它不是突出这个表面的

而是变成一个扭曲的形态

所以在这里我们会使用normal

曲线的法线方向

我们用evaluate surface的方式

我们得到它的normal方向

这样我们需要输入它的基础曲面

同时输入这里的UV坐标

那么为了要能得到它的UV坐标

会用到closest point

我们输入CP也可以

前面说到过

closest point对参数化设计非常重要

对Rhino和grasshopper来讲非常重要

那么这里可以看到

有非常多的各种各样的closest point

我们在这里选择surface closest point

同样把这个surface给它输入过来

那么这里需要输入一个点P

这个P是谁呢就是这里的形心点

然后就会得到在曲面上的最近点

对应的UV坐标

然后把UV坐标给这里

就会得到法线方向

下面我们可以用法线方向去替代

这里的Z方向

然后我们给它一个Amplitude

Amplitude的意思是说我们去设定

一个VECTOR的大小

方向不变但是大小是设定的

把normal方向给这里的v

然后把这里我们经过计算的这个vector

给A 然后替换一下

我们就会看到这里的开口呢就

变成了垂直于曲面的方向

这里我们可以增加一个slider2.0

然后用一个muttipticotion 乘法

把这个13:29 增大一点

看的明显一点

可以看的更加明显一点

刚才呢给大家介绍了两种不同的

参数化表皮的生成方式

那么在这个过程当中呢

我们演示了在制作参数化的表皮的

生成过程当中

所经常使用的一些编程的思路和技巧

那么实际上参数化表皮还有

很多其它的可能性

那么大家可以在平时的工作和学习当中

查阅互联网上的案例

以及发挥你们自己的想象力

去创造出更多更有趣的方案来

那么另外呢在曲面上划分

这个子曲面的方式也不仅仅是

我们这里使用的这种

方形的subsurface的方式

子曲面的方式

也存在其它的可能性

比如说大家可以去安装

这个叫做lunchbox的插件

那么有了这个插件以后

我们看到在这里

就可以基于一个曲面去生成

各种不同类型的子曲面

有菱形 六边形 平行四边形

三角形等等

那么基于这些子曲面呢

就可以创造出很多形态丰富的

趣味不同的参数化表皮来

那么如果大家想安装

grasshopper的插件呢

比如说像lunchbox呢

常用的安装方法之一

有一种比较常用的安装方法呢

就是在file底下special folder

然后大家找到components folder

那么在这里比如说像lunchbox

这样的插件呢

你就直接把插件的这个文件

复制到这里来

那么然后再把

rhnio和grasshopper的重启

重启以后呢就可以使用插件了

当然有一些其它的插件呢

不是通过这种方式

而是有一个安装文件

我们需要执行这个安装文件

才能完成这个插件的安装

好 本节的介绍就到这里

总结一下本节的要点

本节我们介绍了参数化表皮建模的演示

接下来介绍了Lunchbox插件的功能以及使用方法

我们还说明了Grasshopper的插件安装方法

Grasshopper参数化设计与建模课程列表:

第一章 参数化设计简介

-1.1 参数化设计简介

--1.1

--模型文件

第二章 Grasshopper简介

-2.1 Grasshopper简介

--2.1

-2.2 Grasshopper界面与基本操作

--2.2

-2.3 Bake与Internalize Data操作

--2.3

-第二章习题--作业

第三章 Grasshopper基本数据类型

-3.1 Math运算器

--3.1.1

-3.2 点与向量

--3.2.1

--3.2.2

-3.3 Grasshopper曲线运算器

--3.3.1

--3.3.2

-3.4 Grasshopper曲面运算器

--3.4.1

--3.4.2

-3.5 案例:水波

--3.5

-3.6 案例:螺旋曲面

--3.6

-第三章习题--作业

第四章 Grasshopper数据结构(一)

-4.1 Grasshopper数据结构基础

--4.1

-4.2 数据流匹配

--4.2

-4.3 Dispatch运算器

--4.3.1

--4.3.2

-4.4 案例:项链

--4.4.1

--4.4.2

--4.4.3

-第四章 Grasshopper数据结构(一)--第四章习题

第五章 Nurbs曲线与曲面建模

-5.1 Nurbs原理简介

--5.1

-5.2 Nurbs建模演示

--5.2

-5.3 Evaluate操作

--5.3

-5.4 由点建立曲线

--5.4

-5.5 Nurbs与向量

--5.5.1

--5.5.2

-5.6 案例:凤凰中心曲线环廊

--5.6.1

--5.6.2

-5.7 案例:鸟巢表皮钢结构

--5.7.1

--5.7.2

-第五章习题(一)--作业

-第五章 Nurbs曲线与曲面建模-- 第五章习题(二)

期中大作业

-期中作业:工艺品设计

--期中作业

第六章 Grasshopper数据结构(二)

-6.1 Grasshopper树状数据结构(1)

--6.1.1

--6.1.2

--6.1.3

-6.2 案例:2016年BIG事务所蛇形画廊

--6.2.1

--6.2.2

-6.3 Grasshopper参数化表皮

--6.3.1

--6.3.2

-6.4 案例:凤凰中心表皮结构

--6.4.1

--6.4.2

-第六章 Grasshopper数据结构(二)--第六章习题

第七章 Grasshopper建模技巧

-7.1 Image Sampler

--7.1.1

--7.1.2

-7.2 案例:望京soho表皮

--7.2

-7.3 Vironoi运算器

--7.3

-7.4 Metaball运算器

--7.4

-7.5 参数化设计在大型项目中的应用案例-“红飘带”景观装置

--7.5

--第七章 Grasshopper建模技巧--第七章习题

第八章 Mesh建模基础

-8.1 Mesh原理

--8.1

-8.2 SubDivision与银河Soho案例

--8.2

-8.3 地形建模

--8.3

-8.4 面板划分:以银河soho为例

--8.4.1

--8.4.2

-第八章 Mesh建模基础--第八章习题

第九章 Kangaroo物理模拟

-9.1 Kangaroo插件简介

--9.1

-9.2 悬链线

--9.2.1

--9.2.2

--9.2.3

--9.2.4

-9.3 张拉膜,充气膜与可受弯面

--9.3.1

--9.3.2

-9.4 CirclePacking

--9.4

-结语

--9.5

-第九章 Kangaroo物理模拟--第九章习题

期末作业

-期末作业: 综合运用

--期末大作业

6.3.2笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。