当前课程知识点:Grasshopper参数化设计与建模 > 第五章 Nurbs曲线与曲面建模 > 5.5 Nurbs与向量 > 5.5.2
返回《Grasshopper参数化设计与建模》慕课在线视频课程列表
返回《Grasshopper参数化设计与建模》慕课在线视频列表
那么叉积有什么样的用处呢
我们回到刚才的曲线的程序
就是我们演示这个曲线的程序
我们已经有了这个向量是它的切向量
还有这个向量
这个向量是从曲率这个模块里头得到的
它是它的法向量曲线的法向量
那么这个时候呢
我们可以把切向量和法向量
用叉积把它结合在一起
就会得到一个新的向量
这个时候它的切向量跟法向量的一个组合
然后我们再把它显示出来
大家看到这里两个向量的叉积
得到的一个新的向量
跟切向量跟法向量都垂直的一个向量
那么这个向量
一般在关于曲线的数学上我们叫做
负法向量
这是法向量 切向量
而这个叫做负法向量
这个时候如果我们拖动我们的滑动条
就会看到这样一个系统
它可以在曲线上流动
这样一个坐标系呢
我们也可以在它上面画一个长方体
我们让它更形象一些
Center Box
这个时候我们需要一个Base
这个Base是一个平面
但实际上它就是一个局部坐标系
所以我们要在这里组合成一个局部坐标系
怎么组合呢
我们在这里Vector底下
有叫Construct Plane
怎么去组合出一个局部坐标系
首先需要一个原点
这个原点就是
我们通过Evaluate Curve得到的
x方向
当然我们可以直接使用它的
切向作为x方向法向作为y方向
这样就得到了一个平面
然后我们把这个平面给b
现在x-y-z三个方向
我们先使用它的缺省值演示一下
大家看到这个方盒子
它在不断地变换它的方向
但是它是符合了
我们说经过曲线在任意一点的
切线方向跟法向方向定义的局部坐标系的
这是它的一个逻辑
这里我们可以给它输入一个Slider
1.000
去改变一下z方向的高度
让它变成一个比较扁的盒子
我们也可以把这里的组成
局部坐标系的y向量
用刚才得到的负法向量去替换它
那么这时候
盒子的方向就发生了变化
变成了跟刚才垂直的方向
当然我们说这样一种
构造局部坐标系的方式
我们通过向量叉积的方式
给大家做了比较详细的介绍
实际上在Grasshopper里面
我们有更方便的
从曲线上得到这样的基本坐标系的方式
我们输入Frame
我们发现这里有很多跟Frame相关的
运算器
我们拿到Curve Frame
然后把参数给它这里的t给它
我们就直接得到了一个Frame
这个Frame
它是切向跟法向组成的
这个平面作为它的x-y平面
然后得到的一个Frame
实际上跟刚才我们
如果我们这里y用
这边的法向量来替代的结果是一样的
所以我们用这个Frame去
替换Base Plane
是没有差别的结果是一样的
我们之所以要在这里给大家讲很多关于
点积和叉积
点积前面讲过了 和叉积的内容
那么实际上我们在应用的时候会遇到
不是这样标准化的应用的场景
那么大家在学习了这样的
点积和叉积的运算以后
未来处理跟方向相关的跟矢量相关的
这些运算就会很方便
刚才说到Frame
我们输入Frame的时候
我们会得到各种不同的Frame
那么比如说这个叫做Curve Frames
多了一个s
我们看到这个图标呢
也显示它是多个Frame的一个组合
在这里我们如果要是输入
一个curve
在这边给它一个数量的话
那么它就会在这个曲线上
等间距地生成一系列的frame
那么我们可以给它一个20的slider
看一下这个效果
这个时候如果大家要想
生成一系列的这种盒子
那么我们就会得到这么多的盒子
当然这里有点密
我们可以调的小一点调的少一点
那么我们说frame是生成了
一系列的坐标系
它是跟曲线自身的性质相关的
一系列的局部坐标系
其中这个单个的curve frame
能生成一个局部坐标系
而curve frames呢
可以生成一系列的局部坐标系
当然我们如果输入frame
我们还有其他的一些
跟curve相关的局部坐标系
比如说这个叫做horizontal frame
水平的frame
如果是我们去把curve给它
然后把这里的slider的
我们说把一个参数给这边
那我们就会得到一个
水平的局部坐标系
然后我们可以有
horizontal frame我们也可以有多个
那么这个时候如果给它一个curve
然后把这里的
slider提供的整数给它
那么就会得到一系列水平的frame
什么是水平的frame呢
我们把这个得到的frame
在这里替换掉base plane
我们会看到
所有的盒子都变成水平的了
这个时候这些盒子
会根据曲线的切线方向
来确定它的水平方向的朝向
但是它在其他方向
会考虑到实际坐标系的xy平面
然后得到水平的这样一个坐标系
我们可以稍微地调整一下
让它更清晰一些
然后horizontal frame有什么用呢
我们说当我们需要生成一条
水平的坡道的时候
那么我们就需要
跟地面平行的这样一个方向
那么horizontal frame就非常方便
可以做到这一点
我们在后面的案例中
会给大家做进一步的介绍
除了horizontal frame
我们还有vertical frame
或者叫perpendicular frame
当然这里有perpendicular frame的
单个的版本
我们把下面这个程序调整一下位置
那么这个时候把参数给它
前面这些预览呢
可以把这个盒子的预览先关掉
我们得到了一个
叫perpendicular frame的
然后这些也可以关了
那么perpendicular frame
它是什么特点呢
它的x和y方向
组成的这个局部坐标系的平面
是跟曲线垂直的
或者说它考虑到这个切线方向
作为它的z方向
我们看一下
当我们把curve全都给这个frame
给它生成多个
perpendicular frame的这个运算器
我们就会得到一系列的
这样的局部坐标系
在做一个perpendicular frame的时候
我们可以想象
实际上这个曲线如果我们只考虑
这样一个基本的平面
它跟曲线的行走方向是垂直的话
这个plane呢是可以旋转的
它可以改变它的方向
那么这个时候
这个运算器到底怎么来决定它的方向呢
那么实际上它是
在perpendicular frame里面
它是考虑了曲线的扭转
来决定这个方向的
我们借用一下上节课
我们做过的这个双螺旋的模型
把其中一条删掉
然后看一下
如果大家仔细观察的话
其实这条曲线
当我们把它做成方管子的时候
这个管子在不断地扭转的
我们可以在这里
把这个方盒子的演示把它去掉
然后我们可以把这里的frame
给它解开
这里有deconstruction plane
plane和frame其实是一回事
我们把它解开
然后去展示一下它的vector
它的原点和它的比如说我们说x方向吧
或者y方向
大家就会看到即使我们换一个视图
在front视图底下
我们会看到实际上这个曲线
它上面的perpendicular frame
它的分量实际是在不断地旋转
不断地扭转
这个方向一直在改变
所以这个perpendicular frame
跟前面两种frame不太一样的地方
就是它考虑了曲线的扭转
来生成相应的方向
具体的原理呢
我们这里就不做展开了
总结一下本节的要 点
与NURBS曲面
曲线相关的向量操作
包括Curvature
Curvature Graph
接下来是向量的点积
叉积的概念与运算方式
最后是
如何获取
曲线的切向量
法向量以及Curve Frame的方法
-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物理模拟--第九章习题
-期末作业: 综合运用
--期末大作业