fullseye

curvature_torsion — 3D curve op

使い方

各点の曲率 κ と捩率 τ(再パラメータ化不変な閉形式)。→ (kappa (N,), tau (N,))。

座標の一様スケール s に対し κ→κ/s, τ→τ/s と正しくスケールする。0 割り防止の epsilon は 相対化する: 絶対 1e-12 は cross_norm²(~s⁴)・r1_norm³(~s³)を小座標スケールで支配し、 κ/τ を破壊するため、代表スケール L=median‖r’‖(座標スケール s に線形)で各分母と同次元に 正規化した相対 eps を使う。これは曲線を L で正規化してから計算し 1/L で戻すのと厳密に等価。

計算は順序付き点列 (N,3) を index パラメータで np.gradient 3 回(中心差分、両端は 片側差分)した r’, r’’, r’’’ から

標構(T,N,B)が要るなら frenet_frame、弧長 ds は arc_length から取る。

参考(サンプルデータ・文献)

実行できる例(この op を実際に呼ぶ検証済みサンプル)

型が繋がる次の op(pairs を入力に取れる)

fuse_to_voxel

同カテゴリ(curve)

frenet_frame · arc_length · resample_uniform · fit_spline_curve


Provenance: curve3d.py — 3D operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.