样条曲线(参数曲线)曲率

article/2025/9/29 5:57:22

曲率计算公式

设参数曲线C(u):
C ( u ) = ( x ( u ) , y ( y ) , z ( u ) ) C(u) = (x(u),y(y),z(u)) C(u)=(x(u),y(y),z(u))

曲线曲率表达为:
k ( u ) = ∣ C ′ ( u ) × C ′ ′ ( u ) ∣ ∣ C ′ ( u ) ∣ 3 ( 1 ) k(u)=\frac{|C^{'}(u)\times C^{''}(u)|}{|C^{'}(u)|^3}\quad (1) k(u)=C(u)3C(u)×C(u)(1)

其中:
C ′ ( u ) 为 一 阶 导 数 C ′ ′ ( u ) 为 二 阶 导 数 C ′ ( u ) × C ′ ′ ( u ) 为 一 阶 导 数 和 二 阶 导 数 的 叉 乘 \begin{aligned} &C^{'}(u) 为一阶导数 \\ &C^{''}(u) 为二阶导数 \\ &C^{'}(u)\times C^{''}(u) 为一阶导数和二阶导数的叉乘 \\ \end{aligned} C(u)C(u)C(u)×C(u)

叉乘公式

设置两个向量:
一 阶 导 数 : a = ( x 1 , y 1 , z 1 ) 二 阶 导 数 : b = ( x 2 , y 2 , z 2 ) a × b = ∣ i j k x 1 y 1 z 1 x 2 y 2 z 2 ∣ = ( x 3 , y 3 , z 3 ) = ( 2 ) = ( y 1 z 2 − y 2 z 1 ) i − ( x 1 z 2 − x 2 z 1 ) j + ( x 1 y 2 − x 2 y 1 ) k ! [ \begin{aligned} 一阶导数:&\mathbf{a}=(x_1,y_1,z_1)\\ 二阶导数:&\mathbf{b}=(x_2,y_2,z_2)\\ &\mathbf{a}\times \mathbf{b}=\left| \begin{matrix} i & j & k\\ x_1 & y_1 & z_1\\ x_2 & y_2 & z_2\\ \end{matrix} \right|=(x_3,y_3,z_3)=\quad \quad \quad (2)\\ &\quad \quad \quad= (y_1z_2-y_2z_1)i-(x_1z_2-x_2z_1)j+(x_1y_2-x_2y_1)k![ \end{aligned} a=(x1,y1,z1)b=(x2,y2,z2)a×b=ix1x2jy1y2kz1z2=(x3,y3,z3)=(2)=(y1z2y2z1)i(x1z2x2z1)j+(x1y2x2y1)k![

3-D曲线曲率计算

计算三次样条曲线曲率:
C ′ ( u ) = ( x 1 , y 1 , z 1 ) C ′ ′ ( u ) = ( x 2 , y 2 , z 2 ) ∣ C ′ ( u ) ∣ = x 1 2 + y 1 2 + z 1 2 由 公 式 ( 2 ) 得 : ∣ C ′ ( u ) × C ′ ′ ( u ) ∣ = x 3 2 + y 3 2 + z 3 2 \begin{aligned} &C^{'}(u)=(x_1,y_1,z_1)\\ &C^{''}(u)=(x_2,y_2,z_2)\\ &|C^{'}(u)|=\sqrt{x^2_1+y^2_1+z^2_1}\\ \\ &由公式(2)得:\\ &|C^{'}(u)\times C^{''}(u)|=\sqrt{x^2_3+y^2_3+z^2_3}\\ \end{aligned} C(u)=(x1,y1,z1)C(u)=(x2,y2,z2)C(u)=x12+y12+z12 (2)C(u)×C(u)=x32+y32+z32

2-D曲线曲率计算

2-D曲线的曲率计算时,依然可以使用前文使用的公式,此时,设置z坐标值为0即可:
a = ( x 1 , y 1 , 0 ) b = ( x 2 , y 2 , 0 ) a × b = ∣ i j k x 1 y 1 0 x 2 y 2 0 ∣ = ( x 3 , y 3 , z 3 ) = ( 3 ) = 0 i − 0 j + ( x 1 y 2 − x 2 y 1 ) k 则 : ∣ C ′ ( u ) × C ′ ′ ( u ) ∣ = ( x 1 y 2 − x 2 y 1 ) 2 ( 4 ) \begin{aligned} &\mathbf{a}=(x_1,y_1,0)\\ &\mathbf{b}=(x_2,y_2,0)\\ &\mathbf{a}\times \mathbf{b}=\left| \begin{matrix} i & j & k\\ x_1 & y_1 & 0\\ x_2 & y_2 & 0\\ \end{matrix} \right|=(x_3,y_3,z_3)=\quad \quad \quad (3)\\ \\ &\quad \quad \quad= 0i-0j+(x_1y_2-x_2y_1)k\\ 则:\\ &|C^{'}(u)\times C^{''}(u)|=\sqrt{(x_1y_2-x_2y_1)^2}\quad \quad (4)\\ \end{aligned} a=(x1,y1,0)b=(x2,y2,0)a×b=ix1x2jy1y2k00=(x3,y3,z3)=(3)=0i0j+(x1y2x2y1)kC(u)×C(u)=(x1y2x2y1)2 (4)
现在考虑参数方程:
C ( u ) = { x ( u ) , y ( u ) C(u)= \begin{cases} x(u),\\ y(u) \end{cases} C(u)={x(u),y(u)
由高等数学知识得到:
K = ∣ x ′ ( u ) y ′ ′ ( u ) − x ′ ′ ( u ) y ′ ( u ) ∣ ∣ x ′ 2 ( u ) + y ′ 2 ( u ) ∣ 3 2 变 量 带 入 分 子 即 为 : ( x 1 y 2 − x 2 y 1 ) 2 , 与 公 式 ( 3 ) ( 4 ) 得 到 的 结 果 一 致 . K=\frac{|x^{'}(u)y^{''}(u)-x^{''}(u)y^{'}(u)|}{|x^{'2}(u)+y^{'2}(u)|^{\frac{3}{2}}}\\ \\ \\ \\ 变量带入分子即为:\sqrt{(x_1y_2-x_2y_1)^2},与公式(3)(4)得到的结果一致.\\ K=x2(u)+y2(u)23x(u)y(u)x(u)y(u)(x1y2x2y1)2 ,(3)(4).

数学就是这么奇妙啊!!!

方法验证–3次B-Spline曲线

n = 12 #n+1个控制点
p = 3  #3次yB-Spline曲线
m = n+p+1 #m+1个参数节点
knots = [0,0,0,0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1,1,1,1]
x = [1,2,3,4,5,6,7,8,9,10,11,12,13]  #控制点坐标
y = [1,1,1,1,1,2,1,1,1,1,1,1,1]

结果如下:
在这里插入图片描述


http://chatgpt.dhexx.cn/article/5bodeiwE.shtml

相关文章

计算机图形学-样条曲线Spline

内容来自《计算机图形学》第四版 第14章-样条表示 目录 [1] 样条的种类1. 插值样条2. 逼近样条 [2] 参数连续性条件[2] 几何连续性条件[3] 样条描述1. 列出一组施加在样条上的边界条件2. 列出描述样条特征的行列式3. 列出一组混合函数或基函数 [4] 三次样条插值方法1. 自然三次…

样条曲线(spline)

文章目录 样条(spline)是什么?样条曲线的定义样条曲线的分类B-splineDefinitionPropertyB-spline vs. Bzier curveHow can we prove that a Bezier curve is a specific case of a B-spline curve by the definition of B-splines? Bzier sp…

样条曲线

基本概念 在计算机图形中,样条曲线(spline curve)指由多项式曲线段连接而成的曲线,在每段的边界处满足特定的连续性条件。样条曲面(spline surface)可以使用两组样条曲线进行描述。 给定一组称为控…

布丁压缩注册表删除路径

被布丁压缩的弹窗广告烦了好几天,卸载了好几次又自动安装了,今天终于忍无可忍,所以今天必须得跟它say Byebye! winR快捷键,输入regedit,打开注册表 路径在这里 找注册表里的文件删除就ok 保险起见 在C:\Pr…

用注册表修改右键菜单

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴! 一: 开始,运行里面…

VMware卸载重装产生的注册表问题

http://www.xitongcheng.com/jiaocheng/dnrj_article_58655.htmlTOC 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 …

关于电脑注册表regedit自定义管理右键菜单选项实例(删除增加)

前言:删除电脑多余右键菜单的具体操作 所有关于电脑的操作都可以通过修改注册表来实现。而随着电脑软件的安装,本就为方便人们操作的右键菜单变的愈来愈臃肿。但我们可以自定义管理大多数右键菜单,这篇帖子就是为了解决这些问题 右键菜单管…

XP注册表文件存放位置

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴! XP注册表文件存放位置%system%/system32/config目录下有这样一些文件sam.* Securi…

QTP操作注册表

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴! 在QTP中没有提供用于直接操作注册表的测试…

组策略对应注册表位置部分解读

一、概要 在域环境中,管理员经常要执行的操作就是编辑应用域策略,对域环境中成员主机进行集中管理,但是有时候会存在这样的问题,某项策略配置应用生效后,导致了域成员主机部分功能异常,但是直接撤销域策略…

“office安装过程错误,显示注册表某路径没有权限”解决办法

文章转自https://blog.csdn.net/super_star666/article/details/79962129 博主在安装office过程,因为重复卸载后,再安装就出现了问题。从网上搜了很多解决办法都无法实现。只有这种办法解决了问题。首先在这里感谢一下原作者,让我不至于再浪费…

梳理注册表的一些危险操作,注册表的安全配置,以及对于注册表的总结

本次文章为大家梳理一些注册表常见的危险操作,希望可以帮大家规避一些在日常使用中可能会遇到的问题。 映象劫持IFEO(Image File Execution Options) 在低版本的windows中,我们可以简单地替换程序,但是在高版本的win…

「事件驱动架构」Kafka中的模式注册表和模式演化

在这篇文章中,我们将通过Kafka模式注册表来研究Kafka中的模式演化和兼容性类型。通过对兼容性类型的良好理解,我们可以安全地随着时间的推移对模式进行更改,而不会无意中破坏生产者或消费者的利益。 数据集 在我们的“真实世界中的Hadoop开发…

IObit Uninstaller(电脑软件彻底卸载, 包含注册表) 彻底解决软件卸载不干净的问题

本文是众多使用技巧中其中的一篇, 全部使用技巧点击链接查看, 或直接查看本专栏其他文章, 保证你收获满满 我主页中的思维导图中内容大多从我的笔记中整理而来,相应技巧可在笔记中查找原题, 有兴趣的可以去 我的主页 了解更多计算机学科的精品思维导图整理 本文可以转载&…

Windows注册表及常见子项

Windows注册表五大根键以及常用注册表项 注册表概述:注册表是Windows操作系统、硬件设备以及客户应用程序得以正常运行和保存设置的核心“数据库”,也可以说是一个非常巨大的树状分层结构的数据库系统。注册表记录了用户安装在计算机上的软件和每个程序…

注册表权限修改

这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个…

webx框架解析

2019独角兽企业重金招聘Python工程师标准>>> WebX框架是阿里巴巴集团开发的,它建立在SpringEx的基础上,具有超强的扩展能力。 一、Webx的层次结构(从里到外) (1)SpringExt:基于Sprin…

Webx mvc 源码

Webx命名规范 Web请求响应 当Webx Framework接收到一个来自WEB的请求以后,实际上它主要做了两件事: 首先,它会增强request、response、session的功能,并把它们打包成更易使用的RequestContext对象。 其次,它会调用相应子应用的pipeline,用它来做进一步的处理。 假如在…

WebX源码研读

WebX是公司应用最为广泛的web框架,目前已经开源。一直以为webX是基于spring MVC的,但其实并不是,那么不同之处到底在何处,又是为什么这样实现?看过了源码,在这里梳理下思路 我以为,在业务层面上…

WebX框架使用说明

前言 标准MVC开源框架有很多(Struts、SpringMVC、Webx),对于生活在开源世界里面的码农来说SpringMVC、Struts是接触比较多,也是最熟悉的框架。 知己知彼 以配置SpringMVC为例,我们常常关注的点主要有以下几个方面&a…