曲线数学NURBS之bezier曲线

news/2024/7/7 23:37:47

最近新研究topic是NURBS,NURBS(Non Uniform Rational B-spline)即非均匀有理B样条曲线。往往提到B样条、以及NURBS就会提到bezier曲线,他们之间的关系到底是怎样了,本人经过网上各路博客的查阅,找到了如下的关系图:
这里写图片描述
如上图所示,B样条曲线是NURBS的一个特例,而Bezier曲线又是B样条的一个特例,遵循数学上从特殊到一般的关系,本文先讲解bezier曲线。
只有两个控制点(P0,P1)的bezier曲线称为线段。设曲线为P,则如果在线段(P0,P1)上存在一点q,令P0/P1=t/1-t,t属于(0,1)。则随着t的变化,q拟合出来一条线,即两个控制点的一次贝塞尔曲线。如下图所示:
这里写图片描述
如果存在三个控制点,则是P0,P1和P1,P2两个前后线段控制新的控制点P0^2所表示的曲线,如图所示:
这里写图片描述
这里写图片描述
P0,P1,P2是控制点。随着t的变化,P0^2从控制点P0移动到P2.这样就形成了二次的bezier曲线。
这里写图片描述

同理依次可以给出bezier曲线的组合公式:
这里写图片描述
此递推公式即de-casteljau算法。


http://lihuaxi.xjx100.cn/news/247056.html

相关文章

linux_shell 第一章 变量

2019独角兽企业重金招聘Python工程师标准>>> #!/bin/sh //解释器 a"1"; //对a进行赋值,等号两边不能有空格,以冒号("")方式传入,变量不需要先定义即可使用 b"2;" string"…

新型混合共识机制及抗量子特性的 Hcash 主链测试链即将上线

由上海交通大学密码与计算机安全实验室(LoCCS)及上海观源信息科技有限公司负责研发的、具有新型混合共识机制及抗量子特性的 Hcash 主链代码已完成并在 2017 年 12 月18 日之前上传至github: https://github.com/HcashOrg/hcashd https://git…

使用模块化编译缩小 apk 体积

libcocos2dlua.so编译出来有11M多,其中包含了很多不需要的模块,模块化编译,把不需要用到的模块弄成0,体积就小了。 如: 修改D:\codeide\sDiShu2formm\frameworks\runtime-src\proj.android\jni\Application.mk为 ifeq …

在idea项目中的android包不能识别_项目调试编译和部署运行

项目调试Logcat日志顾名思义,logcat是android系统的日志包,提供给开发者供调试程序时使用。logcat一共有Verbose、Debug、Info、Warn、Error等不同级别的日志调试级别,可以在Android Studio 中过滤需要的log日志信息。比如:... Lo…

曲线数学NURBS之B样条曲线

上一篇博客已经讲到了bezier曲线,本篇接着讲解B样条曲线。 B样条曲线是bezier曲线的更一般化,bezier曲线是B样条曲线的特列。相比于Bezier曲线,B样条曲线是分段组成的,每一段参数的区间都是[0,1],这就克服…

Symantec BE 12.5 备份Exchange错误排除

备份时,提示以下错误:最终错误: 0xe0008703 - 作业失败于自身测试运行。解决方法:先备份本地的很小的文件(不是测试备份),成功后,再测试Exchange的备份。以下是官网的详细解答。http://www.syma…

Windows内存管理和linux内存管理

windows内存管理 windows 内存管理方式主要分为:页式管理,段式管理,段页式管理。 页式管理的基本原理是将各进程的虚拟空间划分为若干个长度相等的页;页式管理把内存空间按照页的大小划分成片或者页面,然后把页式虚拟地…