当前课程知识点:Grasshopper参数化设计与建模 >  第三章 Grasshopper基本数据类型 >  3.5 案例:水波 >  3.5

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

3.5在线视频

下一节:3.6

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

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

本节我们将介绍一个案例

环形水面波纹的这样一个案例

经过前面的教学呢我们学到了

关于grasshopper的一些

基本的建模的技术
关于grasshopper的一些

基本的建模的技术

可以开始做一点

相对完整的设计案例

下面我就教大家做一个水波

就是水面的波纹

做水波我们可能先要

想到的就是要

怎样来生成一条波纹的曲线

一般来讲我们会使用正弦曲线

或者余弦曲线

这样我们就先找到

余弦cosine curve

cos我们需要输入一个x

也就是输入它的基本的量

然后得到一个y的值

那么我们如果要是在这边输入x的时候

因为需要生成一条cos曲线

所以需要输入一系列的点
因为需要生成一条cos曲线

所以需要输入一系列的点

然后把这些点连接在一起

得到这个curve

我们现在用一个叫做range

用一个叫做range的component

来生成一系列的点

这个点是什么我们看一下

它是从0到1之间的十一个数

从0 0.1 0.2一直到0.9到1

如果把这个数输入到x里去

就会得到y的值

那么如果我们说想

变成一条cos曲线的话

我们可以用一个xyz

叫construct point

这个也是我们常用的

一个基本的运算器

把x给它 把y接上去

其实我们应该把它接到那个上

我们看一下

在原点附近就生成了这样一条

比较短的曲线

所以这就是cos的一部分

还不是曲线是一系列的点

我们把它聚焦到这些点上

把range的视图聚焦到这些点上

我们可以把这些点连在一起

用前面学过的curve底下的

interpolate

这样就得到了cos曲线的一部分

它的横坐标是x

纵坐标z方向是cosx

也就是这边的y值

如果我们现在增加这个range

他的输入是domain

一个范围从0到1

以及0到1之间多少份

现在说分十份

所以它就得到了十一个数

从0到1之间分成十段

如果想换一个比较长的曲线

我们可以一个是可以增大

domain的范围

一个是增加取点的数量

我们对domain做一个

construct domain

或者直接输入domain 范围

我们看到一个叫construct domain

这个图标也很形象

我们输入左边的起点和右边的终点

就会得到一个范围
我们输入左边的起点和右边的终点

就会得到一个范围

它的缺省值这是0这是1

我们可以给它一个比较大的量

比如说10.00
我们可以给它一个比较大的量

比如说10.00

好这样我们就会在0到10之间取十个数

看下这个结果就变成这样
好这样我们就会在0到10之间取十个数

看下这个结果就变成这样

就很像一条cos曲线

我们也可以在这边增加steps

比如说100

用更多的点去描绘这条曲线

可以增加或者减少点

当点比较少的时候这条线就不太精确

那这个domain可以给它加大一点

还是100.00

这样我们得到了基本水波纹

所需要的基本形态

那么为了要得到水波纹呢

其实我们想做的是

假如一块石头从这儿扔下去

那么得到的这个波纹呢

会一圈一圈地展开

所以现在要做的事情是

把一圈圈的波纹做出来

这个怎么来做呢

我们前面学过的circle

那么我们需要给它一个基本的坐标系

以及一个半径

在这里只要把

一个数据的关系转换一下

也就是在这里的x和z的

关系转换一下

我们需要构造的是

一个围绕原点的一圈一圈的水波纹

但是它要有高低

所以在这里构造一个圆的圆心

这个圆心就是

我们构造一个xyz的点

这个点它的x坐标始终是0
我们构造一个xyz的点

这个点它的x坐标始终是0

但是y坐标呢

跟这边的这个点是一致的

所以把它给它

然后这是我们的圆心

同时我们需要一个半径

这个半径是什么

其实它就是x

或者说这个方向的值

我们把它接上去

大家一看就明白

这样的话我们就得到了

水波纹的效果

这个数据的关系大家可以回去再想想

好那么现在都是一些线

这些水波纹都是一些线

当我们想把它连成一个曲面的时候

我们可以用loft

我直接把这些线给它

我们就得到了一个loft生成的曲面

注意在这里这个loft生成的曲面

它是是黄色的

为什么呢它出现一点小问题

是因为在这里生成的这些curve

第一条curve叫做invalid curve

为什么它是invalid curve呢

是因为我们的第一个点

它的半径是零

所以实际上不存在这条curve

半径是0的圆其实是没有curve的

为了避免这个问题呢做一点小的调整

就是在一开始生成

我们算cos值的时候

输入的横坐标是从零开始

我们在这儿给它输入一个很小的数

我们可以用panel

0.01 就是说把起点变成0.01

以后这边就正常显示了就没有问题了

好 当我们有了这样一个水波的效果以后

可以把前面输入的这些预览都把它关掉

然后得到这个水波的这样一种效果

当然我想可能很多人都会想

其实这个水波并不完美

因这个水波在所有地方都是一样高的

其实我们希望的是一个

在水面上看到的那种水波

可能中间会高一点边上会低一点

那么为了达到这种效果

我们就需要对水波它的振幅

在不同位置做一个调整

怎么来做这样的调整呢

我们实际上需要对z方向的

就是这里的构造的这个z值做一个调整

那么基本的来讲

Cos算出来的值我们是不能去调整的

但是我们可以给它乘上一个系数

这个系数是多少呢

这里我们可以用我特别喜欢用的

叫Graph Mapper

Graph Mapper我们在前面提到过

但是没有使用过

好 Graph Mapper当我们把这里的

在这边输入一个数据

那么它就会从函数图像上

读出一个相应的数据从右边输出出来

比如说当我们输入一个Linear

然后我们把它调整成这样的形状的时候

我们可以说

它就会生成一个

左边高右边低的一个函数

那么这个函数如果我们把它跟这边的

我们说振幅乘在一起的话

两个相乘的话

那么实际上就起到了

对波形进行调整的一个作用

当然这里我们直接做还不行

这里我们需要考虑的问题是

Graph Mapper在这里显示

它右下角显示0到1

是说它的x输入是从0到1

右边显示0到1呢是它的输出

Y是这边输出的范围是0到1

所以我们需要对输入的范围

数据输入的范围做一个标准化

也就是让它都压缩到0到1之间

我们看到在这边我们的数据

输入的时候是0.01到29

我们要对这个数据进行一个压缩

所以会用到一个工具

我们在Maths底下有Remap Numbers

Remap Numbers

它的作用是把一系列的值

这个值是0到29,

这个0到29是从这里来的

从这个范围里来的

然后要根据它的范围

压缩到另外一个范围上去

我们先把这些数据

它的基本的范围求出来

这个范围是叫Bounds

当我们输入很多个数给它的时候

右边会输出它的最小值和最大值

构成的一个范围

这里是0.01到29.28

我们把这样一个范围给它

给这个Source

那么同时呢这边有个缺省值

就是它的输出范围是0到1

那么这样我们就会得到

右边跟这个v是完全对应的

但是呢经过压缩的范围经过压缩

等比例压缩的一个数据

这个数据就可以输入到

Graph Mapper里头去

进行计算了

当然这个地方我们可以多说一点

就是我们可以来对比一下两边的数据

是这里

这是我们从v这输入的数据

以及我们从r这得到的这个数据

这两个数据实际上是一一对应

但是经过了一个等比例的压缩

或者我们可以用Display底下的

用折线图的方式来显示一下我们的数据

这个数据因为是一个等比例间隔的数据

这个不太好这个看不太出来我们换一个

我们这不显示了 把这段切掉

那么这是一个相互对应的一个数据的关系

那么在右边我们就会得到

相应的在0到1的范围之内

取到的这个y的值

我们把这样一个经过压缩的这样一个比例

挪一下

把经过压缩的比例

和cos函数得到的这个值乘在一起

乘法 输入一个星号

把它跟它组合在一起以后变成我们的z

大家看到那起到的作用就是

我们对这个水波进行了压缩

它在中心的时候比较高

在边上比较低

这是一个比较理想的水波的一个状态

当然实际上你还可以做更有趣的事

就是为什么我在这用Graph Mapper呢

因为Graph Mapper

可以提供更有趣的一种对应关系

比如说我们把它改成贝塞尔曲线

那么贝塞尔曲线你看到

现在是右边高左边低

也就是说中心比较低

边缘反倒比较高

这 是水波在向外扩散的时候

中间已经比较平静

但边上又比较高的一种状态

当然我们还可以对它做这样的调整

就是我们让它中心点也不是最高

但是在中间的部分比较高

所以我们就可以得到

各种有趣的水波的形态

根据 你的喜好 根据你的愿望

来生成这个水波

现在这个水波有点矮 有点矮

大家也可以给这个水波再加上一点

乘上一个系数

比如说现在这种状态我们可以在

还是乘法 乘上一个5

然后把乘完以后的这个数据给它

我们再调整一下这个水波的振幅

这个大家可以根据你的设计来发展

好 这个就是水波的案例

我们总结以下

这个案例的思路

第一步我们使用loft生成曲面

生成一条波纹线

接下来我们使用circle

来生成围绕原点的水波纹

并使用loft生成曲面

第三步呢

我们使用graph mapper

调整水波纹的振幅
我们使用graph mapper

调整水波纹的振幅

使它看起来更加自然

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物理模拟--第九章习题

期末作业

-期末作业: 综合运用

--期末大作业

3.5笔记与讨论

收藏文章
表情删除后不可恢复,是否删除
取消
确定
图片正在上传,请稍后...
  • 评分:
评论内容为空!
还没有评论,快来抢沙发吧!

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。
欢迎学习『3.5慕课视频播放-Grasshopper参数化设计与建模-MOOC慕课视频教程-柠檬大学』