• ベストアンサー

線と円弧に接する円

よろしくお願いします。 CAD上では円弧と線があり、その2つに接する円が簡単に描けますが、数式で表すとどうなりますか。 求めたいのは、接する円の中心座標です。円の半径は任意。 直線と円弧の式は既知とします。

質問者が選んだベストアンサー

  • ベストアンサー
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

 コンピューター上の文章には、数式が書き込み難いため、この回答においては、一部に累乗を「^」を用いて表したり、必要以上に括弧を増やしたりしております。  そのままでは理解し難いと思われますので、紙面に数式を写し直したり、略図と座標軸を描く等をされた上で、理解を進められた方が、より判り易くなると思います。  中心の座標が[x0,y0]で、半径がr0である円を表す式は、 (x-x0)^2+(y-y0)^2=r0^2・・・・・式(1) になります。  この円に接する半径rの円の中心点は、 (x-x0)^2+(y-y0)^2=(r0±r)^2・・・・・式(2) で表される円上のどこかに存在します。(但し、右辺=(r0-r)^2の時、r≠r0)  傾きがa、切片がb0である直線を表す式は、 y=ax+b0・・・・・式(3) になります。  この直線に接する半径Rの円の中心点は、接するべき直線を、間隔Rだけオフセットさせた平行線上のどこかに存在します。  この平行線を表す式は、 y=ax+b0±R/√(a(a+1))・・・・・式(4) になります。  円と直線の双方に接する円の中心[x,y]は、式(2)、式(4)を同時に満たす位置にありますから、式(4)を式(2)に代入して、 (x-x0)^2+(ax+b0±R/√(a(a+1))-y0)^2=(r0±r)^2 0=(x-x0)^2+(ax+b0-y0±R/√(a(a+1)))^2-(r0±r)^2 =(a^2+1)x^2+2x(a(b0-y0)-x0±aR/√(a+1))+(b0-y0±R/√(a(a+1)))^2-(r0±r)^2・・・・・式(5)  2次方程式である式(5)をxについて解くと、 x=(-(a(b0-y0)-x0±aR/√(a+1))±√((a(b0-y0)-x0±aR/√(a+1))^2-(a^2+1)((b0-y0±R/√(a(a+1)))^2-(r0±r)^2)))/(a^2+1)・・・・・式(6)  式(4)、式(6)より y=a(-(a(b0-y0)-x0±aR/√(a+1))±√((a(b0-y0)-x0±aR/√(a+1))^2-(a^2+1)((b0-y0±R/√(a(a+1)))^2-(r0±r)^2)))/(a^2+1)+b0±R/√(a(a+1))・・・・・式(7) となります。  x及びyの解は、Rの前にある±が+の場合と-場合、r>0の前にある±が+の場合と-場合、√((a(b0-y0)-x0±aR/√(a+1))^2-(a^2+1)((b0-y0±R/√(a(a+1)))^2-(r0±r)^2))の前にある±が+の場合と-場合、の各々の場合がありますから、2の3乗の、8通りの解があります。(数値としては|r|=|R|です)  尚、CADで直線を引く際に、始点と終点を指定した場合、始点の座標を[x1,y1]、終点の座標を[x2,y2]とすると、 a=(y2-y1)/(x2-x1) b0=y1-ax1=y1-x1(y2-y1)/(x2-x1)=y1-(y2-y1)/((x2/x1)-1)  始点と角度を指定した場合、始点の座標を[x1,y1]、角度をθとすると、 a=tanθ b0=y1-ax1=y1-x1(tanθ) ですから、直線の指定の仕方によって、式(6)及び式(7)に代入するa及びb0の値を、変えられると良いと思います。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • nag0720
  • ベストアンサー率58% (1093/1860)
回答No.2

作図で半径sの円を描く場合は、 「直線と距離がsだけ離れた直線」と「円弧と同じ中心で、半径がsだけ大きい円」を描いてその交点が求める円の中心になります。 座標計算の場合も同じ方法で計算できます。 直線の式を、ax+by=c 円弧の式を、(x-p)^2+(y-q)^2=r^2 とし、両方に接する円の半径をsとします。 「直線と距離がsだけ離れた直線」の式は、 ax+by=c±s√(a^2+b^2) 「円弧と同じ中心で、半径がsだけ大きい円」の式は、 (x-p)^2+(y-q)^2=(r+s)^2 この2つの式からx,yを求めれば、それが求める円の中心座標になります。 あとは面倒なので、ご自分で計算を。

すると、全ての回答が全文表示されます。
  • gohtraw
  • ベストアンサー率54% (1630/2965)
回答No.1

 求める円の中心から直線までの距離が円の半径に等しい  円弧の中心と円の中心の距離が両者の半径の和に等しい この両者を連立させればいいと思います。

すると、全ての回答が全文表示されます。

関連するQ&A