geometry op• 데이터 종류: primitive → measurement
• 호출: import fullseye as fs; fs.ledger.distance_line_line(p1, d1, p2, d2)(구현을 직접 호출하려면 import match3d; match3d.distance_line_line(p1, d1, p2, d2), 원장에서 가져오려면 ops3d.get("distance_line_line"))
두 직선 사이 거리(꼬인 위치도 가능). 평행하면 점-선 거리로 물러납니다.
★이것은 무한 직선 사이의 거리이다. 팔다리, 로봇 링크, 배관 같은 유한 선분에사용하면 떨어져 있는데도 0이 반환될 수 있다(실측: (0,0,0)-(1,0,0)과(5,0,0)-(6,0,0)에서 0.0, 참값 4.0). 선분끼리는 distance_segment_segment를 사용할 것 —— 안전 거리 판정에서 이를 혼동하면 위험을 과소평가하는 쪽으로 빗나간다.
n = d̂1 × d̂2를 취하고, |n| < 1e-9(평행)이면 distance_point_line(p2, p1, d1), 그외에는 |(p2 − p1)·n̂|(공통 수선의 길이)를 float로 반환한다. 교차하는 직선에서는 0. p1, d1, p2, d2는 수치 2 또는 3 벡터이며, 차원이 섞이면 ValueError. 2-D의 평행하지 않은 직선은 교차하므로 거리가 0이어야 하지만, np.cross가 스칼라가 되므로 @가실패한다(2-D는 평행한 경우만 통과한다). 3-D에서 사용할 것. 단위는 입력 좌표의 단위.
용도: 2개 축(fit_line_3d)의 동축도, 구멍 피치.
• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL URL.
• 연산자의 내력·참고문헌 —— 이 연산자 족의 바탕이 된 연구/기법의 출처.
• geometry_metrology — py -3.11 examples_3d/geometry_metrology.py
measurement 를 입력으로 받는 것)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 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.