intersect_planes — 3D geometry op

• Data kinds: primitive → primitive

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

उपयोग

plane ∩ plane → line (उस पर एक point, direction)। parallel होने पर None।

दिशा d = n̂1 × n̂2 को unit बनाकर, n̂1·p = n̂1·p1, n̂2·p = n̂2·p2, d·p = 0 का 3×3 system हल करके गुजरने वाला बिंदु p निकालता है (d·p = 0 होने से यह मूल बिंदु के सबसे निकट का बिंदु है)। return value (p(3,), d(3,))। यदि |n1 × n2| < 1e-9 (समानांतर या एक ही plane) हो तो None। arguments संख्यात्मक 3 vector हैं (np.cross और 3×3 solve का उपयोग होता है, इसलिए केवल 3-D के लिए; 2-D देने पर array बनाते समय विफल होता है)। आयामों का मिश्रण ValueError देता है।

उपयोग: fit_plane_3d से fit किए गए 2 planes की ridge, box के edge निकालना → distance_point_line से edge से दूरी।

संदर्भ (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.