Nurbs曲线详解

article/2025/8/21 11:35:49

NURBS(Non Uniform Rational B-spline)曲线通常称为非均匀有理B样条曲线,其数学定义如下:
这里写图片描述
基函数由递推公式定义:
这里写图片描述
非均匀:指节点向量的值与间距可以为任意值。这样我们可以在不同区间上得到不同的混合函数形状,为自由控制曲线形状提供了更大自由。均匀与非均匀的主要区别在于节点向量的值。如果适当设定节点向量,可以生成一种开放均匀样条,它是均匀与非均匀的交叉部分。开放样条在两端的节点值会重复d次,其节点间距是均匀的。例如:
{0,0,1,2,3,3},(d=2,n=3)
{0,0,0,1,2,2,2},(d=4,n=4)
开放均匀B样条与贝泽尔样条性质非常类似,如果d=n+1(即多项式次数为n),那么开放B样条就变成了贝泽尔样条,所有节点值为0或1。如四个控制点的三次开放B样条,节点向量为:{0,0,0,0,1,1,1}。
有理B样条:有理函数是两个多项式之比,有理样条(rationalspline)是两个样条函数之比,有理B样条用向量描述。
URBS曲线由以下三个参数定义:
(1) 控制点 :确定曲线的位置,通常不在曲线上,形成控制多边形。(见图1,图中)
这里写图片描述

图1 控制点移动对曲线的影响

(2) 权因子:确定控制点的权值,它相当于控制点的“引力”,其值越大曲线就越接近控制点(见图2,Bi为控制点)。
这里写图片描述

图2 曲线随权因子变化

(3) 节点矢量K:NURBS曲线随着参数K的变化而变化,与控制顶点相对应的参数化点K称为节点,节点的集合Ki:[K0,K1…,Kn…,Kn+m+1]称为节点矢量。
节点:在曲线上任意一点有多于一个控制点产生影响(除了bezier的端点),节点就象一种边界,在这个边界上一个控制点失去影响作用,另一个控制点取得影响。

2、NURBS曲线怎样通过首末节点
多重节点序列使得样条曲线更靠近于重复节点位置。如果末端节点重复d+1次,则d阶B-样条必须插值最后一个控制点。因此,解决样条曲线不能横跨整个控制顶点序列的一个方法是,重复首尾两个节点,这样得到的样条曲线将插值首尾两个控制点。

对于非周期的样条,节点矢量为

这里写图片描述
即节点矢量两端各有m+1个相同的节点,以便曲线通过控制多边形首、末端点,并与首、末两边相切。

(参考系统编程篇§2.7程序示例)

3、NURBS曲线轨迹的矩阵计算法及矩阵表示
因NURBS样条函数的节点参数沿参数轴的分布是不等距的,不同节点矢量形成的B样条基函数各不相同,需要单独计算,且算法中又增加了权因子,所以曲线轨迹点的计算较为复杂、费时,为了提高NURBS曲线插补的实时性,在实时插补前需进行必要的预处理,其主要任务是确定NURBS曲线轨迹计算公式的有关系数,以简化实时插补的计算量。
若曲线采用三次NURBS形式表示(三次与K次计算方法相同,表达式不同),即K=3, ,则第i段曲线可以写成下列矩阵形式:
  
这里写图片描述
整理可得:
  这里写图片描述

由于控制点di及权因子Wi 均已知,而Mi仅与节点向量有关,也是确定的,Ci与Mi、Wi、di有关,即也是确定的,故式中各项系数均已知,且与插补点的参数无关,可在插补前一次性求出,因式中i的取值为3到n,所以对整条NURBS曲线,可计算出的系数共有n-2组,在插补中根据插补点所在的位置动态选用相应的系数。

对于曲线上坐标X、Y、Z分别有:
这里写图片描述


原博客地址:链接


http://chatgpt.dhexx.cn/article/plRZ46kP.shtml

相关文章

NURBS曲面结构及生成原理、修改方法

NURBS全称是Non-Uniform Rational B-Splines中文叫做非均匀有理B样条曲线,Rhinoceros中的模型曲线便是通过NRUBS曲线进行描述,曲面则是通过U和V两个方向的曲线集合来得到,如图: Rhino如何生产曲面原理 由上图我们发现就像织布一样…

MySQL数据库增量备份及恢复方案

MySQL数据库增量备份及恢复方案 u 前言 操作系统崩溃、电源故障、文件系统崩溃和硬件故障等异常状况都可能导致我们正在使用的数据库出现故障而产生数据库中数据不一致的情况。为了保证数据库使用安全,必须定期备份数据库;数据库备份可以分为&#xff1…

差异增量备份和累积增量备份区别(有图)

所谓增量备份,顾名思义即是每次备份仅操作那些发生了"变化"的数据块。RMAN中增量备份有两种:Differential 方式和Cumulative方式。 1、差异增量备份Differential 说起Differential,相当有意思,大家可以这样理解。有一…

数据库的备份与恢复(完全备份,增量备份)

目录 1. 数据库备份的分类1.1 从物理与逻辑的角度,备份可分为1.2 从数据库的备份策略角度,备份可分为 2. 常见的备份方法3. MySQL完全备份与分类3.1 完全备份概述3.2 备份方式3.2.1 物理冷备份及恢复3.2.2 使用专用备份工具 mysqldump3.2.2.1 备份库3.2.…

图解完全备份,增量备份,差异备份

因为网上说的全部都是copy的,所以自己去理解了一下然后整理了一下。 完全备份 完成备份我相信大家都理解,就是一下子备份所有的内容。 增量备份 如上图所示,比如一家公司,周一这家公司进行完全备份,然后周二备份周一…

MySQL 增量备份与恢复

目录 引言一、MySQL 增量备份1. 增量备份特点2. 示例 二、MySQL 增量恢复1. 增量恢复的场景2. 丢失完全备份之后更改的数据的恢复3. 完全备份之后丢失所有数据4. 基于时间点与位置的恢复4.1 基于时间点的恢复4.2 基于位置的恢复 5. 指定企业备份策略的思路 总结 引言 完全备份…

增量备份恢复

** 增量备份恢复案例 **1、配置mysql,设置日志文件 [rootlocalhost bak]# vim /etc/my.cnf 添加: log-binmysql-bin2、重启mysqld服务 systemctl restart mysqld查看日志文件: mysqlbinlog /usr/local/mysql/data/mysql-bin.0000013、创…

mysql实现增量备份

有点要注意 如果你误删了表 想通过这个恢复 必须恢复日志里面有创建表的日志 不然的话是无法回复的 就是必须是从你开始创建表的时候就已经记录日志了 恢复到哪个位置 就按照哪个位置来计算 mysql 5.0不支持增量备份 增量备份定义 mysql数据库会以二进制形式 自动把用户对my…

什么是全量备份,增量备份,差异备份?

背景 今天我司服务器工程大牛看我在备份数据,冷不丁提到了差异备份;但是才疏学浅的我却不知何为差异备份,故而以此为引,开始了对全量备份,增量备份,差异备份这三者的研习;经过一番寻觅,最终找到了他们.呵呵 希望大家有所受益! 问题 1. 什么是全量备份? 2. 什么是增量…

MySQL完全备份和增量备份

MySQL日治管理、数据库备份与恢复 备份的主要目的是灾难恢复,备份还可以测试应用、回滚数据修改、查询历史数据、审计等。而备份、恢复中,日志起到了很重要的作用 一、日志 MySQL的日志默认保存位置为 /usr/local/mysql/data 1.日志类型与作用 ①re…

MySQL 数据库备份(增量备份与恢复)

目录 一、MySQL 增量备份 1.增量备份的概念 1.1 为什么使用增量备份 1.2 增量备份的特点 2.增量备份示例 二、MySQL 增量恢复 1.增量恢复的场景 2.丢失完全备份之后更改的数据的恢复步骤 3.完全备份之后丢失所有数据的恢复步骤 4. 基于时间点与位置的恢复 4.1 基于时间…

mysql数据的备份与恢复

mysql数据的备份与恢复 日志的类型与作用:开启日志方式查看日志是否开启 数据备份的重要性:备份类型:如何选择逻辑备份策略或频率?常见的备份方法:MysQL完全备份优缺点:数据库完全备份分类: 实验…

完全备份 、差异备份、增量备份的区别和特点

数据备份的方式有完全备份、差异备份以及增量备份,那么这三种备份方式有什么区别,在具体应用中又该如何选择呢?本文就这些问题作以介绍。 一、备份方式简介 1、完全备份(Full Backup) 备份全部选中的文件夹&#xf…

MySQL 数据库备份(二)(增量备份与恢复)

文章目录 一、MySQL 增量备份1.增量备份的概念1.1 为什么使用增量备份1.2 增量备份的特点 2.增量备份示例 二、MySQL 增量恢复1.增量恢复的场景2.丢失完全备份之后更改的数据的恢复步骤3.完全备份之后丢失所有数据的恢复步骤4. 基于时间点与位置的恢复4.1 基于时间点的恢复4.1 …

增量备份

增量备份,是指在完整备份的基础上,每次只是备份自上次备份以来被修改过的数据块。增量备份策略不能用于映像备份,因为映像备份总是对于所有的数据文件。增量备份可以是数据库、数据文件和表空间三个级别。 一、增量备份的种类 第一、累积增…

PC端微信打不开小程序解决

PC端微信点击小程序之后没有啥反应,可以使用下面的方法解决:右键桌面的微信快捷方式,属性-兼容性,勾选上以兼容模式运行这个程序即可

微信外部链接无法使用浏览器打开 微信链接打不开的解决方案

域名在微信中打不开,有诸多问题 1、硬件原因,比如手机网络、手机缓存的手机硬件设备等 这里就不讨论硬件方便的问题 2、其他原因 目前的APP基本都支持二维码扫描下载,二维码下载也成为了大家用起来很顺手的一种方式。由于微信的用户基本占据…

微信中已停止访问该网页、据用户投诉及腾讯手机管家云网址检测、该网页包含不安全内容。为维护绿色上网环境,已停止访问的解决方案

不管是网站的首页,还是产品的页面地址,以及在线支付的地址,都有可能会被微信提示:已停止访问该网页,据用户投诉及腾讯网址安全中心检测,该网页包含违法或违规内容。为维护绿色上网环境,已停止访问。有的页面…

微信内置浏览器打不开链接怎么办,实现微信跳转链接

在我们使用微信营销的时候,很容易碰到推广连接在微信内无法打开或无法下载app的情况。通常这种情况微信会给个提示 “已停止访问该网址” ,那么导致这个情况的因素有哪些呢,主要有以下三点 1、网页链接被举报次数过多。2、网页含违规内容,含敏感词。3、被腾讯检测系统判断为…

微信小程序打开外部链接

如果是个人类型的小程序就没法打开外部链接了。 首先要了解下微信提供的容器web-view。 web-view | 微信开放文档 (qq.com) 具体的操作步骤这样,首先在WXML文件里某个需要触发点击事件的标签里面加上点击事件。记得带上参数data-url"{{item.url}}" 在J…