B样条总结

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.利用算法DecomposeCurve中的方法提取曲线的
第i个Bezier段 2.升阶第i个曲线段;


3.消去可以消去的连接第i-1段和第i段的节点
降价

DegreeElevateCurve
从B样条曲线提取出第i个Bezier段;

对第i个Bezier段降价;

消去连接第i-1段和第i段不必要的节点。
B样条曲线的导矢

公式
两个算法 CurveDerivsAlg1和 CurveDerivsAlg2
CurveDerivsAlg1:类似计算B样条一点的算法 用到算法DersBasisFuns2 CurveDerivsAlg2:先通过算法CurveDerivCpts计 算导曲线的控制点,再和AllBasisFun结合计算

、 、
计算所有p次基函数的值及它们各阶 导数的算法DersBasisFuns2

计算并存储k=0的如下矩阵

ቤተ መጻሕፍቲ ባይዱ
计算基函数Ni,p的各阶导数时,加载 对应 的直角三角形边上和内部对应的p-k次那一列,然 后按照前述过程计算
B样条曲线

定义
上的B样条基函数

计算B样条曲线上的对应点(算法CurvePoint) 1.找到u所在的节点区间(算法FindSpan) 2.计算此区间上所有非零基函数的值(算法 BasisFuns) 3.将非零基函数的值与相应的控制点相乘再求和。


局部修改性强
曲线的阶次由控制参量p 决定

特征多边形顶点个数决定 曲线的阶次

基本几何算法


插入
将 插入U,则形成新的节点矢量 节点插入实质上只是向量空间基底的改变,而曲 线在几何和参数化方面均不改变。通过节点插入,能 够计算曲线上的点及导矢,进行曲线细分,增加控制 点数使形状控制更灵活。

NURBS曲线
——描述高次曲线的一种参数数学方法 姓名:*** 研究方向:工业机器人 导师:***教授
描述曲线的各种方法



一、幂基曲线 二、Bezier曲线 三、B样条曲线 四、非均匀有理B样条曲线(NURBS曲线) NURBS曲线的基本几何算法(插入、 细化、去除、升阶、降阶)
幂基曲线
总结


Bezier曲线不具有局部控制性 插入、细化、升阶算法都是在NURBS曲线 不变的前提下,通过改变控制点,使得形 状控制更加灵活;去除和降价算法有误差, 曲线有偏差。 不足:不知如何应用B样条曲线。
谢谢
计算B样条基函数

计算p次所有非零基函 数的算法 BasisFuns

计算单个基函数的算 法OneBasisFun
B样条基函数导数

B样条的基函数的求导公式

反复对上式两端求导,得到一般的求导公式
计算单个基函数k阶导数的过程
DersOneBasisFun

计算并存储对应于k=0的三角形表 加载三角形表中包含p-k次基函数那一列,然后按 照上述过程递推计算
法二:deCasteljau(德· 卡斯戴尧)算法,即线 性插值的方法

三次Bezier曲线线性插值

为了描述或拟合一些复杂的形状,需要采 用高次曲线;Bezier曲线不具有局部性,所 以我们需要采用分段多项式表示的曲线来 解决
fi(u)为基函数

B样条曲线

B样条基函数:(递推定义) U = [u0,u1,u2,……um]是一个单调不减的实数 序列,ui为节点,U称为节点矢量,Ni,p(u) 表示第i个p次(p+1)阶B样条基函数


计算导曲线控制点

由 到 递推
和 其中



过程:
NURBS曲线

定义
给定一组控制点Pi和权因子Wi,构造带权控制点 ,四维空间定义的B样条曲线用透 视变换可得三维空间的NURBS曲线 算法CurvePointPw 算法RatCurveDerivs
比较
Bezier曲线 局部修改性差 NURBS曲线
n次曲线的幂基表示形式是: C(u)= 系数ai传递很少的关于曲线形状的直观几 何印象 Horner(霍纳)算法:递推,多项式求 和的算法,计算幂基曲线上的点(0<=u<=1)
Bezier曲线

求Bezier曲线上的点:


法一:所有基函数(AllBernstein)和对应点相乘并求和,算 法PointOnBezierCurve 。 Bernstein的递推定义:


算法CurveKnotIns 通过节点插入计算NURBS上一个点:
矢的算法:deBoorBspline
CurvePntByCornerCut,计算导曲线某一点及其各阶导
节点细化
将NURBS曲线分解为Bezier曲线段
节点去除(节点消去,knot removal)
对三重曲线的节点消去三次
升阶
相关文档
最新文档