「Gz:ptRange」の版間の差分

提供:GizmoLabs - だいたい CAD LISP なサイト
(ページの作成:「{{GZLIB}} ; 構文 : (GZ:ptRange ''pt-a'' ''pt-b'' ''pt1'') ; 機能 : pt1 が、pt-a, pt-b の線上にあるかどうかを返す。(共線性+範囲内判定) ; 引数 :* pt-a : 2D/3D 座標点リスト :* pt-b : 2D/3D 座標点リスト :* pt1 : 判定する 2D/3D 座標点リスト ; 戻り値 : pt1 がpt-a,pt-b 間の線上にある点なら T、そうでなければ nil ; サンプル <pre class="brush:autolisp;"> (gz:ptRange '(0 0 0) '(0 120 0) '(…」)
 
編集の要約なし
 
1行目: 1行目:
{{GZLIB}}
{{GZLIB}}
; 構文
; 構文
: (GZ:ptRange ''pt-a'' ''pt-b'' ''pt1'')
: (GZ:ptRange ''pt1'' ''pt2'' ''pt3'')




; 機能
; 機能
: pt1 が、pt-a, pt-b の線上にあるかどうかを返す。(共線性+範囲内判定)
: pt3 が、pt1, pt2 の線上にあるかどうかを返す。(共線性+範囲内判定)




; 引数
; 引数
:* pt-a : 2D/3D 座標点リスト
:* pt1 : 2D/3D 座標点リスト
:* pt-b : 2D/3D 座標点リスト
:* pt2 : 2D/3D 座標点リスト
:* pt1 : 判定する 2D/3D 座標点リスト
:* pt3 : 判定する 2D/3D 座標点リスト




; 戻り値
; 戻り値
: pt1 がpt-a,pt-b 間の線上にある点なら T、そうでなければ nil
: pt3 がpt1,pt2 間の線上にある点なら T、そうでなければ nil




; サンプル
; サンプル
 
[[ファイル:GZ-ptRangeの判定サンプル.png|中央|448x448ピクセル]]
<pre class="brush:autolisp;">
一番下の例は、1-2の線上の点ではあるが、1-2の線間の範囲外なのでnilが変える。<pre class="brush:autolisp;">
(gz:ptRange '(0 0 0) '(0 120 0) '(0 100 0))
(gz:ptRange '(0 0 0) '(0 120 0) '(0 100 0))
T
T

2025年2月22日 (土) 08:32時点における最新版

構文
(GZ:ptRange pt1 pt2 pt3)


機能
pt3 が、pt1, pt2 の線上にあるかどうかを返す。(共線性+範囲内判定)


引数
  • pt1 : 2D/3D 座標点リスト
  • pt2 : 2D/3D 座標点リスト
  • pt3 : 判定する 2D/3D 座標点リスト


戻り値
pt3 がpt1,pt2 間の線上にある点なら T、そうでなければ nil


サンプル
GZ-ptRangeの判定サンプル.png

一番下の例は、1-2の線上の点ではあるが、1-2の線間の範囲外なのでnilが変える。

(gz:ptRange '(0 0 0) '(0 120 0) '(0 100 0))
T

(gz:ptRange '(0 0 0) '(0 120 0) '(0.1 100 0))
nil

(gz:ptRange (getpoint) (getpoint) (getpoint))


関連事項