Inters

提供:GizmoLabs - だいたい CAD LISP なサイト
構文
(inters pt1 pt2 pt3 pt4 [onseg])


機能
2 本の線分の交点を検出する。
すべての点は現在の UCS で表される。4 つの点すべてが 3D の場合、3D 交点をチェックする。
点のいずれかが 2D の場合、線分を現在の作図平面に投影して、2D 交点のみをチェックする。


引数
  • pt1 : 最初の線分の一方の端点。
  • pt2 : 最初の線分の他方の端点。
  • pt3 : 2 番目の線分の一方の端点。
  • pt4 : 2 番目の線分の他方の端点。
  • onseg : nil を指定すると、4 つの pt 引数で定義した線分は、無限の長さとみなされる。
* onseg 引数を省略するか nil 以外の値を指定すると、交点が両方の線分上に存在しない場合は nil を返す。


戻り値
onseg 引数が指定されていて nil の場合、交点が一方または両方の線分上に存在しなくても、線分の交点の位置を返す。 onseg 引数を省略するか nil 以外の値を指定すると、交点が両方の線分上に存在しない場合に、nil を返す。2 本の線分が交差しない場合、 nil を返す。


サンプル
(inters '(2 3) '(2 -4) '(4 1) '(0 1))
(2 1)

(inters '(2 3) '(2 -4) '(4 1) '(3 1))
nil

(inters '(2 3) '(2 -4) '(4 1) '(3 1) nil) 
(2 1)

(inters '(2 3) '(2 -4) '(4 1) '(3 1) T)  
nil

(inters '(1 1) '(3 1) '(1 0) '(3 0) nil)  
nil