fit_circle_3d — 3D geometry op

• Data kinds: points → primitive

• Call: import fullseye as fs; fs.ledger.fit_circle_3d(points) (implementation को सीधे call करना हो तो import match3d; match3d.fit_circle_3d(points), registry से लेना हो तो ops3d.get("fit_circle_3d"))

उपयोग

point cloud → 3D circle (plane fit → plane के अंदर 2D circle fit)। return value (center, radius, normal)।

fit_plane_3d से plane (c, n) लेकर, बिंदुओं को plane के भीतर के orthonormal basis (e1, e2) पर project करता है, 2-D का algebraic circle fit (|q|² = 2·cc·q + k का lstsq) हल करता है और केंद्र को वापस 3-D में ले जाता है। (N,3) में 3 से कम बिंदु हों तो ValueError (3 बिंदुओं पर plane सटीक होता है और circle उन 3 बिंदुओं से गुजरता है)। center plane पर स्थित 3-D बिंदु, radius float (ऋणात्मक मूल 0 पर clamp), normal plane का unit normal (चिह्न मनमाना)। चाप का केवल एक भाग हो या plane से हटे बिंदु अधिक हों तो radius पक्षपाती हो जाता है (algebraic fit का गुण; plane के भीतर का residual नहीं लौटाया जाता)।

उपयोग: hole, flange और ring का केंद्र और व्यास, distance_point_line से axis से eccentricity।

संदर्भ (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 करते हैं)

• geometry_metrology — py -3.11 examples_3d/geometry_metrology.py

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

fuse_to_voxel · angle_between_lines · angle_between_planes · angle_line_plane · distance_point_plane · distance_point_line · distance_line_line · distance_segment_segment

इसी category के (geometry)

line_from_2points · plane_from_3points · angle_3points · angle_between_lines · angle_between_planes · angle_line_plane · distance_point_plane · distance_point_line


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

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