geometry op• Data kinds: primitive → measurement
• Call: import fullseye as fs; fs.ledger.distance_line_line(p1, d1, p2, d2) (implementation को सीधे call करना हो तो import match3d; match3d.distance_line_line(p1, d1, p2, d2), registry से लेना हो तो ops3d.get("distance_line_line"))
2 lines के बीच दूरी (skew lines भी चलेंगी)। parallel होने पर point-line दूरी पर लौट जाता है।
★यह अनंत रेखाओं के बीच की दूरी है। हाथ-पैर, robot के link या पाइप जैसे सीमित segment पर इसे लगाने पर, अलग होते हुए भी 0 लौट सकता है (मापा गया: (0,0,0)-(1,0,0) और (5,0,0)-(6,0,0) पर 0.0, ground truth 4.0)। segment के जोड़ों के लिए distance_segment_segment का उपयोग करें —— safety distance की जाँच में इसे गड़बड़ाने पर परिणाम खतरे को कम आँकने वाली ओर जाता है।
n = d̂1 × d̂2 लेता है; यदि |n| < 1e-9 (समानांतर) हो तो distance_point_line(p2, p1, d1), अन्यथा |(p2 − p1)·n̂| (common perpendicular की लंबाई) float के रूप में लौटाता है। प्रतिच्छेदी रेखाओं के लिए 0। p1, d1, p2, d2 संख्यात्मक 2 या 3 vector हैं; आयामों का मिश्रण ValueError देता है। 2-D में असमानांतर रेखाएँ प्रतिच्छेद करती हैं, इसलिए दूरी 0 होनी चाहिए, पर np.cross scalar बन जाता है, इसलिए @ विफल होता है (2-D में केवल समानांतर स्थिति ही पास होती है)। 3-D में उपयोग करें। इकाई इनपुट निर्देशांकों की इकाई है।
उपयोग: 2 axes (fit_line_3d) की coaxiality, hole pitch।
• 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
measurement को input के रूप में लेते हैं)vol_gaussian_psf · fuse_to_voxel · fresnel_reflectance · snell_angle
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.