埃尔米特曲线 Hermite Curve
Introduction
给定曲线的两个端点的位置矢量 ( P(0)P(0)P(0), P(1)P(1)P(1) )和切线矢量( P′(0)P'(0)P′(0), P′(1)P'(1)P′(1) )来描述曲线:
Proof
设方程为:
P(t)=at3+bt2+ct+d(0)P(t) = at^{3} + bt^{2} + ct +d \tag{0} P(t)=at3+bt2+ct+d(0)
则:
P′(t)=3at2+2bt+c(1)P'(t) = 3at^{2} + 2bt + c \tag{1} P′(t)=3at2+2bt+c(1)
则可得:
{P(0)=dP(1)=a+b+c+dP′(0)=cP(1)=3a+2b+c(2)\begin{cases} & P(0) = d \\ & P(1) = a + b + c + d \\ & P'(0) = c \\ & P(1) = 3a + 2b + c \end{cases} \tag{2} ⎩⎪⎪⎪⎨⎪⎪⎪⎧P(0)=dP(1)=a+b+c+dP′(0)=cP(1)=3a+2b+c(2)
令:
h0=P(0)h1=P(1)h2=P′(0)h3=P′(1)(3)h_{0} = P(0) \\ h_{1} = P(1) \\ h_{2} = P'(0) \\ h_{3} = P'(1) \tag{3} h0=P(0)h1=P(1)h2=P′(0)h3=P′(1)(3)
则有:
[h0h1h2h3]=[0001111100103210][abcd](4)\left[ \begin{matrix} h_{0} \\ h_{1} \\ h_{2} \\ h_{3} \end{matrix} \right]= \left[ \begin{matrix} 0 & 0 & 0 & 1 \\ 1 & 1 & 1 & 1 \\ 0 & 0 & 1 & 0 \\ 3 & 2 & 1 & 0 \end{matrix} \right] \left[ \begin{matrix} a \\ b \\ c \\ d \end{matrix} \right] \tag{4} ⎣⎢⎢⎡h0h1h2h3⎦⎥⎥⎤=⎣⎢⎢⎡0103010201111100⎦⎥⎥⎤⎣⎢⎢⎡abcd⎦⎥⎥⎤(4)
⇒[abcd]=[h0h1h2h3][2−211−33−2−100101000](5)\Rightarrow \left[ \begin{matrix} a \\ b \\ c \\ d \end{matrix} \right]= \left[ \begin{matrix} h_{0} \\ h_{1} \\ h_{2} \\ h_{3} \end{matrix} \right] \left[ \begin{matrix} 2 & -2 & 1 & 1 \\ -3 & 3 & -2 & -1 \\ 0 & 0 & 1 & 0 \\ 1 & 0 & 0 & 0 \end{matrix} \right] \tag{5} ⇒⎣⎢⎢⎡abcd⎦⎥⎥⎤=⎣⎢⎢⎡h0h1h2h3⎦⎥⎥⎤⎣⎢⎢⎡2−301−23001−2101−100⎦⎥⎥⎤(5)
又:
P(t)=[abcd][t3t2t1](6)P(t) = \left[ \begin{matrix} a & b & c & d \end{matrix} \right] \left[ \begin{matrix} t^{3} \\ t^{2} \\ t \\ 1 \end{matrix} \right] \tag{6} P(t)=[abcd]⎣⎢⎢⎡t3t2t1⎦⎥⎥⎤(6)
则由 (4) (5) (6) 可得:
P(t)=[abcd][0103010201111100][2−301−23001−2101−100][t3t2t1](7)P(t) = \left[ \begin{matrix} a & b & c & d \end{matrix} \right] \left[ \begin{matrix} 0 & 1 & 0 & 3 \\ 0 & 1 & 0 & 2 \\ 0 & 1 & 1 & 1 \\ 1 & 1 & 0 & 0 \end{matrix} \right] \left[ \begin{matrix} 2 & -3 & 0 & 1 \\ -2 & 3 & 0 & 0 \\ 1 & -2 & 1 & 0 \\ 1 & -1 & 0 & 0 \end{matrix} \right] \left[ \begin{matrix} t^{3} \\ t^{2} \\ t \\ 1 \end{matrix} \right] \tag{7} P(t)=[abcd]⎣⎢⎢⎡0001111100103210⎦⎥⎥⎤⎣⎢⎢⎡2−211−33−2−100101000⎦⎥⎥⎤⎣⎢⎢⎡t3t2t1⎦⎥⎥⎤(7)
其中,中间两个矩阵互为逆矩阵,乘积为单位矩阵。又由 (5) 可得:
P(t)=[h0h1h2h3][2−301−23001−2101−100][t3t2t1](8)P(t) = \left[ \begin{matrix} h_{0} & h_{1} & h_{2} & h_{3} \end{matrix} \right] \left[ \begin{matrix} 2 & -3 & 0 & 1 \\ -2 & 3 & 0 & 0 \\ 1 & -2 & 1 & 0 \\ 1 & -1 & 0 & 0 \end{matrix} \right] \left[ \begin{matrix} t^{3} \\ t^{2} \\ t \\ 1 \end{matrix} \right] \tag{8} P(t)=[h0h1h2h3]⎣⎢⎢⎡2−211−33−2−100101000⎦⎥⎥⎤⎣⎢⎢⎡t3t2t1⎦⎥⎥⎤(8)
再令:
[H0(t)H1(t)H2(t)H3(t)]=[2−301−23001−2101−100][t3t2t1](9)\left[ \begin{matrix} H_{0}(t) \\ H_{1}(t) \\ H_{2}(t) \\ H_{3}(t) \end{matrix} \right]= \left[ \begin{matrix} 2 & -3 & 0 & 1 \\ -2 & 3 & 0 & 0 \\ 1 & -2 & 1 & 0 \\ 1 & -1 & 0 & 0 \end{matrix} \right] \left[ \begin{matrix} t^{3} \\ t^{2} \\ t \\ 1 \end{matrix} \right] \tag{9} ⎣⎢⎢⎡H0(t)H1(t)H2(t)H3(t)⎦⎥⎥⎤=⎣⎢⎢⎡2−211−33−2−100101000⎦⎥⎥⎤⎣⎢⎢⎡t3t2t1⎦⎥⎥⎤(9)
最终可得:
[abcd][t3t2t1]=[h0h1h2h3][H0(t)H1(t)H2(t)H3(t)](10)\left[ \begin{matrix} a & b & c & d \end{matrix} \right] \left[ \begin{matrix} t^{3} \\ t^{2} \\ t \\ 1 \end{matrix} \right]= \left[ \begin{matrix} h_{0} & h_{1} & h_{2} & h_{3} \end{matrix} \right] \left[ \begin{matrix} H_{0}(t) \\ H_{1}(t) \\ H_{2}(t) \\ H_{3}(t) \end{matrix} \right] \tag{10} [abcd]⎣⎢⎢⎡t3t2t1⎦⎥⎥⎤=[h0h1h2h3]⎣⎢⎢⎡H0(t)H1(t)H2(t)H3(t)⎦⎥⎥⎤(10)
即:
P(t)=∑i=03hiHi(t)(11)P(t) = \sum_{i = 0}^{3}h_{i}H_{i}(t) \tag{11} P(t)=i=0∑3hiHi(t)(11)
Hi(t)H_{i}(t)Hi(t) 即为构成埃尔米特曲线的基本曲线方程。这四个基本曲线方程如下:
埃尔米特曲线:
其中箭头为切线方向
埃尔米特曲线 Hermite Curve相关推荐
- C#,码海拾贝(07)——埃尔米特(Hermite)曲线插值算法C#源程序
一.埃尔米特插值算法简介 1.1 Charles Hermite Charles Hermite was a noted 19th century French mathematician known ...
- 基于USEARCH或QIIME绘制Alpha多样性稀释曲线(rarefraction curve)
关于测试数据共享文件声明 百度云是一种非常方便的文件共享方式,但是有时会出现文件无法通过审核,导致大家访问失败?之前团队分享视频(百度管片最严,你懂的,上周六的纪录片将扩展名mkv修改为jpg才通过审 ...
- Alpha多样性稀释曲线rarefraction curve还不会画吗?快看此文
关于测试数据共享文件声明 百度云是一种非常方便的文件共享方式,但是有时会出现文件无法通过审核,导致大家访问失败?之前团队分享视频(百度管片最严,你懂的,上周六的纪录片将扩展名mkv修改为jpg才通过审 ...
- 临床模型评价:C指数(C-Index)、校正曲线(Calibration plot)、决策分析曲线(Decision Curve Analysis, DCA)、NRI指数
临床模型评价:C指数(C-Index).校正曲线(Calibration plot).决策分析曲线(Decision Curve Analysis, DCA).NRI指数 目录
- 校准曲线(calibration curve)是什么?如何绘制校准曲线(calibration curve)?如何通过过校准曲线进行分析?什么是高估?什么是低估?
校准曲线(calibration curve)是什么? 如何绘制校准曲线(calibration curve)? 如何通过过校准曲线进行分析? 什么是高估? 什么是低估? 注意:横纵坐标的差异,但是本 ...
- js绘制的漂亮玫瑰曲线rose curve
js绘制的漂亮玫瑰曲线rose curve,在数学上 玫瑰 或 罗多纳 曲线 是用极坐标绘制的正弦曲线.基本极性方程是 r = a sin(kθ) 这些曲线是由意大利数学家命名的 Guido Gran ...
- R语言使用yardstick包的roc_curve函数评估多分类(Multiclass)模型的性能、查看模型在多分类每个分类上的ROC曲线(roc curve)
R语言使用yardstick包的roc_curve函数评估多分类(Multiclass)模型的性能.查看模型在多分类每个分类上的ROC曲线(receiver operating characteris ...
- UG NX二次开发(C#)-曲线-NXOpen.Curve初探
系列文章目录 `` 例如:第一章 初探NXOpen.Curve类 文章目录 系列文章目录 1.前言 2.NXOpen.Curve 2. NXOpen.Curve包含的子类 3.曲线类型的获取 4.将曲 ...
- Topic 14. 临床预测模型之校准曲线 (Calibration curve)
点击关注,桓峰基因 桓峰基因 生物信息分析,SCI文章撰写及生物信息基础知识学习:R语言学习,perl基础编程,linux系统命令,Python遇见更好的你 57篇原创内容 公众号 前言 Calibr ...
最新文章
- 天兔(Lepus)监控系统慢查询分析平台安装配置
- 安装mysql5.7出现问题_转载---安装mysql5.7,遇到的问题
- 28岁自学python来得及吗_我28岁了,还能成为一名程序员吗?迷茫和沮丧中
- 我理解的配置管理系统
- asp.net mvc4三层架构搭建
- matlab中如何提取等高线,在Python或MATLAB中从等高线图中提取数据
- 【读书笔记】《框架设计(第2版)CLR Via C#》中两个比较有趣的知识点
- linux磁盘fio压力测试,fio进行磁盘压力测试
- 玩转springboot2.x之快速搭建(start.spring.io)
- ARMv8体系结构基础03:加载和存储指令
- 文档流、脱离文档流分析
- UVC协议CT_ZOOM_RELATIVE_CONTROL选择子放大缩小停止的问题
- 登录业务的演变、单点登录(SSO)的三种解决方案
- itextpdf字体编码研究
- Unity 摄像机切换镜头
- springboot 配置热启动
- html的img标签repeat,border-image-repeat属性怎么用
- 一个软件开发者的历史 走在法律的边缘
- xlrd/xlwt读写excel文件
- ibus添加搜狗词库
热门文章
- 【test】2015.7.31测试解题报告(一)
- 非线性规划MATLAB求解原理,专题六--非线性规划介绍及其Matlab求解方法.ppt
- css中div怎么飞翔
- 2021年中国给水泵市场趋势报告、技术动态创新及2027年市场预测
- 苹果呼叫转移设置不了_手机不想接电话怎么设置为空号教程
- python的io模块
- socket 套接字通信研究与讨论
- 基于EasyNVR实现RTSP_Onvif监控摄像头Web无插件化直播监控之视频直播网络占用率大如何解决的问题分析
- 成功解决WebMediaCfg.ini文件被清空引起的“没有找到数据库”
- Electron 打包Mac安装包代码签名问题解决方案