B样条基函数

eryar

Dare to Dream, Dare to Create!
posts - 101, comments - 53, trackbacks - 0, articles - 0

导航

公告

Blog中发表的文章,如无说明,都是原创。若需引用,请注明出处。eryar@163.com
<2013年3月>
242526272812
3456789
10111213141516
17181920212223
24252627282930
31123456

常用链接

留言簿(4)

随笔分类

随笔档案

搜索

  •  

最新评论

阅读排行榜

评论排行榜

60天内阅读排行

B-Spline Curve Library in Open Cascade

Posted on 2013-03-12 20:48 eryar 阅读(1436) 评论(1)   编辑  收藏 引用 所属分类: OpenCASCADECAGD

B样条曲线库BSplCLib提供了一些基本几何算法:

l B样条基函数及其导数的计算BSplCLib::EvalBsplineBasis();

l 节点插入BSplCLib::InsertKnot();

l 节点去除BSplCLib::RemoveKnot();

l 升阶BSplCLib::IncreaseDegree();

l 降阶;

结合《The NURBS Book》和Open Cascade中的BSplCLib的源程序,可以高效的学习NURBS。《The NURBS Book》中有详细的理论推导及算法描述,而Open Cascade中有可以用来实际使用的程序。理论联系实际,有助于快速理解NURBS的有关概念及其应用。

三、 OCC中B样条曲线库的节点和重数Knots and Multiplicity in BSplCLib

由B样条曲线的可微性可知,节点的重数与B样条曲线的连续性相关。在节点区间内部,Ni,p(u)是无限次可微的,因在每个节点区间内部,它是一个多项式。在节点处Ni,p(u)是p-k次连续的,其中k是节点的重复度(multiplicity,有时也称为重数)。因此,增加次数p将提高曲线的连续性,而增加节点的重复度则使连续性降低。

重复度(multiplicity,有时也称为重数)有两种不同的理解方式:

l 节点在节点矢量中的重复度;

l 节点相对于一个特定的基函数的重复度;

在Open Cascade中对重复度的理解是前者,即节点在节点矢量中的重复度。下面结合源程序来进行说明。

函数BSplCLib::Knots()用来将给定的节点矢量(节点序列knot sequence)转换为节点的重复度不大于1的Knots数组和每个节点对应的重复度Mults数组,且数据Knots和Mults的长度必由函数BSplCLib::KnotsLength()得到。Knots()函数的源程序如下所示:

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值