B样条曲线的控制
来源:互联网 发布:ios内购软件 编辑:程序博客网 时间:2024/05/17 06:53
如何使用B样条曲线的起点和终点在其的第一个控制顶点和最后一个控制顶点上?
答案是调整其节点矢量,使其具有k个重复度,k为阶数。
比如,k=3,有4个控制点为 {-2.0,0.0,1.0},{-1.0,1.0,0.0},{1.0,0.0,-1.0},{-1.0,-1.0,1.0},就需要有7个节点向量,可以是这样子 {1,1,1,2,3,3,3}
得到的图形:
这样的B样条曲线叫做准均匀B样条曲线,英文术语是Open Uniform, 是按照节点向量的类型来分类的。
另一个常见的需要是,一个凸多边形去控制其B样条曲线在其内部形成一个封闭的曲线,如何做到?
经过编程尝试,发现要求首尾有k-1个控制顶点重复,k为阶数。实际上还对节点向量有要求,要求前2k-1个节点与后2k-1个节点的间距h(h>0)相同,即tn+1+i = ti(i = 0, ..., 2k-2).。这里2k-1是这么来的,它等于节点比控制顶点多k个,加上重复的k-1个控制顶点。
比如,k=3,有6个控制点为{-2.0,0.0,1.0},{-1.0,1.0,0.0},{1.0,0.0,-1.0},{-1.0,-1.0,1.0},{-2.0,0.0,1.0},{-1.0,1.0,0.0},就需要有个9个节点向量,比如是均匀B样条的节点形式 {1,2,3,4,5,6,7,8,9},得到的图形:
以上的B样条曲线都是用opengl中的glu库函数gluNurbsCurve画的。
0 0
- B样条曲线的控制
- B-样条曲线:移动控制点
- B样条曲线
- B样条曲线
- B样条曲线
- B样条曲线
- B样条曲线
- B样条曲线
- B样条曲线
- 问题六十一:三次b样条(b-spline)曲线的控制点和曲线形状的对应——以回旋体的“基本曲线”为例
- B-样条曲线的导数
- B样条曲线的绘制
- Bezier曲线和B样条曲线的一些资料
- B-spline Curves 学习之B样条曲线的移动控制点、修改节点分析(7)
- B-样条曲线:开曲线
- B-样条曲线:闭曲线
- 曲线平滑-B样条曲线
- B-样条曲线:定义
- 推荐一些开源资料
- Android的单个文件下载
- 【学习总结】多线程编程
- HTML5简介及新特性
- 关于try-catch-finally-return语句的执行顺序
- B样条曲线的控制
- Java Web工程中设置404页面
- Jupyter notebook 增加Python2.7
- UVA1626 简单DP
- linux硬盘分区格式化及挂载
- POJ 1753 Flip Game (枚举)
- 【学习总结】线程间锁机制
- 查询A库数据插入至B库中
- 浅谈linux系统下的进程通信之管道pipe