distance_line_line — 3D 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, साहित्य)

• 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 जुड़ता है (measurement को input के रूप में लेते हैं)

vol_gaussian_psf · fuse_to_voxel · fresnel_reflectance · snell_angle

इसी 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.