曲率、挠率的离散推广
ref:https://zhuanlan.zhihu.com/p/179438855
Author:二圈妹
曲率、挠率等概念的离散推广。在很多场景中我们会用到曲率、挠率。
比如狄利克雷能量(Dirichlet Energy)是平滑界(smoothing)的常客:
连续
先硬插一点info,因为构建离散曲线,大部分时间都一段一段连起来,曲线的连续性,有 C(continuity) 和 G(geometry continuity)字母来代表, 如果一段一段之间的导数是到 n 阶都能匹配的,那么我们说它是 C^n连续的,比如:
- C0: 仅连接
- C1: 切线和切线的导数一致
- C2: 曲率一致
G则代表我们仅需n阶导成比例: 比如 G1 代表切线方向一致,大小可能不同。
图是一些连续性条件的示意图。一阶导数不连续( 曲线满足 C^0 ,而不满足 C^1 )通常是非常明显的,因为它显示出一个明显的尖角。二阶导数不连续有时候也是比较明显的。更高阶的不连续性可能是一个要紧的问题,这主要取决于实际的应用。例如,如果曲线代表-定的运动,二阶导数上突变是非常明显的,所以经常会用到三阶导数。如果有液体从曲线上流过去(例如,如果它的形状是飞机的机翼或者是船体),在四阶或五阶导数的不连续可能会引起湍流。
图片来自 《计算机图形学》 Peter Shirley
曲率
假设 f in R^n 是点坐标,0,1,2,...,m(m+1)Points,那么:
- 弧长: \delta s_i = ||f_i - f_(i-1)||, i=1,2,...,m
- 中点单位切向量: \delta f_i = (f_i - f_(i-1)) / \delta s_i ,i=1,2,...,m
这都很容易理解, 毕竟对于光滑的曲线:
- 切向量: T = d r / d s
接下来看曲率:
曲线的曲率(curvature)就是针对曲线上某个点的切线方向角对弧长的转动率,通过微分来定义,表明曲线偏离直线的程度。
当然还有曲率向量的概念:
若某向量模数等于研究点处给定曲线的曲率,而该向量的方向与该点处曲线的主法线方向相同,则称该向量为曲率向量。
所以,
- 顶点处的曲率向量(vertex normal curvature vector):
- \delta^2 f_i = (\delta f_(i+1) - \delta f_i)/ [(\delta s_(i+1) + \delta s_i) /2],i=1,2,...,m-1.
对比连续曲线的曲率向量: \kappa = d T / d s
在此之上,我们可以继续看曲率的微分:
- 曲率向量微分: \delta^3 f_i = (\delta^2 f_i - \delta^2 f_(i-1))/ \delta s_i, i=1,2,...,m
当然其实我们这里的 f_i 已经是很好的离散点了, 想象我们的点并不像我们上图画的这样,而是如下的 P_j :
这种情况我们当然就需要做一些预处理,比如可能出现的浮点预算错误.
当然如果严密一点那么我们需要 normalize,单位化这个次法向量。
挠率的定义是:
在初等三维曲线的微分几何中,一条曲线的挠率(torsion,或译扭率)度量了其扭曲的程度,即偏离平面曲线的程度。
既然挠率的定义是其偏离平面的程度, 所以中点的挠率可以定义成:
曲率、挠率的离散推广相关推荐
- 1-2 基于MATLAB的空间曲线曲率挠率的数值计算
1-2 基于MATLAB的空间曲线曲率挠率的数值计算 1.工具 向量函数:设曲线r(s)=(x(s),y(s))r(s)=(x(s),y(s))r(s)=(x(s),y(s))是一条正则曲线,其中ss ...
- 曲线积分与曲面积分总结_曲线、曲率、挠率以及离散曲线
曲线 曲线,听起来很简单,看起来也很直观,但是如果我们看一下维基百科上关于曲线的定义: 设 I=[a,b]为一实数区间,即实数集的非空子集,那么曲线c 就是一个连续函数c : I → X 的映像,其中 ...
- 光滑曲线_微分几何笔记(4) —— 二维三维空间中曲线的曲率以及环绕数
本篇文章我们从一般化的 空间回到我们生活的 空间,看看低维空间中的曲线有哪些性质,主要计算下在非弧长参数下的曲线,曲率挠率的一般表达式. 最后引入环绕数的概念,讲讲怎么数曲线转了多少圈. 4.1 ...
- 微分几何笔记(4) —— 二维三维空间中曲线的曲率以及环绕数
本篇文章我们从一般化的 Rn\mathbb{R}^nRn 空间回到我们生活的 R2,R3\mathbb{R}^2,\mathbb{R}^3R2,R3空间,看看低维空间中的曲线有哪些性质,主要计算下在非 ...
- 计算共形几何是计算机科学和,科学网—《计算共形几何》教程第一章 - 顾险峰的博文...
[最近老顾等人合著的汉语教程<计算共形几何>已经完成初稿.这里我们将第一章公布,其他章节会在清华暑期课程中讲授.希望大家批评指正,不吝赐教.有兴趣预定者,请联系gu@cmsa.fas.ha ...
- 从双曲几何到Gauss-Bonnet-Chern定理
编者按:在正式转载这篇文章前,需要说明的是:Gauss-Bonnet定理 其中Γ是二维可定向闭曲面, 其边界 ...
- 基于运动学模型的轨迹跟踪控制
章四 基于运动学模型的轨迹跟踪控制 MPC(4)基于运动学模型的轨迹跟踪控制器设计 无人驾驶车辆模型预测控制(龚建伟)第四章 基于运动学模型的轨迹跟踪控制(仿真部分) 无人车辆在惯性坐标系中,车辆必须 ...
- 微分几何的24-33节笔记暂记(第一基本形式,第二基本形式)
微分几何笔记 曲面上的度量 第24节:曲面上的度量(第一基本形式) 第一基本形式: 看一下r的微分:dr=r'udu+r'vdv(du,dv是两个数量,dr也表示成了切向量)dr^2=(r'udu)^ ...
- 曲率流的计算机应用,科学网—清华笔记:计算共形几何讲义 (23)离散曲面曲率流 (Discrete Surface Ricci Flow)V - 顾险峰的博文...
前面我们介绍了离散曲面的曲率流理论,曲面上配备着欧氏度量带有奇异点.这次,我们介绍双曲离散曲面的曲率流理论.对于欧拉示性数为负的曲面,其单值化度量自然是双曲度量.双曲度量具有非常多的优点,因此在工程实 ...
最新文章
- IQKeyboardManager使用方法
- 7-27 冒泡法排序 (C语言)
- python之模块csv之CSV文件的写入(按行写入)
- Java 10更新汇总,新的编译器通吃主流编程语言
- 1SGD、Momention原理
- 谈谈进程和线程的区别
- 如何提升你的代码能力?
- 【PDF】处理pdf 文档的相关功能包总结
- WayOS路由器企业应用方案
- vue中文件上传方法
- 浅谈Java内存模型——JVM
- 36 Questions for Increasing Closeness
- Android 8.1user版本默认开启开发者模式
- Activiti6.0 用户任务分配方式总结(单人任务、多人任务)
- linux裸设备详解,Linux裸设备管理详解(原创)
- block locality
- 三级等保 mysql8.0.24密码策略设置
- Nacos如何实现统一配置管理
- iOS底层weak的实现原理
- Python的PyOpenGL