続・数式メモ

投稿者:128 mini fragile 投稿日:2012/11/22 17:11

今日もスマホからです...
パソコンからコピペできるように貼ってあるだけで
計算が正しい保証は皆無です^^;
...一応動くのを確認しました。

def intersection(xc1, yc1, R1, xc2, yc2, R2) 
L = sqrt( (xc2-xc1)*(xc2-xc1) + (yc2-yc1)*(yc2-yc1) ) 
theta = atan( (yc2-yc1) / (xc2-xc1) ) 
c = ( L*L + R1*R1 - R2*R2) / (2 * L * R1) 
alpha = acos(c) 
 
pos = createArray() 
 
pos[0] = xc1 + R1 * cos(theta+alpha) 
pos[1] = yc1 + R1 * sin(theta+alpha) 
 
pos[2] = xc1 + R1 * cos(theta-alpha) 
pos[3] = yc1 + R1 * sin(theta-alpha) 
 
return pos 
 
end


参考 : エクセルを用いた円と円の交点計算

メモ : 円周外の点から引いた接線の方程式
   : 円の接線の求め方
   : 直線と円の交点
   : 2直線の成す角

 ̄―_― ̄―_― ̄―_― ̄―_― ̄―_― ̄

def angle(p, r)
return acos( sqrt(p*p - r*r) / p)
end

求めたい角度 = 角度 +/- angle(距離, 半径)


A4サイズの紙20枚消費した上に
数Cの参考書に挑んだのにこの様だよ(^o:・.

コメントする

コメントするには、ログインする必要があります。

コメント一覧

コメントはありません。