amazon:Excelで操る! ここまでできる科学技術計算 第2版 楽天: Excelで操る! ここまでできる科学技術計算 [ 神足 史人 ] |
図1 円と直線の交点グラフ |
円と直線の交点を求めましょう。 円は中心座標(xc,yc)とその半径(R)で表現できます。 直線は2点(始点と終点)の座標(x、y)で表現できます。 始点座標は(xs, ys)、 終点座標は(xe,ye)とします |
直線の方程式は ax + by + c = 0 と表現できる。 係数 a,b,c は直線の始点、終点座標から求まり、 a = ye - ys b = xs - xe c = -( a・xs + b・ys ) となる。 |
直線の始点、終点間の距離(L)は L = √( ( xe-xs)2 + (ye-ys)2 ) となる。 直線方向の単位ベクトル(ex,ey)は下式となる。 ex = (xe - xs) / L ey = (ye - ys) / L この直線に直角な単位ベクトル( vx,vy )は下式となる。 vx = -ey vy = ex いま、円の中心から直線までの距離(最短距離)をkとすると、 (距離は円中心から垂線の足までの長さとなる) 円の中心(xc,yc)から直線の直角方向(vx,vy)にkだけ移動した点 x = xc + k・vx y = yc + k・vy は直線の方程式( ax+by+c = 0 ) 上にある。 よって、(x,y)を方程式に代入すると、距離kが求まる。 k = - (a・xc + b・yc + c)/(a・vx+b・vy) 求まった距離kより、垂線の足の座標(xp,yp)を下計算する。(下式) xp = xc + k・vx yp = yc + k・vy |
たった1日で即戦力になるExcelの教科書 入門者のExcel VBA―初めての人にベストな学び方 (ブルーバックス) Excel VBAのプログラミングのツボとコツがゼッタイにわかる本 すぐに使える! Excel関数逆引き辞典 |
垂線の足と交点との距離(S)は下式となる。 (ピタゴラスの3平方の定理) S = √( R2 - k2 ) R ::円の半径 k :円中心と垂線への足の距離 R < k の時、直線は円と交わりません。 (直線は円の外にある) √の中が負になると、EXCEL関数 sqrt() はエラーとなる。 垂線の足と交点との距離(S)が求まれば、円と直線の交点座標(x1,y1), (x2,y2)は 簡単に求まる。 垂線の足(xp,yp) から直線の単位ベクトル方向(ex,ey)に±Sの距離にある点が交点となる。 交点1の座標 x1 = xp + S・ex y1 = yp + S・ey 交点2の座標 x2 = xp - S・ex y2 = yp - S・ey |
円の半径 R= 5 , 中心(xc,yc) = ( 2.5, 4) とする。 直線の始点 (xs,ys) = ( -3 ,8), 終点( 4 ,-2)とし、 エクセルを用い円と直線の交点を求めてみよう。 図2 円と直線の交点とそのグラフ うまく円と直線の交点が求まりました。 |