mean_curvature — 3D curvature op

• 資料種類:points → signal

• 呼叫: import fullseye as fs; fs.ledger.mean_curvature(points, k=25, normals=None)(要直接呼叫實作,import curvature3d; curvature3d.mean_curvature(points, k=25, normals=None);從台帳取用則 ops3d.get("mean_curvature"))

用法

平均曲率 H=(k1+k2)/2。→ (N,)。依賴朝向的量。

normals(帶方向的參考法線, (N,3))未指定時採用凸側啟發式(開放曲面的凹/凸符號不確定)。傳入帶方向的法線後會與全域方向一致,給出正確的符號。

補充:

• 計算與 principal_curvatures 相同(k+1 鄰域的 PCA 法線 + 局部二次曲面擬合),回傳 (k1 + k2) / 2。單位為 1/長度。

• 符號採用凸為正的慣例,僅在傳入 normals 時才對應全域的凹/凸。未指定時開放曲面的 H 始終在凸側(相當於絕對值)。

• 鄰域少於 5 個點的點為 0。k 會被截斷為 N-1。

• 半徑 R 的球為 1/R,圓柱為 1/(2R),平面為 0。鞍點(k1 = -k2)也為 0,但 gaussian_curvature 為負,因此可以區分。

• normals 須為 (N,3) 且各列有限、非零(ValueError)。決定性。

背景知識指南(該運算子背後的物理與規範)

• blas_threads_and_memory — 矩陣分解為何慢 —— BLAS 執行緒、快取、記憶體配置

參考(範例資料、文獻)

• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 URL。

• 運算子來歷與參考文獻 —— 該運算子族所依據的研究/方法出處。

可執行的範例(實際呼叫該運算子並已驗證的樣例)

• curvature_shape_index — py -3.11 examples_3d/curvature_shape_index.py

• minimal_surfaces — py -3.11 examples_3d/minimal_surfaces.py

型別可銜接的下一個運算子(可接受 signal 作為輸入)

fuse_to_voxel

同類別(curvature)

principal_curvatures · gaussian_curvature · shape_index · estimate_normals


*Provenance: curvature3d.py — 3D 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*

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