图形学插值函数理解与联系_kochanek-bartels样条-程序员宅基地

技术标签: 样条函数  视觉图形学  插值  RBF  hermite  

看过很多遍,但是其中的关系理解不清楚,没想到写在一起自然就知道了。主要有时候不用理解具体内容,而是知道每个概念之间的关系就能明白为什么发展成这种形式。

基本概念

插值就是要过所有的数据点,拟合则是满足一定趋势就行

给定 (x,y), y=f(x) 构造一个简单函数 P(x) 满足 y i = P ( x i ) y_i=P(x_i) yi=P(xi) ,则P(x) 为插值函数
一般P(x) 为分段插值多项式

一些插值函数

拉格朗日,牛顿插值法

这些就是构造高次多项式拟合,但是容易仅仅再函数值层面符合f(x),满足不了其他特性。

一次一般要使用分段插值

Hermite 样条

可以满足导数一致性,一般使用三次。
三次Hermite插值 这里讲了为什么基函数要那样构造,首先要满足正交,其次推理出来系数项。
第9页有详细的求法

在这里插入图片描述

Kochanek–Bartels 样条

给定n+1个节,用n个 Hermite 曲线段进行插值。 但是每条曲线,切线的定义由 TCB 三个量来控制。 (可能是同一组?)
疑问:也就是说对于每个 hermite 少一个参数,而且还有一定的控制意义?还是说又增加了三个参数,以保证一定控制性。
在这里插入图片描述

Catmull-Rom 样条

就是 Kochanek–Bartels 中 TCB = 0 的情况。 比较适用于 轨迹线算法
特点:1)中间点的切线,与相邻两点连线平行 2)经过所有中间点

τ \tau τ 是个控制参数,表示切线比例, 具体推导细节可以看 Catmull-Rom Spline
在这里插入图片描述

RBF 径向基函数

主要可以理解为把前面的导数部分换成了核函数,使其局部满足一定的条件。
比如如果选用高斯核函数,那么局部就会呈现处高斯分布状。

与上面不同的是,这里面是一次性拟合非常多的点。 可视化概念如下所示
在这里插入图片描述

这里讲了如何用网络来表示

薄板样条

是 RBF选用的基的一种,主要是保证了弯折能量最小

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/ChangHongJian/article/details/126599649

智能推荐

Third calibration example - Calibration using Heikkil�'s data (planar and non-planar calibration rig-程序员宅基地

文章浏览阅读1.4k次。Similarly to the previous example, let us apply our calibration engine onto the data that comes with the originalcalibration toolbox of Heikkil� from the University of Oulu. Once again. do not bothe_non-planar calibration

物联网常用的网络协议:MQTT、AMQP、HTTP、CoAP、LwM2M_lmm2m和mqtt-程序员宅基地

文章浏览阅读1w次,点赞10次,收藏63次。物联网常用的网络协议:MQTT、AMQP、HTTP、CoAP、LwM2M物联网设备间沟通的语言,就是网络协议。设备间想相互交流,通信双方必须使用同一种“语言”。比如说你和中国人问好说’你好‘、日本人问好要说‘こんにちは’、和英国人问好要说‘hello’.说起网络协议,你可能马上就想到了 HTTP 协议。是的,在日常的 Web 开发中,我们总是需要跟它打交道,因为 HTTP 协议是互联网的主流网络协议。类似地,应用在互联网中的网络协议,还有收发电子邮件的 POP3 、SMTP 和 IMAP 协议,以及_lmm2m和mqtt

fortran使用MKL函数库中的geev计算一般矩阵的特征值与特征向量_fortran求矩阵特征值-程序员宅基地

文章浏览阅读7.4k次,点赞4次,收藏20次。这篇博文简要记录一下使用MKL函数库计算一般矩阵的特征值与特征向量对形如对称矩阵或是埃尔米特等特殊矩阵有其对应的子程序,在这里先不涉及。有需求的可以自行查阅MKL官方文档下面给出本次示例代码:代码使用f95接口。f77借口参数太多,笔者太懒<不过懒惰是创新的原动力^_^>program testGeev use lapack95 implicit..._fortran求矩阵特征值

Numpy, Scipy, Matplotlib基本用法_np.imresize-程序员宅基地

文章浏览阅读147次。学习内容来自:Numpy Tutorial文章目录Array SlicingArray IndexingMathematical ManipulationBroadcastingImage Processing基本的用法课程里面说的挺详细了。 特别记录一些需要关注的点。Array Slicing使用固定数字进行array寻址会导致数组降维。y = np.random.random((3,..._np.imresize

蓝桥杯 历届试题 回文数字 C++_c++蓝桥杯 回文数-程序员宅基地

文章浏览阅读355次。题目阅览 观察数字:12321,123321 都有一个共同的特征,无论从左到右读还是从右向左读,都是相同的。这样的数字叫做:回文数字。  本题要求你找到一些5位或6位的十进制数字。满足如下要求:  该数字的各个数位之和等于输入的整数。  输入格式  一个正整数 n (10<n<100), 表示要求满足的数位和。  输出格式若干行,每行包含一个满足要求的5位或6位整数。  数字按从小到大的顺序排列。  如果没有满足条件的,输出:-1样例输入144样例输出199899_c++蓝桥杯 回文数

开启dev_dbg调试日志_如何看dev_dbg的log-程序员宅基地

文章浏览阅读2k次。内核中的大部分驱动都使用了dev_dbg接口打印调试信息,默认是不会输出到控制台的。先看一下dev_dbg的定义:文件路径:/kernel/include/linux/device.h#if defined(CONFIG_DYNAMIC_DEBUG)#define dev_dbg(dev, format, ...) \do { \ dynamic_..._如何看dev_dbg的log

随便推点

移动硬盘突然在电脑上无法显示_电脑无法显示移动硬盘-程序员宅基地

文章浏览阅读5.1k次,点赞2次,收藏4次。0前言一直用的好好的移动硬盘突然不显示了,前段时间因为比较忙,一直没顾得上管它,趁这个假期,好好捅咕了一番,总算是弄好了,特此将解决的过程记录如下:1.问题描述 1.我的移动硬盘在其他人的电脑上能够正常显示和使用 2.其他移动硬盘在我电脑上能够正常的显示和使用 3.在我的电脑上,该移动硬盘,既不显示盘符,磁盘管理 又不显示该磁盘2.问题分析1.我的移动硬盘能够在其他人电脑上_电脑无法显示移动硬盘

Linux开机启动过程(16):start_kernel()->rest_init()启动成功_linux 标志着kernel启动完成-程序员宅基地

文章浏览阅读1k次。Kernel initialization. Part 10.在原文的基础上添加了5.10.13部分的源码解读。End of the linux kernel initialization processThis is tenth part of the chapter about linux kernel initialization process and in the previous part we saw the initialization of the RCU and stopped o_linux 标志着kernel启动完成

Scala安装和开发环境配置教程_scala安装及环境配置-程序员宅基地

文章浏览阅读5.3k次,点赞5次,收藏23次。Scala语言概述:Scala语言是一门以Java虚拟机为运行环境,支持面向对象和函数式编程的静态语言,java语言是面向对象的,所以代码写起来就会相对比较模块儿,而函数式编程语言相对比较简洁_scala安装及环境配置

深扒人脸识别60年技术发展史_人脸识别发展历史-程序员宅基地

文章浏览阅读2.4k次。“他来听我的演唱会,门票换了手铐一对”。最近歌神张学友变阿SIR,演唱会上频频抓到罪犯,将人脸识别技术又一次推到了大众的视线中。要说人脸识别技术的爆发,当属去年9月份苹果iPhone x的发布,不再需要指纹,只需要扫描面部就可以轻松解锁手机。任何技术一旦进入智能手机这个消费市场,尤其是被苹果这个标志性的品牌采用,就意味着它将成为一种趋势,一个智能设备的标配。在智能手机快速崛起的这几年,其密码锁..._人脸识别发展历史

Open3d数据滤波和点云分割_open3d 提取兔子耳朵-程序员宅基地

文章浏览阅读3.7k次,点赞6次,收藏33次。详解open3d中的滤波和分割函数,包括索引滤波、聚类以及平面分割等_open3d 提取兔子耳朵

聪聪工作室---XML---从txt文件中读取内容存到XML文件中-程序员宅基地

文章浏览阅读1.8k次。文章转自:https://www.jianshu.com/p/b6ee0d5b463d在实现这个程序中遇到一些编码问题,从txt文件中得到的数据放入xml文件的过程中报错后来解决了,是转码问题,在eclipse中的build path中把编码格式转成utf-8输出思路:分析info.txt文件中的数据,构建一个构造函数类R..._代码实现将txt写入xml文件中