Sds inters

提供:GizmoLabs - だいたい CAD LISP なサイト
構文
int sds_inters (const sds_point point1, const sds_point point2, const sds_point point3, const sds_point point4, int mode, sds_point interspt);


機能
2 本の線分の交点を検出する。
point1、point2 が最初の線。point3、point4 が次の線。
引数
  • point1 ~ 4 : 点
  • mode : モード 0=実際に交差している必要はない、1=実際に交差していなければならない。
  • interspt : 交差点
戻り値
交差していれば RTNORM、交差していなければ RTERROR。
* モードが1 で線分が交差しないときは RTERRORを返す。
サンプル
int cross;
cross = 1;
sds_point firstpt,secondpt,thirdpt,fourthpt,interspt;
sds_getpoint(NULL,"\n線分1の最初の点: ",firstpt);
sds_getpoint(firstpt,"\n2点目: ",secondpt);
sds_getpoint(NULL,"\n線分2の最初の点: ",thirdpt);
sds_getpoint(thirdpt,"\n2点目 : ",fourthpt);
returni=sds_inters(firstpt,secondpt,thirdpt,fourthpt,cross,intpt);

if (returni != 5100)
  sds_printf("\n交点はありません。");
if (returni == 5100)
  sds_printf("\n交点座標 : (%f,%f,%f)", intpt[0],intpt[1],intpt[2]);