mesh_process op• 資料種類:mesh → curvature
• 呼叫: import fullseye as fs; fs.ledger.vertex_curvature(mesh) -> 'np.ndarray'(要直接呼叫實作,import mesh_props; mesh_props.vertex_curvature(mesh) -> 'np.ndarray';從台帳取用則 ops3d.get("vertex_curvature"))
三角網格各頂點的平均曲率大小(mean curvature magnitude)。→ (N,)。
Meyer et al. (2003) 的離散 Laplace-Beltrami 運算子:
K(x_i) = (1 / (2·A_mixed_i)) · Σ_{j∈1-ring} (cot α_ij + cot β_ij)·(x_i − x_j)
等於平均曲率法向量 K = 2·H·n(H=平均曲率,n=單位法線)。這裡回傳與方向無關的 大小 H_i = |K(x_i)| / 2。α_ij, β_ij 是邊 (i,j) 所對的 2 個角,A_mixed 是 Meyer 的混合面積(非鈍角三角形取 Voronoi 面積,鈍角三角形取面積的 1/2 或 1/4),比樸素的重心面積能更準確地估計曲率。
在半徑 R 的球(封閉流形)上,所有頂點 H ≈ 1/R(在離散化誤差內)。平面的內部頂點上 H ≈ 0。限制(honest): cotangent Laplace-Beltrami 僅在封閉流形/內部頂點上有效,在開放網格的邊界頂點(1-ring 不封閉)上,值會發散性地不準確。只對封閉網格,或開放網格的內部頂點有意義。
Args:
mesh: (vertices (N,3), faces (M,3)) 的元組。
Returns:
(N,) 的平均曲率大小(非負)。由於上述原因,邊界頂點的值不可信。
Raises:
ValueError: 形狀不正確、index 越界,或存在混合面積為零的頂點(退化)時。
• blender_interop — 與 Blender 搭配使用 —— 在 Blender 中建形、用 fullseye 量測(座標軸、單位、真值資料的陷阱)
• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 URL。
• 運算子來歷與參考文獻 —— 該運算子族所依據的研究/方法出處。
• dl_mesh_curvature — py -3.11 examples_3d/dl_mesh_curvature.py
• mesh_props — py -3.11 examples_3d/mesh_props.py
• minimal_surfaces — py -3.11 examples_3d/minimal_surfaces.py
curvature 作為輸入)mesh_process)laplacian_smooth · taubin_smooth · decimate_qem · face_normals · vertex_normals · mesh_area · face_areas · mesh_volume
*Provenance: mesh_props.py — 3D 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.