CalcCrossPoint
説明
2直線PとQの交点を計算します。また交点の種類(実交点・仮想交点・平行)を判定します。
書式
Object.CalcCrossPoint(retX,retY,PX1,PY1,PX2,PY2,QX1,QY1,QX2,QY2,[EqualZero=0.00000001]) As Long
引数 | 説明 |
---|---|
retX | 交点のX座標を返す変数を指定します。 |
retY | 交点のY座標を返す変数を指定します。 |
PX1 | 直線Pの始点X座標を指定します。 |
PY1 | 直線Pの始点Y座標を指定します。 |
PX2 | 直線Pの終点X座標を指定します。 |
PY2 | 直線Pの終点Y座標を指定します。 |
QX1 | 直線Qの始点X座標を指定します。 |
QY1 | 直線Qの始点Y座標を指定します。 |
QX2 | 直線Qの終点X座標を指定します。 |
QY2 | 直線Qの終点Y座標を指定します。 |
EqualZero | 省略可能です。0とみなす最小の値を指定します。 |
戻り値
戻り値 | 説明 |
---|---|
0 | 2直線は平行です(同一線上を含む)。 |
1 | 2直線は交点を持ちます。 |
2 | 2直線は仮想交点を持ちます。 |
使用例
Set
Acad=CreateObject("AcadRemocon.Body")
LngRet=Acad.CalcCrossPoint(X,Y,PX1,PY1,PX2,PY2,QX1,QY1,QX2,QY2)
Select Case LngRet
Case 0
MsgBox "2直線は平行です。"
Case 1
MsgBox "2直線は("
& X & "," & Y & ")で交わります。"
Case 2
MsgBox "2直線は仮想交点("
& X & "," & Y & ")で交わります。"
End Select