mesh_process op• Data kinds: mesh → curvature
• Call: import fullseye as fs; fs.ledger.vertex_curvature(mesh) -> 'np.ndarray' (implementation को सीधे call करना हो तो import mesh_props; mesh_props.vertex_curvature(mesh) -> 'np.ndarray', registry से लेना हो तो ops3d.get("vertex_curvature"))
triangle mesh के हर vertex पर mean curvature का परिमाण (mean curvature magnitude)। → (N,)।
Meyer et al. (2003) का discrete Laplace-Beltrami operator:
K(x_i) = (1 / (2·A_mixed_i)) · Σ_{j∈1-ring} (cot α_ij + cot β_ij)·(x_i − x_j)
mean curvature normal vector K = 2·H·n के बराबर है (H=mean curvature, n=unit normal)। यहाँ दिशा से स्वतंत्र magnitude H_i = |K(x_i)| / 2 लौटाया जाता है। α_ij, β_ij edge (i,j) के सामने वाले 2 कोण हैं, और A_mixed Meyer का mixed area है (non-obtuse triangle के लिए Voronoi area, obtuse triangle के लिए area का 1/2 या 1/4), जिससे curvature का अनुमान सरल barycentric area की तुलना में अधिक सटीक होता है।
त्रिज्या R वाले sphere (closed manifold) पर सभी vertices पर H ≈ 1/R (discretisation error के भीतर)। plane के interior vertices पर H ≈ 0। सीमा (honest): cotangent Laplace-Beltrami केवल closed manifold / interior vertices पर ही मान्य है, और open mesh के boundary vertices (जहाँ 1-ring बंद नहीं होता) पर मान बेतहाशा गलत हो जाते हैं। इसका अर्थ केवल closed mesh, या open mesh के interior vertices के लिए है।
Args:
mesh: (vertices (N,3), faces (M,3)) का tuple।
Returns:
(N,) mean curvature के magnitudes (non-negative)। ऊपर बताए कारण से boundary vertices के मान भरोसेमंद नहीं हैं।
Raises:
ValueError: shape अमान्य, index सीमा से बाहर, या कोई vertex जिसका mixed area शून्य हो (degenerate) तब।
• blender_interop — Blender के साथ उपयोग — shape बनाएँ, fullseye से मापें (सावधानियाँ: axes, units, ground truth)
• Sample data catalog (DL URL / license) — 2-D के लिए skimage.data (BSD/public) + synthetic, 3-D के लिए real data sources (Stanford/PDS आदि) के DL URL।
• Operators का स्रोत और संदर्भ — इस op family के मूल research/methods के स्रोत।
• 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 को input के रूप में लेते हैं)mesh_process)laplacian_smooth · taubin_smooth · decimate_qem · face_normals · vertex_normals · mesh_area · face_areas · mesh_volume
*Provenance: mesh_props.py — 3D operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.