「Inters」の版間の差分
編集の要約なし |
編集の要約なし |
||
(同じ利用者による、間の1版が非表示) | |||
1行目: | 1行目: | ||
{{AutoLISP}} | |||
; 構文 | ; 構文 | ||
: (inters ''pt1'' ''pt2'' ''pt3'' ''pt4'' [''onseg'']) | : (inters ''pt1'' ''pt2'' ''pt3'' ''pt4'' [''onseg'']) | ||
7行目: | 8行目: | ||
: すべての点は現在の UCS で表される。4 つの点すべてが 3D の場合、3D 交点をチェックする。 | : すべての点は現在の UCS で表される。4 つの点すべてが 3D の場合、3D 交点をチェックする。 | ||
: 点のいずれかが 2D の場合、線分を現在の作図平面に投影して、2D 交点のみをチェックする。 | : 点のいずれかが 2D の場合、線分を現在の作図平面に投影して、2D 交点のみをチェックする。 | ||
; 引数 | ; 引数 | ||
16行目: | 18行目: | ||
: | : | ||
: * onseg 引数を省略するか nil 以外の値を指定すると、交点が両方の線分上に存在しない場合は nil を返す。 | : * onseg 引数を省略するか nil 以外の値を指定すると、交点が両方の線分上に存在しない場合は nil を返す。 | ||
; 戻り値 | ; 戻り値 | ||
22行目: | 25行目: | ||
; サンプル | ; サンプル | ||
: (inters '(2 3) '(2 -4) '(4 1) '(0 1)) | <pre class="brush:autolisp;"> | ||
(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 | |||
</pre> | |||
[[Category:AutoLISP]] | [[Category:AutoLISP]] |
2020年12月9日 (水) 11:00時点における最新版
- 構文
- (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