Curvature of a 1D curve in a 2D or 3D space

バージョン 1.2.8 (85.5 KB) 作成者: Are Mjaavatten
Calculates the local radius of curvature as well as the cumulative arc length and the curvature vector along a 1D curve in 2D or 3D space
ダウンロード: 5.1K
更新 2021/11/10

ライセンスの表示

Function circumcenter finds the radius R and the center of the circumscribed circle of a triangle in 3D space.
Function curvature calls circumcenter for every triplet , , of neighboring points along the curve. The curvature is defined as . The curvature vector is , where is the unit vector in the direction from to the center of the circle.
Note that this local calculation is sensitive to noise in the data.
The syntax is:
[L,R,K] = curvature(X)
X: array of column vectors for the curve coordinates. X may have two or three columns.
L: Arc length
R: Curvature radius
K: Curvature vector

引用

Are Mjaavatten (2024). Curvature of a 1D curve in a 2D or 3D space (https://www.mathworks.com/matlabcentral/fileexchange/69452-curvature-of-a-1d-curve-in-a-2d-or-3d-space), MATLAB Central File Exchange. 取得済み .

MATLAB リリースの互換性
作成: R2014b
すべてのリリースと互換性あり
プラットフォームの互換性
Windows macOS Linux
カテゴリ
Help Center および MATLAB AnswersSparse Matrices についてさらに検索
タグ タグを追加

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
バージョン 公開済み リリース ノート
1.2.8

Now gives R = Inf , k = [0;0;0] whenever three consecutive points are in line.
Thanks to Santi Montagud for pointing out this shortcoming.

1.2.7

Bug fix

1.2.6

Inspired by the comment by @Fei Chen I now check if starting and end points are equal. If so, I calculate results for this point as well. In previous versions, starting and end point values were always NaN.

1.2.5

Changed title to make it clearer.

1.2.4

Fixed typos in accompanying note.

1.2.3

Yet another mixup: Correct heading this time

1.2.2

Uploaded wrong file in v. 1.2.1

1.2.1

Corrected minor bug in circumcenter function. It now runs faster for a single output (R) than for more. Results remain unchanged.

1.2.0

The code is simplified and about 30% faster. The derivation of the mathematical model is included as a separate document. The output is identical to version 1.1.

1.1.1

Forgot to update image

1.1.0

The direction of the curvature vector in version 1.0 was very wrong. Corrected in version 1.1

1.0.1

Improved image

1.0.0