mean_curvature — 3D curvature op

• Data kinds: points → signal

• Call: import fullseye as fs; fs.ledger.mean_curvature(points, k=25, normals=None) (implementation को सीधे call करना हो तो import curvature3d; curvature3d.mean_curvature(points, k=25, normals=None), registry से लेना हो तो ops3d.get("mean_curvature"))

उपयोग

mean curvature H=(k1+k2)/2। → (N,)। orientation पर निर्भर मात्रा।

normals (oriented reference normals, (N,3)) न देने पर convex-side heuristic इस्तेमाल होता है (open surface का concave/convex sign अनिश्चित रहता है)। oriented normals देने पर परिणाम global orientation के साथ मेल खाता है और सही sign देता है।

अतिरिक्त:

• गणना principal_curvatures जैसी ही है (k+1 neighbourhood का PCA normal + local quadric surface fit), और (k1 + k2) / 2 लौटाता है। इकाई 1/लंबाई है।

• sign की convention में convex धनात्मक है, और यह global concave/convex से तभी मेल खाता है जब normals दिया जाए। न देने पर open surface का H हमेशा convex side पर रहता है (absolute value के बराबर)।

• जिन points का neighbourhood 5 points से कम है उन्हें 0 मिलता है। k को N-1 तक काटा जाता है।

• radius R के sphere के लिए 1/R, cylinder के लिए 1/(2R), plane के लिए 0। saddle point (k1 = -k2) भी 0 देता है, पर gaussian_curvature वहाँ ऋणात्मक होता है, इसलिए दोनों में भेद किया जा सकता है।

• normals (N,3) होना चाहिए और हर row finite तथा non-zero हो (ValueError)। Deterministic।

पृष्ठभूमि guides (इस op के पीछे की physics और conventions)

• blas_threads_and_memory — Matrix decompositions धीमे क्यों हैं — BLAS threads, caches, memory layout

संदर्भ (sample data, साहित्य)

• 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 के स्रोत।

चलाए जा सकने वाले उदाहरण (verified samples जो सच में यह op call करते हैं)

• curvature_shape_index — py -3.11 examples_3d/curvature_shape_index.py

• minimal_surfaces — py -3.11 examples_3d/minimal_surfaces.py

वे अगले ops जिनसे type जुड़ता है (signal को input के रूप में लेते हैं)

fuse_to_voxel

इसी category के (curvature)

principal_curvatures · gaussian_curvature · shape_index · estimate_normals


*Provenance: curvature3d.py — 3D operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*

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