功能Circcenter在3D空间中找到半角r和三角形圈子的中心。
沿着曲线的相邻点的每个三元组p_i-1,p_i,p_i + 1的函数曲率呼叫圆形。曲率定义为κ_i= 1 / r_i。曲率矢量是k_i =ε_i/ r,其中ε_i是从p_i向圆的中心的方向的单位向量。
请注意,此本地计算对数据中的噪声敏感。
语法是:
[l,r,k] =曲率(x)
X:曲线坐标的列向量数组。x可能有两列或三列。
L:弧长
R:曲率半径
K:曲率矢量
是mjaavatten(2021)。在2D或3D空间中的1D曲线的曲率(//www.tatmou.com/matlabcentral/fileexchange/69452-curvature-of-a-1d-curve-in-a-a-or- 3d-space),Matlab中央文件兑换。检索到。
嗨wj:对不起,我早些时候没有看到你的评论。曲率矢量K提供曲率的尺寸和方向。它总是指向曲线的凹面。
嗨,似乎这个分析无法区分弯曲相反方向的曲线。真的吗?我只是使用与相反弯曲组成的数据集获得积极的曲率值。请指教。谢谢。
亚当
Giuseppe Pontrelli:仅限手柄1D曲线。原始标题(2D或3D曲线的曲率)有些误导。
算法是否也适用于凹形2D曲线?算法如何区分凸起和凹点?
很好
Matthew Wong:三点需要计算曲率和方向。因此,阵列R和Kappa未在终点处定义。我选择在这些点使用纳米值。我本可以制作阵列更小或使用零,但是nan使得更容易制作漂亮的情节。
我使用了该函数的部分来解决最初激发此功能创建的问题。如果'E'值返回NaN,这意味着什么?我相信'e'的标志确定曲线方向(1或-1),但我不确定南部的方法。