geometry opprimitive → positionimport fullseye as fs; fs.ledger.intersect_line_plane(line_pt, d, plane_pt, n) (実装を直接呼ぶなら import match3d; match3d.intersect_line_plane(line_pt, d, plane_pt, n)、台帳から引くなら ops3d.get("intersect_line_plane"))直線 ∩ 平面 → 点(平行なら None)。
t = ((plane_pt − line_pt)·n̂)/(d·n̂) で line_pt + t·d を返す(float 配列)。d は単位化
しない(t は d の長さ単位)。|d·n̂| < 1e-9 なら None(例外ではない。返り値を使う
前に None チェック)。面に含まれる直線(距離 0 かつ平行)も None。引数は数値の 2 または 3
ベクトル、次元の混在は ValueError。2-D では n を直線の法線として線と線の交点になる。
用途: 視線(depth_to_points の点 − 原点)と fit_plane_3d の面との交点、レイと基準面。
py -3.11 examples_3d/geometry_metrology.pyposition を入力に取れる)refine_peak_newton · refine_translation_lk · refine_lm · fuse_to_voxel
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 ノートは tools/opdocs.py md が自動生成(手編集しない)。
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.