


 
 
 
 
 
 
 |
交点計算を行った後、算出した交点が線上にあるのか、それとも、線上にないのか(つまり、延長線上にあるのか)が重要になる場合があります。CADで交点スナップをする際、見えない点をスナップされると困る場合もあれば、逆に、ある線とある線の延長線上の交点を拾いたい場合もあります。そのため、CADでは、算出した点が、線上にあるか、延長線上にあるか、を判定する必要がある場合があります。
★線上の点
判定方法には様々な方法が考えられます。
@回転写像で交点を求めている場合
 |  |
線の交点計算の際、第1線を水平状態にするよう第1線の傾き角度分、逆回転させますが、その際、交点が(X,y1)にあるとした場合、
x1 ≦ X ≦ x2'
であれば、線上となり、
x1 > X 又は X > x2'
であれば、延長線上となります。 |
A距離で確認
 |  |
両端点から交点までの距離の和がその線分間距離と等しい場合は、線上にあります。
d=d1+d2
そうでない場合は、延長線上にあります。
d≠d1+d2
(左図の場合は、d=d1−d2) |
B角度で確認
 |  |
両端点から交点までの角度が異なる場合、線上にあります。
θ1 ≠ θ2
角度が同じである場合は、延長線上にあります。
θ1 = θ2 |
★円弧上の点
円の場合には問題はありませんが、円弧の場合には、円の交点計算で算出された交点が円弧上にあるかどうかを判定する必要があるでしょう。
 |  |
まずは、円の中心点から交点までの角度を計算します。これをαとすると、
円弧が
開始角度<終了角度 の場合
開始角度 ≦ α ≦ 終了角度
の場合には円弧上の点で、そうでない場合には延長線上の点、となり、
開始角度>終了角度 の場合
開始角度 ≦ α ≦ 終了角度
の場合には延長線上の点で、そうでない場合には円弧上の点、となります。 |
円弧の 0°点、90°点、180°点、270°点、の検索をした時と同様に、考え方を簡単にするために、開始角度>終了角度となってしまう状態を考えたくないため、開始角度を0°に持って行きます。そして、終了角度の値から開始角度分を引き算します。引き算の結果がマイナス値になれば、360°を足します。交点への角度も、開始角度分を引き算し、マイナス値になれば360°を足します。
開始角度と終了角度はどちらが大きいのか?等を考える必要はなく、0〜終了角度分の範囲内にあるかどうか?で済みます。この範囲内にあれば、円弧上の点であり、この範囲外であれば、延長線上の点となります。
|
|
CAD装置(1)
CAD装置(2)
メディア
AutoCADの
DIESELマクロ
CSV
DXF
PCES
IGES
STEP
数学とCAD
▲PREV
▼NEXT
CAD作ろ!
|