Rhino(犀牛)中国技术支持与推广中心

标题: 曲线理论基础 (PDF资料共享) [打印本页]

作者: smk729    时间: 2008-7-1 21:23
标题: 曲线理论基础 (PDF资料共享)
本帖最后由 Jessesn 于 2017-5-3 11:56 编辑

最近要研究理论很头大
   RHINO 課程所得.pdf (366.89 KB, 下载次数: 3489)    
PDF 下载地址 链接: http://pan.baidu.com/s/1pLHf2tl 密码: 51jy

QQ截图未命名.jpg (52.14 KB, 下载次数: 104)

QQ截图未命名.jpg

作者: smk729    时间: 2008-7-1 21:38
标题: 傻瓜问题
用编辑点曲线工具 画的线描的点就是节点吗?

[ 本帖最后由 smk729 于 2008-7-1 21:58 编辑 ]
作者: Jessesn    时间: 2008-7-1 21:39
很不错的资料。:up
作者: Jessesn    时间: 2008-7-1 21:40
原帖由 smk729 于 2008-7-1 21:38 发表
用编辑点曲线工具画的线描的点就是节点吗?


命令不是写了?编辑点画线,肯定是说的编辑点啊
作者: smk729    时间: 2008-7-1 21:42
标题: 理论扫盲中
那编辑点和节点有什么区别啊?貌似都是在曲线上的点啊?
作者: Jessesn    时间: 2008-7-1 21:45
原帖由 smk729 于 2008-7-1 21:42 发表
那编辑点和节点有什么区别啊?貌似都是在曲线上的点啊?


你发的资料上面不是写的很清楚吗??都是用来描述NURBS方程的参数
这么来比方吧,Knot点就是发动机,编辑点就是方向盘,真正对线起
作用的是Knot点,他用来控制线的造型,而给用户来操作的工具就是
编辑点,类似汽车的方向盘
作者: Jessesn    时间: 2008-7-1 21:53
插图片的方法

作者: Jessesn    时间: 2008-7-1 21:54
729
你知道怎么插入图片了吗??
作者: smk729    时间: 2008-7-1 22:00
标题: 谢谢
刚学会:bump
作者: smk729    时间: 2008-7-1 22:01
标题: 可以给图比较下哪个是控制点哪个是节点
用同一段曲线哦
作者: Jessesn    时间: 2008-7-1 22:04
原帖由 smk729 于 2008-7-1 22:01 发表
用同一段曲线哦

作者: smk729    时间: 2008-7-1 22:22
标题: 又要挨骂了没看懂
楼上的线上面那条线的4个点的编辑点
下面那条就2头2个点是节点吗?

从这个图我看不出有什么区别啊:Q

[ 本帖最后由 smk729 于 2008-7-1 22:23 编辑 ]
作者: Jessesn    时间: 2008-7-1 22:23
原帖由 smk729 于 2008-7-1 22:22 发表
楼上的线上面那条线的4个点的编辑点
下面那条就2头2个点是节点吗?

对的,动画GIF中不是有注明吗??
作者: smk729    时间: 2008-7-1 22:44
标题: 实在不是很懂只好用捕捉试下
貌似部分编辑点是节点而节点肯定的编辑点不知道是否真确:L
作者: Jessesn    时间: 2008-7-1 22:45
原帖由 smk729 于 2008-7-1 22:44 发表
貌似部分编辑点是节点而节点肯定的编辑点不知道是否真确:L


两个不通的概念,只是有编辑点和节点重合的时候
例如uniform的线条


作者: smk729    时间: 2008-7-1 22:58
标题: 没懂只好用最傻瓜的方法区分

下面图中的节点是用删除添加节点工具时显示的应该都是节点,实在没招了:Q
作者: Jessesn    时间: 2008-7-1 23:00
原帖由 smk729 于 2008-7-1 22:58 发表
11177
下面图中的节点是用删除添加节点工具时显示的应该都是节点,实在没招了:Q

哈哈,可以这么来理解。
作者: smk729    时间: 2008-7-1 23:13
标题: 继续试验节点与ISO的关系
能对应ISO的才是节点(继续发傻瓜图)
无理论基础的理解方式:L
作者: hubble    时间: 2008-7-2 14:10
好东西 支持
作者: wangfeiqq    时间: 2008-7-2 18:50
学习来了:up

每增加一个编辑点的同时也会增加一个节点.每减少一个编辑点的同时也会减少一个节点.

J大是这个的理论吧.
作者: smk729    时间: 2008-7-2 22:06
标题: 找来一堆看不懂的数学公式
关于NURBS曲线

NURBS曲线是Non-Uniform Rational B-Spline的缩写。直译为不等距有理化B样条曲线,即B样条曲线的一种,是由构成曲线的节点间距不等,并用有理式表达的曲线。B-Spline曲线由I.J.Schoerleig和美国犹他大学的R.F.Riesenfeld提出,它具有Spline曲线和Bziez曲线的优点,由Basis Spline函数构成曲线上的点叫做控制点,这个控制点的指定与变化可以控制曲线的形状。B-Spline曲线叫做节点(Knot),n次B-Spline曲线P(t)表达式如下




式中k次NURBS曲线的基函数Nik(t)由下述递推公式确定

                     

(i=0,1,……n, k>0)

上式中约定0/0=0

由此,n次B-Spline曲线由n-1次曲线联结而形成Spline曲线,B—Spline曲线改善了Spline的连续性。节点间距相等的叫Uniform Rational B-Spline,而节点间距不相等的叫Non-Uniform Rational B-Spline。严密地讲,前者只能近似表达圆柱、圆锥及球等,而后者改进了这一点。其它曲线的基本表达式是多项式,而NURBS曲线则是以有理式为特征的,在作为CAD数据传输交换标准的IGES中采用,主要是作为自由曲线的表达形式。除了容易描述曲线的局部变形以外,对圆柱、圆锥、球以至B-Spline曲线,Bzier所不能处理的双曲线也可以统一标准地表达出来,这是它的一大特征。

2 直线插补在加工中存在的问题

以往将曲线用微小直线逼近直线插补的指令方法,在以下几方面存在着问题。

1) 程序过大加工精度越高,程序指令条也就越多,精度提高1/2,则程序指令条增大2½倍。
2) 必须大量、高速输入程序。
3) 加工面起棱加工面直接反映加工误差,当误差大时,曲面上可以看到近似直线加工所带来的表面不平滑的现象。
4) 延长加工时间根据程序指令加工时,为减小运行冲击需要减速,其结果延长加工时间。

3 NURBS插补的优点

在NURBS插补时,在NC程序指令中,只有三类定义NURBS的数值,没有必要用大量的微小直线段的指令。此外,由于不是直线插补,而NC自身可以进行NURBS曲线插补,可以得到光滑的加工形状,从根本上解决直线插补加工所带来的问题。表现为以下几方面:

1) 程序条变少。
2) 无需向NC进行高速的程序传输。
3) 因为能得到光滑的加工形状,因此可以减少手工光整加工时间。
4) 可以缩短加工时间。与直线插补相比,速度变化平滑,可以缩短加工时间。

4 NURBS插补技术对曲线加工带来的优势

1) 减小程序指令条NURBS插补的程序指令格式见图1。

                     
                                           图1 NURBS插补指令格式


程序段从G06.2指令开始,NC装置读入G06.2后面的三组数据进行插补。这样按定义NURBS曲线的三组数据值,实现NURBS插补。所以,不需要象近似直线插补那样,需要大量的指令信息。程序变小后无需向NC高速传输。

对于模具外形加工,一般来说误差在10μm内时,与近似直线插补相比能减少1/2~1/3左右指令条。

2) NURBS插补的高速计算NC自身计算并生成对NURBS曲线的插补路径,其计算时间越来越短,插补点距变小,其光滑性得到了提高。

以加工曲率半径为R50mm,用0.2g(g为重力加速度)加速度高精度加工为例(图2)。



                             
                                 图2 插补中误差分析

在曲率半径r=50mm外形上,以v=18.8m/min速度,法线方向加速度0.2g加工时,NC装置每隔1ms插补长度l=0.313mm,给出进给指令,此时的误差Δδ为
Dd=l2/(8r)=0.3132/(8×50)=0.245(µm)

这样即使是非常高速的加工,利用NURBS插补也可以实现精度在1μm以内的高精度加工。

缩短加工时间近似直线插补时,为降低直线端速度冲击,
刀具进给速度就要降低,而一旦进给速度降低,就要反复加速。NURBS插补在机械允许的速度矢量方向变化的加速度范围内,以最高速度加工,在曲率一定的情况下,NURBS插补无需减速(图3)。


                              
                                                   图3 直线插补与插补的切削速度变化对比

此外,NURBS曲线插补还带来了相关的优良加工特性,如实现无手工打磨的高质量、光滑的精加工。最大地利用高速数控加工机床的CNC特性。

刀具切削力稳定,延长刀具寿命,可直接利用CAD/CAM NURBS曲线生成相应的刀轨文件等。


5 发展动向

软件方面的最新发展

基于Windows平台的3维CAD软件中主要有以下几个特点:

·在带有草图特征参数化实体造型中,有NURBS曲线和曲面生成功能。
·具有零件装配及干涉检查。
·强化3维图形转为2维图纸的功能。
·
PDM要求的方向靠近支持NURBS基于Windows的3维CAD软件。

硬件技术方面的最新进展

要实现NURBS曲线插补,NC设备必须具备NURBS插补执行功能。目前具有NURBS功能的控制系统主要有:FANUC的15—MB/16-MC;牧野的超级Hi2-NC;东芝机械的TOSNUC888等。
总之,从各方面的情况来看,NURBS插补所具备的平滑稳定的优越性将越来越被人们所重视,并在曲面加工中得到广泛的应用。NURBS插补技术已经成为NC制造技术的一项支撑性技术,它将大大地提高数控切削制造技术的整体水平。随着时间的推移,它的卓越的技术性能将会有更大的发展。


作者: Jessesn    时间: 2008-7-2 22:26
原帖由 wangfeiqq 于 2008-7-2 18:50 发表
学习来了:up

每增加一个编辑点的同时也会增加一个节点.每减少一个编辑点的同时也会减少一个节点.

J大是这个的理论吧.


暂时Rhino没有提供减少编辑点的指令,有提供增加编辑点的指令
编辑点的增加和减少确实回影响到knot点,但是他们之间的关系不是你说的这样
Knot点的多少和曲线的Degree有关系,和控制点有关系
节点数等于 ( 代表控制点的数量+ 阶数 - 1 ),所以插入一个节点会增加一个控制点,
移除一个节点也会减少一个控制点。要注意的是插入节点时可以不改变 NURBS 曲线的形状,
但通常移除节点必定会改变 NURBS 曲线的形状。
作者: My    时间: 2008-7-2 22:37
我晕```````````
那弄来的这么多东东吖:o
老兄真好学!!!!
:up
作者: wangfeiqq    时间: 2008-7-2 23:00
原帖由 jessesn 于 2008-7-2 22:26 发表


暂时Rhino没有提供减少编辑点的指令,有提供增加编辑点的指令
编辑点的增加和减少确实回影响到knot点,但是他们之间的关系不是你说的这样
Knot点的多少和曲线的Degree有关系,和控制点有关系
节点数等于 ( 代 ...


:playUp
作者: smk729    时间: 2008-7-3 09:02
标题: B样条曲线原理
因为B样条曲面是在s,t两个方向上的两组B样条曲线组合而成的,了解了B样条曲线也就了解了B样条曲面,所以下面仅讲了B样条曲线。
沿B样条曲线的坐标位置可表示为:
其中,umin u umax 2 d n+1
n+1为控制点个数,Pk是第k个控制点,Bk,d是次数为2~d-1的多项式。
Bk,d(u)递归定义为:

请注意以下B样条性质:

非均匀样条:节点向量的值与间距可以为任意值值。这样我们可以在不同区间上得到不同的混合函数形状,为自由控制曲线形状提供了更大自由。

关于节点向量值:均匀与非均匀的主要区别在于节点向量的值。如果适当设定节点向量,可以生成一种开放均匀样条,它是均匀与非均匀的交叉部分。开放样条在两端的节点值会重复d次,其节点间距是均匀的。例如:
{0,0,1,2,3,3},(d=2n=3
{{0,0,0,1,2,2,2},(d=4,n=4)。
开放均匀B样条与贝泽尔样条性质非常类似,如果d=n+1(即多项式次数为n),那么开放B样条就变成了贝泽尔样条,所有节点值为01。如四个控制点的三次开放B样条,节点向量为:{0,0,0,0,1,1,1}

有理B样条:有理函数是两个多项式之比,有理样条(rational spline)是两上样条函数之比,有理B样条用向量描述为:
其中Pk是控制点位置,ωk是控制点Pk的权因子,其值越大,曲线越靠近控制点Pk
有理B样条有两大优点:
齐次坐标表达式用于有理样条,这是因为分母可以看成控制点四维表达式中的齐次因子,即,有理样条可以认为是四维非有理样条在三维空间的投影。

OpenGL中,提供了gluNurbsSurface命令来生成非均匀有理B样条。
procedure gluNurbsSurface (nobj: GLUnurbsObj;
sknot_count: GLint; sknot: PGLfloat;
tknot_count: GLint; tknot: PGLfloat;
s_stride, t_stride: GLint;
ctlpts: PGLfloat; sorder, torder: GLint; _type: GLenum);
(s/k)knot_count是节点数,(s/k)knot指向节点向量值,ctlpts指向控制点,(s/t)stride指定使用控制点数组中的哪一块(即可以定义一个很大的数组,每次使用其中的一块),(s/k)order样条函数次数。最后_type说明生成什么坐标(可以是纹理、法向、顶点等)。
注意,前面提到的n这里没有对应参数,控制点数:
n+1=(sorder-sknot_count)* (torder-tknot_count)
作者: lyxj2    时间: 2008-7-12 13:14
高深的理论啊~~~
先把这个慢慢看懂了在说~~
:playUp
作者: lyxj2    时间: 2008-7-12 13:42
基本上搞明白了~~
就和J大所说一样~~
节点就是是发动机,编辑点就是方向盘~~
我们是应用软件的,所以不需要精通这个到底是怎么来的~了解就好~~~
就好比我们开车,一般情况下不会学习发动机的原理,只需要学习点火,启动,等等,
至于楼主所说的编辑点和这个节点,我也看了楼主发的资料,说实话,确实看起来费劲,不过有一点,就是他的根本上还是节点的应用,我们现在用的控制点也好,编辑点也罢,都是转化后容易很多的命令,所以感谢这些研究的学者们,向你们致敬~~
还有,就是让我明白了节点的关系:       节点=控制点-阶数+1
也明白了为什么我们画线时为什么尽量少用控制点的原因,其实就是节点的原因,我们知道,节点越少,面就会越简单~~
感谢楼主,也感谢J大,希望后来的朋友都有所收获~~~:)
作者: watleliang    时间: 2008-7-14 10:07
:playUp 节点就是发动机,编辑点就是方向盘~~
作者: smalltotal    时间: 2008-10-26 13:16
好资料啊!!!
顶上去呵呵
作者: leegp    时间: 2008-10-30 21:22
我靠
头晕:bumpAgain
作者: qie31    时间: 2008-11-3 10:06
学习学习
作者: fengzi    时间: 2008-11-9 12:21

作者: 曾燕斌    时间: 2008-11-9 12:31
正在建比赛作品的模型------需要大量的练习与理论也--------
作者: 鹰城浪子    时间: 2008-11-19 22:45
hehe ~~:up :up :up
作者: 花林    时间: 2008-12-16 16:54
真的晕了.
作者: mzhenzhi    时间: 2008-12-26 01:56
哈哈了解根本才是真道理
作者: gutslee    时间: 2009-2-10 15:08
好东西~~
作者: woshicjx    时间: 2009-2-11 21:29
那么 高深啊~了解了解!
作者: xjh    时间: 2009-2-16 10:03
谢谢共享
作者: qqlq    时间: 2009-2-17 04:29
学习谢谢
作者: xiaoxx    时间: 2009-3-3 14:13
谢谢楼主了哈。:happy
作者: dan880628    时间: 2009-4-28 19:40
不错。。。。。
作者: matador    时间: 2009-5-5 18:33
谢楼主分享和J大的耐心讲解。

虽然这理论比较高深,但是确实特别有用。一定要理解、消化呀!
作者: evanc    时间: 2009-5-8 15:19
謝謝分享,很不錯的教材
作者: lanyu00    时间: 2009-5-20 22:00
不错啊    可以多上传些  啊
作者: 071103105    时间: 2009-6-8 10:52
谢谢!下来试试
作者: momo_zmc    时间: 2009-6-8 11:17
学习  学校~~
作者: erik1011    时间: 2009-6-9 09:37
这个咋~~~实际应用~~
作者: 清一    时间: 2009-7-13 20:44
不错的课程  
让自己的理论知识更强化啦
谢啦 :)
作者: kkjunmei    时间: 2009-7-21 21:27
這麼多東西,看得我頭都暈了:loveliness:
作者: wmc    时间: 2009-7-21 22:31
謝謝樓主
作者: lonlye    时间: 2009-7-23 23:51
明白了不少东西,谢谢那么多高手奉献
作者: dan880628    时间: 2009-7-24 22:47
谢谢楼主。。
作者: 381293160    时间: 2009-8-7 11:58
昏了 汗。。。
作者: 287854958    时间: 2009-8-21 11:18
hhhhhhhhhhhhhhhhhhhhh
作者: 69112009    时间: 2009-9-5 18:55
這資料不錯...大大謝了^^
作者: rnow    时间: 2009-10-27 06:20
xiexiele
作者: myyoufour    时间: 2009-11-1 17:14
膜拜!!!
作者: lkouun    时间: 2009-11-1 17:24
很不错的资料
作者: lanansi520    时间: 2010-3-7 01:35
:):):)不断学习咯
作者: macaron    时间: 2010-3-8 06:06
感谢台湾同胞
作者: design609    时间: 2010-3-23 12:16
好东西,:)
作者: 城市贫民    时间: 2010-3-23 21:30
很好的资料,重要的是不用钱,谢谢楼主
作者: brucelee    时间: 2010-5-6 11:10
ding  yi  xia a
作者: 3982059    时间: 2010-5-9 16:45
本人是菜鸟,最近刚下载了 Rhino4.0 。想用它的nurbs功能,现在遇到一个问题,希望高手帮忙解答:

据本人所学的nurbs曲线的理论知识,若一条degree次nurbs曲线的控制点数目为N,那么 节点数 =degree+N+1。但是使用rhino的控制点曲线命令画出的nurbs曲线,用分析→检测→列出数据  命令,得出的曲线数据中节点数目 始终 比按上述公式计算的少两个。在rhino帮助文件中,它也提到rhino自身采用节点数=degree+N-1的算法,还说
“现在还有些软件使用旧版本的NURBS转换法。旧版本的NURBS转换法在计算knots值时,须在总额为degree+N+1 knots再额外多加两个knots值。当RHINO在输入或输出NURBS几何资料到这些软件时,会自动地增加或减少两个多余的knots值以符合其正确性。”

  可是我们现在要用 degree+N+1 个节点值,请问 这额外的 两个节点 应该怎么加啊?
  另外nurbs 新、旧转换法是什么意思?
  谢谢各位了!~
作者: super_987329    时间: 2010-6-17 01:30
xie~~~~~~~~~~~
作者: 曙光    时间: 2011-3-15 22:02
没看懂。。。。我的信心都快没了~~告诉我去哪里能鼓点劲,继续学犀牛,争取做高手。。。。
作者: 曙光    时间: 2011-3-15 22:04
曲线理论基础(资料共享)
做个标记,以后慢慢看,对了,论坛的帖子能直接添加到个人用户里收藏吗?不然怕下次找不到了
作者: delacaola    时间: 2011-3-22 11:33
好教程啊!膜拜ing.....
作者: sev    时间: 2011-3-22 15:21
一定要看~~~~
1# smk729
作者: vincent_id    时间: 2011-5-29 00:22
学习一下,好东西
作者: 340217416    时间: 2011-5-30 11:47
up 好东西啊
作者: dreamer0o0    时间: 2011-6-7 04:34
楼主很认真啊 顶一下
作者: caga凌落    时间: 2011-11-30 22:04
看看能不能学会~嘻嘻~
作者: justfeel    时间: 2012-5-23 15:52
补习理论知识
作者: apple哥    时间: 2012-8-6 19:23
很不错的资料!谢谢楼主啊
作者: SPILL    时间: 2012-10-3 00:16
Jessesn 发表于 2008-7-2 22:26
暂时Rhino没有提供减少编辑点的指令,有提供增加编辑点的指令
编辑点的增加和减少确实回影响到knot点, ...

J大   哈哈,估计你被童鞋问晕了
k =  cp - d + 1
无意中看到的,J 大原谅~
作者: a1781314    时间: 2012-10-4 10:03
好帖,,不能沉~~
作者: donocui    时间: 2012-10-4 10:24
看看好资料
作者: scar_g    时间: 2012-10-12 10:06
理论学习,我喜欢的
作者: lightfreud    时间: 2012-10-12 11:27
学习一下!
作者: 短笛    时间: 2012-10-13 19:47
好好学习,天天向上
作者: 宋睿帆    时间: 2012-10-18 10:16
bbs.rhino3d.asia
作者: wei4833801    时间: 2012-10-18 15:12
学学理论
作者: a205020    时间: 2012-10-20 03:23
感謝分享!
作者: newhouese    时间: 2012-10-27 20:23
来看看理论!
作者: lx25120209    时间: 2012-10-27 22:36
同学理论。
作者: Barrios    时间: 2012-10-28 02:48
很不错的资料
作者: magicmail    时间: 2012-10-28 07:46
非常有用的知识,谢谢!
作者: 118186294    时间: 2012-11-1 11:22
学习了。13
作者: wangyunjie    时间: 2012-11-1 11:42
很不错的资料。:up
作者: 乌龙哥    时间: 2012-11-1 12:59

作者: royaltoo2006    时间: 2012-11-3 22:23
推一個
作者: Taurus    时间: 2012-11-4 02:53
啥子意思幺
作者: 爿爿    时间: 2012-11-4 03:07

作者: ABC20091118    时间: 2012-11-4 08:16
看看!!!!!!
作者: micc    时间: 2012-11-4 20:08

作者: vitasksg    时间: 2012-11-29 18:28
很不错的资料

作者: iapple    时间: 2012-12-1 02:09
看帖不回者 么有小JJ.........

作者: cgl812036    时间: 2012-12-1 11:40
786666




欢迎光临 Rhino(犀牛)中国技术支持与推广中心 (http://bbs.rhino3d.asia/) Powered by Discuz! X3.2