geometry op• Data kinds: points → primitive
• Call: import fullseye as fs; fs.ledger.plane_from_3points(a, b, c) (implementation को सीधे call करना हो तो import match3d; match3d.plane_from_3points(a, b, c), registry से लेना हो तो ops3d.get("plane_from_3points"))
3 points → plane (उस पर एक point, unit normal)। 3 coordinates से plane तय होता है (2D/3D दोनों में)।
लौटाता है (a, n): a पहला (1) point है, n, n = (b−a)×(c−a) का unit किया गया रूप है (दिशा a→b→c के right-hand screw के अनुसार)। arguments संख्यात्मक 2 या 3 vector हैं (अन्य कुछ या आयामों का मिश्रण ValueError देता है)। 3 points एक ही रेखा पर हों तो n zero vector ही लौटता है (exception नहीं आता)। 2 आयामी points देने पर np.cross scalar (signed area का 2 गुना) लौटाता है, इसलिए n vector नहीं बल्कि ±1 का scalar बनता है। 2-D में रेखा का normal चाहिए तो line_from_2points की दिशा को 90° घुमाकर उपयोग करें।
आगे: इस (a, n) को distance_point_plane / intersect_line_plane / intersect_planes / angle_between_planes को दें। point cloud से fit_plane_3d।
• 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 के स्रोत।
• geometry_metrology — py -3.11 examples_3d/geometry_metrology.py
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
geometry)line_from_2points · angle_3points · angle_between_lines · angle_between_planes · angle_line_plane · distance_point_plane · distance_point_line · distance_line_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.