曲线均匀分布_曲线篇:深刻理解B 样条曲线(下)

561c23eac95ce628b3601d351d60f562.png

前两篇中讲解了贝塞尔曲线和B样条基础。

FrancisZhao:曲线篇: 贝塞尔曲线​zhuanlan.zhihu.com
d7f77037a40524e2730acf6a7e6f5c6b.png
FrancisZhao:曲线篇:深刻理解B 样条曲线(上)​zhuanlan.zhihu.com
72efa9fde37db1b9a5e9f2a1daee93b6.png

本文讲一下B样条的进阶

clamped B样条

由于我们常用的B样条是clamped B样条,我们就直接以其为例。

一个由n + 1 控制点和一个节点向量U = { u0, u1, ...., um } 定义的 p次B-样条曲线C(u),其中前p+1个和最后 p+1个节点是 "clamped" (即,u0 = u1 = ... = upum-p = um-p+1 = ... = um).

比如 3次clampedB样条,节点向量可以为[0 0 0 0 0.3 0.6 0.9 1 1 1 1].

在下图中,其中n = 10, m = 14 和p = 3, 头四个节点和最后四个节点是clamped而中间7个节点上均匀分布的。有8个节点区间,每个对应于一个曲线段。在下面左图,这些节点点以三角形标示。

节点区间[0 0 0 0 1/8 2/8 3/8 4/8 5/8 6/8 7/8 1 1 1 1].

fde0e8dc506d4cf5322a49ade07d3536.png
方形为控制点,三角形为节点

18f4eb26e52f886f54297673b401482c.png
为同样控制点的贝塞尔曲线,与上图对比

0d08ab2eaba21339de1d3d0e112e9e42.png
分别为7次5次3次B样条曲线

以上几组中, 体现了clamped B样条的关键两个特性,1 曲线的端点经过头尾的控制点 2 曲线的首位切线方向和分别与第一第二,倒数第一第二的控制点组成的直线方向相同。

那么为什么clamped B样条会会有这种特性呢?

如果你不能回答这个问题, 那么实际上就没有理解B样条的性质.

这 要回到B样条基函数计算的的本身

7759e54081360912bc3a11b63d67c877.png
假设仅仅有7个节点

假设我们仅仅有7个节点, 如果 u0=u1=0, u2不为0, 那么区间[u0 u1)就是[0 0 ), 这个区间是不存在的, 所以基函数N0,0就是为0.

这个在上图中的意思, 当有6个控制点的时候, B样条是0阶曲线, 那么N0,0是0, 所以控制点P0根本就没有用上, 因为系数一直是0.

假设u0=u1=u2=0, u3不为0. 那么对于0阶b样条来说, N0,0 N1,0,都为0, 控制点P0 P1都没有用上. 对于1阶B样条, N0,1为0, 所以第一个控制点P0也是没有用上.对于2阶B样条, N0,2,不为0了, 因为是N2,0不为0. 所以N0,2 仅仅由N1,1决定, N1,1仅仅由N2,0决定.

a007dd3f28a32905ecc79df7f9501559.png

再回头看B样条的基函数公式, u趋近于0的时候N0,2的系数是趋近于1的, 因此必然经过P0点.

因此也可以清楚,如果我认为B样条的局部是具有贝塞尔的性质,那么最大的区别就是基函数的作用范围,贝塞尔的所有基函数都是作用在整个区间,但是B样条有着明确的作用范围,这个性质导致了B样条没有必然通过控制点端点的性质。

B样条的导数:

先讲clamped B样条

既然B样条是贝塞尔曲线的扩展,那么必然要继承贝塞尔曲线一些优良的性质。贝塞尔曲线的导数还是贝塞尔, B样条的导数还是B样条。

接下来看推导公式:

6e1bab9bbeef3953c3ede76bb53ffcf6.png
B样条公式

6d28c1aa7b2638f2155fe9c83f2ee069.png
基函数求导

6d28c1aa7b2638f2155fe9c83f2ee069.png
基函数求导为低一阶的基函数求导

694b9d8b2635751a119052d1296294b0.png
最终的基函数求导

3a00342037d7f3332188c20ac5c799e7.png

因此,可知,B样条的导数还是B样条, 依然保留B样条的优良特性。

控制点减1,阶数减1,那么节点数目必然是减2. 对于clamped B样条,只要是去除第一个和最后一个节点就ok了,因此clamped B样条的求导还是clamped B样条,这个性质使其方便计算,应用广泛。

移动控制点

强凸包性质,如果u位于 [ui,ui+1),那么 C(u) 位于由控制点Pi, Pi-1, ..., Pi-p+1, Pi-p定义的凸包内。

可以理解为B样条为分区间的贝塞尔曲线,因此必然满足贝塞尔的凸包性质。

如果在 [ui,ui+1)区间,Pi, Pi-1, ..., Pi-p+1, Pi-p都在同一直线上,那么这一段B样条必然也在这个直线上。

ok,如果你已经掌握了这些知识,那么恭喜你,已经入门了。

专栏里每一篇都是我一个字一个字打的,都是我认为的原创干货。
欢迎指正讨论,转载请注明,认同请点赞。
这个系列的文章很容易出错,希望大佬们多多指正补充。
仅仅收藏是学不会的,还得点赞喜欢加转发啊。

6fc0ae91d5f68e3c4d72f1ece1a52137.png
FrancisZhao:专栏文章列表以及一些说明​zhuanlan.zhihu.com
f53088419e621ea9f692f1cdb377a6e5.png

本文的主要参考资料:

搜索结果提示 - 博客园找找看
CS3621 Introduction to Computing with Geometry Course Notes
B-样条曲线教程(B-spline Curves Notes)目录

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/497660.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JSON.parse()解析单引号错误的问题

1、当用JSON.parse()方法,解析从后台传来的json字符串,而且字符串中含有单引号(如Iam ....),页面将出现如下异常 2、页面引起报错部分 3、解决办法:在后台将特殊字符转义 bookBlockVoListJSONString BaseStringUtils.getJsonFor…

Facebook人工智能实验室提出「全景分割」,实现实例分割和语义分割的统一

原文来源:arxiv作者:Alexander Kirillov、Kaiming He1、Ross Girshick、Carsten Rother、Piotr Dollar「雷克世界」编译:嗯~阿童木呀、KABUDA现如今,我们提出并研究了一种新的“全景分割”(Panoramic segmentation&…

art.dialog弹出框后再根据其内部iframe的大小调整大小

1、主页面,用来弹出弹出页面 //查看错误小练习$.exerciseClick function(rowId ){$.event.get().preventDefault();var tdScore $("#" rowId).find("[aria-describedbyhomeworkStudentListGrid_score]");if( parseInt(tdScore.html()) 100 …

句子录音打分代码参考

1、页面名称:sentenceReadRecordDialogAnyone.jsp 2、页面效果 3、页面源码 <% page language"java" pageEncoding"UTF-8" contentType"text/html;charsetUTF-8"%> <% include file"/common/taglibs.jsp"%><script la…

工具用途_见微知著,小工具大用途!

为什么同一个饮品&#xff0c;店家做的尝起来如此美味。拿到配方后自己做的不是甜了就是酸了呢&#xff1f;相信很多朋友都有这种疑惑。但真相往往就会在不经意间被忽视&#xff0c;很多初学者并没有老师傅那样的熟练手感&#xff0c;可以做到信手拈来的程度。当没有那些量勺&a…

带暂停功能的音频播放代码参考

1、页面来源&#xff1a;sentenceExercise07.jsp 2、页面效果 3、源代码 <% page language"java" pageEncoding"UTF-8" contentType"text/html;charsetUTF-8"%> <% include file"/common/taglibs.jsp"%> <% include f…

Yann LeCun 怒喷 Sophia:这就是彻头彻尾的骗局

来源&#xff1a;雷锋网&#xff08;leiphone-sz&#xff09;作者&#xff1a;杨晓凡在各种机器学习方法火热、神经网络加速芯片和生成式模型火热、研究人员们常常为优秀论文拍案叫绝的 2017 年中&#xff0c;普通大众视野中的热门人工智能成果除了 AlphaGo&#xff0c;还有一件…

ad16自动布线设置规则_AD16快捷方式和常规设置

1.快捷方式:快速修改丝印位置。选中元件 按快捷键A然后按P。Ti &#xff1a;差分等长TR &#xff1a;蛇形走线MG &#xff1a;修改铜皮多根走线(选中要走的几根线 按快捷键TTM 几根可以同时走线。PM)调整元件坐标移动(选中元件 按一下M 选择通过X、Y移动选择。)shiftG&#xff…

麦肯锡报告:传统车企正面临出行的数字化颠覆

来源&#xff1a;车云未来的个人出行情景将迎来一个巨大转变&#xff0c;更加倾向于颠覆性科技和其创新商业模式。毫无疑问&#xff0c;汽车产业正在面临颠覆。消费者行为上的巨大变化正在改变汽车行业的现状&#xff0c;尤其是因为人们更加注重了所有的车内体验&#xff0c;而…

win10触屏输入法_触摸屏笔记本Win10电脑的校准技巧

Microsoft的Surface系列设备旨在优化Windows 10触摸和笔输入功能。 但是&#xff0c;经过一段时间后&#xff0c;输入精度会下降。 此外&#xff0c;还有许多其他触摸式二合一笔记本电脑和来自其他厂商的混合设备。 并不是所有这些都在出厂时具有最佳的触摸输入精度校准。 这导…

大牛预测2018年深度学习走向:大批AI硬件初创将失败

来源&#xff1a;智东西导语&#xff1a;本文作者Carlos E. Perez是Intuition Machine公司的创始人&#xff0c;曾经编写《人工直觉与深度学习手册》&#xff08; Artificial Intuition and the Deep Learning Playbook&#xff09;&#xff0c;他将会在2018年3月1日至2日在阿姆…

QueryPage使用示例

1、通过关联的表的某字段查询和排序 表的关系 代码 /*** * <p>Description&#xff1a;查找作业记录</p>* <p>Paramenter&#xff1a;</p>* <p>Return&#xff1a;</p>* <p>Exception&#xff1a;</p>* <p>Modified Hi…

alientek 3.5寸tftlcd模块资料_电冰箱触摸屏提高设备档次,深圳3.5寸人机界面厂家...

随着互联网的发展加上触摸屏显示器的贴合在一块&#xff0c;现在我们家电越来越智能化&#xff0c;比如现在比较流行的家电冰箱触摸屏&#xff0c;可以在手机上通过触摸屏来对冰箱进行选项设置。电脑冰箱控制系统包括金玺触摸屏、显示控制板、电磁阀、温度传感器以及导线。主控…

推荐|5种商业AI产品的技术架构设计!

来源&#xff1a; 达观数据概要&#xff1a;今天我们就特别推荐达观数据的几个商业产品设计技术架构&#xff0c;希望对于广大技术有帮助。做任何一个商业产品设计&#xff0c;技术架构都是首先要考虑的&#xff0c;特别是面对海量数据的AI商业项目更是如此。今天我们就特别推荐…

多个iframe同时加载并动态调整大小

动态调整iframe高度的函数 function dyniframesize(ifm) {var pTar null; if (document.getElementById){ pTar document.getElementById(ifm); }else{ eval(pTar ifm ;); }$(pTar).parent().css("visibility", "hidden");if (pTar && pTar.…

没有数据也能翻译?一文读懂「无监督」机器翻译

原文来源&#xff1a;buZZrobot作者&#xff1a;Harshvardhan Gupta「雷克世界」编译&#xff1a;KABUDA、嗯~阿童木呀深度学习正在被广泛地运用于各项日常任务当中&#xff0c;尤其是涉及到一定程度“ 人性化”的领域&#xff0c;例如&#xff0c;图像识别。与其他机器学习算法…

可输入过滤和直接选择的select控件

代码&#xff1a; <% page language"java" pageEncoding"UTF-8" contentType"text/html;charsetUTF-8"%> <% include file"/common/taglibs.jsp"%><script language"javascript" type"text/javascript&…

2017世界科技发展回顾(信息技术/先进制造)

来源&#xff1a;科技日报信息技术美国&#xff1a;量子计算机最耀眼&#xff0c;芯片研究成果再现2017年量子霸权的争夺趋热&#xff0c;谷歌和IBM展开“老大”地位之争。已推出9量子位计算机的谷歌4月宣布将在年底推出49量子位处理器&#xff1b;IBM则后发先至&#xff0c;继…

产生和防御对抗样本的新方法 | 分享总结

来源&#xff1a;AI研习社作者&#xff1a;杨文在线上公开课上&#xff0c;来自清华大学的在读博士生廖方舟分享了他们团队在 NIPS 2017 上一个对抗样本攻防大赛中提到的两个新方法&#xff0c;这两个方法在大赛中分别获得了攻击方和防守方的第一名。在此可看视频回放&#xff…

36小时,造一个亚马逊无人商店 | 实战教程+代码

夏乙 问耕 编译整理量子位 出品 | 公众号 QbitAIclass"video_iframe" data-vidtype"2" allowfullscreen"" frameborder"0" data-ratio"1.7666666666666666" data-w"848" scrolling"no" data-src"h…