当前课程知识点:Grasshopper参数化设计与建模 > 第三章 Grasshopper基本数据类型 > 3.6 案例:螺旋曲面 > 3.6
返回《Grasshopper参数化设计与建模》慕课在线视频课程列表
返回《Grasshopper参数化设计与建模》慕课在线视频列表
本节
我们将给大家介绍一个案例
以螺旋曲面为例
演示复杂自由曲面的建模方法
下面再给大家介绍一个案例
就是如何生成一个螺旋曲面
为了生成这个螺旋曲面
我们首先在top视图上
围绕原点画一条
差不多是螺旋线形态的一条线
我们希望它大概是从x轴出发
逆时针旋转又回到x轴
这一个渐开的螺旋线
我们还需要画一条线
就是当我们要做一个
旋转的螺旋曲面时候
其实想做的事情跟Revolve
我们前面讲到的Revolve差不多
所以我们还需要一个section line
就是一条截面线
所以在这里我们找一个
打开格点捕捉
抓住这个原点之后
在Front视图里画一条
这时可以把格点捕捉取消
然后画一条曲线
这样我们就做了基本的输入准备
这个输入是这样的
下面我们分别用两个curve模块
把两条曲线拿进来
那么我们看到这两条curve
是我们的基础的曲线
一条是轨迹一条是section line
就是截面线
下面我们要做的事情
实际上是希望把
这个section line能够均匀的分布到
这条轨迹上去
所以我们要做的事情是
对这条轨迹做一个切分
切分成均匀的若干块
我们用一个Divide curve
这样我们就得到了十个均匀的切分点
接下来我们可以把这样一条截面线
把它移动到各个切分点上去
move 移动
注意
当我们要把这样一条curve
给它移到各个切分点的时候
当我们要把这样一条curve
给它移到各个切分点的时候
是需要有一个vector
就translation vector
那么移动什么方向多大的距离
那么这个其实也比较好生成
我们其实就是从原点
移动到相应的这些点上去
我们首先有原点XYZ
然后接下来这些是移动的终点
所以我们用一个输入vector
这里有Vector2Pt
就是用两个点生成一个vector
起点是原点
然后终点是线上的这些点
这样我们就有了translation vector
我们直接把这个vector给T
这样就把基础的截面线移到了
这些线上的点上面去
但是为了要形成一个
我们说螺旋曲面
我们如果在这里直接用Loft
显然并不是一个螺旋曲面的形态
因为我们的sec tion line需要自身也需要做旋转
这样才能形成一个向外螺旋曲面
我们先把Loft删掉
现在我们对每一条
移动后的曲线做一个旋转
Rotate
用基本的这个Rotate
那么我们做这个旋转的时候
需要给它Geometry 没问题
我们需要给它一个plane
这个plane其实就是需要有一个
原点或者说旋转的中心点
我们也可以把这个点直接接上去
让它作为旋转的中心
接下来需要得到的是这个A
A就是angle 就是旋转的角度
我们看到现在我们这个螺旋曲线
它的旋转呢应该说
我们这个section line
其实应该让它一共旋转
我们这个section line
其实应该让它一共旋转
从这里到这边一共旋转2π的角度
我们生成一个Range
前面我们用过Range
如果它的缺省值是0到1
等分10段
这个段数正好跟这边的这个截面是对应的
就是曲线的分段数是对应的
那有了这个以后我们输入一个π
然后让我们生成的这些
0到1之间的这些旋转的基本参数
输入到π里头
我们就得到了从0到π的旋转角度
当然0到π的角度不能满足我们的需要
所以在这里
我们还需要对参数做一个调整
鼠标右键
我们可以在这里加入一个expression
就是一个公式
我们输入x*2
那么刚才从0到1的旋转参数就变成0到2
从0.2一直到2
我们把这个角度给它
这样就能看到
我们所有的线都做了0到2π的旋转
但是很不幸的是
这个旋转角度正好反了
大家看到这条线并不是我们想要的旋转方式
实际上我们需要对这条线上的
这些section line的旋转角度再做一个梳理
怎么梳理呢 其实很简单
就是在输出的旋转角度这里
鼠标右键
做一个Reverse
Reverse的结果是
原来这里是从0到2π
经过Reverse以后会变成2π到0
经过Reverse我们看看
现在这些section line是不是都向外了
这个就是我们想要的section line
有了这些曲线以后
我们就可以用Loft或者用Sweep
我们用Sweep来做这样一个螺旋曲面
把最基本的这条曲线作为它的rail
然后把我们生成的这些旋转的面
作为它的section输入进去
这样得到了我们的基本的螺旋曲面
当然大家会说这样的一个螺旋曲面
看起来没有什么意思
当然大家会说这样的一个螺旋曲面
看起来没有什么意思
好 那我们给它一个高度的变化
比如说让这条曲线在中间比较高
转到外面后比较低
所以我们可以用一个Scale
这个Scale对我们旋转得到的这个
section line进行scale
它Scale的中心点
是在这些曲线的等分点上
那么还有一个factor
这个factor怎么确定呢
其实我们可以就用这里生成的range
直接把它接上去
但是这里又会出现一个问题
其实和前面我们遇到的问题是一样的
是因为有一个scale factor是0
所以这样的缩放方式
导致有一条曲线变成了长度是0
也就是不存在了
所以这里我们要做一点小的调整
在domain这边
我们用一个Construct domain
在Math底下
我们用这个运算器来
construct一个domain
它需要一个起点的scale
和一个终点的scale
我们把这个数值放大一点
便于后面调整
我们把起点变小
终点呢可以大一些
经过scale以后的曲线在这里
我们把这条曲线接到section line上面去
这样我们就得到了
一边大一边小的scale过后的曲线
但是这条曲线看起来
跟我们想要的中间高边上低不一致
所以很简单
我们还是在这里对生成的factor
所以很简单
我们还是在这里对生成的factor
鼠标右键做一个Reverse
这样就得到了中间高边上低的一个螺旋曲面
我们把不想看到的这些曲线预览都关掉
有了这条曲线以后
大家注意这里跟我刚才
一开始做的有点出入
因为我调整了初始的旋转角度
那么这个初始的旋转角度
导致这边的第一个section line
有一个不小的旋转
不是向外凸的了
所以在这里重新需要一个Range的运算器
把它替换掉
就是我们分别用两个range
生成不同的旋转角度和scale的比例
两个数据列
这样就生成了一个旋转的曲面
那么有了这个旋转曲面
大家就可以在这个的基础上
那么有了这个旋转曲面
大家就可以在这个的基础上
比如说我们对曲面的输入的基本参考线
做一个调整
对曲线的形状可以有一些
按照自己想法的改变
包括对于这一条section line
我们是不是可以让顶部收的更紧一点呢
或者放的更开一点呢
那么是不是可以让边上更高一点呢
或者让中间更低一点
这个大家可以回去
按照自己的设计的想法来进行调整
我们说这样一种螺旋线的形态
是一个基本的起点
其实大家可以在这个螺旋形态上
再做一些发展
比如说
再做一些发展
比如说
这条螺旋线是不是可以用程序来生成
我是不是可以让它是可调的
我们生成这个曲面的时候
一定要用Sweep这种方式吗
我们生成这个曲面的时候
一定要用Sweep这种方式吗
用截面线来sweep吗
是不是可以在不同高度上
生成不同的螺旋线
是不是可以在不同高度上
生成不同的螺旋线
然后再把它们loft在一起呢
我们是不是可以用这样的方式做出海螺
或者甚至做出花的形态呢
这些是我们今天的作业
在第三步
使用grasshopper
将截面线移动到均匀切分点
并且调整截面线的旋转角度参数
第四步
生成基本的螺旋曲面
第五步呢
回到
第五步呢
回到
调准输入的螺旋曲面的轨迹线和截面线
得到不同的曲面形态
-1.1 参数化设计简介
--1.1
--模型文件
-2.1 Grasshopper简介
--2.1
-2.2 Grasshopper界面与基本操作
--2.2
-2.3 Bake与Internalize Data操作
--2.3
-第二章习题--作业
-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
-第三章习题--作业
-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数据结构(一)--第四章习题
-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曲线与曲面建模-- 第五章习题(二)
-期中作业:工艺品设计
--期中作业
-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数据结构(二)--第六章习题
-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建模技巧--第七章习题
-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建模基础--第八章习题
-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物理模拟--第九章习题
-期末作业: 综合运用
--期末大作业