RSS

 

RSS


プログラム


角度を求める

  • いわいまさか
  • at 2017/11/28 08:20:57

プログラムを書いていて。数学っぽい問題(算数ではないなぁ)が出てきたので、解き方とともにメモ。

問題:下の図で線分は長さ1、5本を使った折れ線。5個の角度はみんな等しい。そんなとき赤線の長さを3にしたかったら、角度はいくらにすればよいかという問題。



式を立てる。
角度をt。
赤線の左端の座表を(0,0)。
赤線の右端の座標を(x,y)。
x=5*cos(t);
y=sin(t);
長さを3にしたいので、
x * x + y * y = 9

結局
25(cos(t)^2)+(sin(t)^2)=9           (a)

wolframalphaで引くと
http://www.wolframalpha.com/input/?i=25(cos(t)%5E2)%2B(sin(t)%5E2)%3D9

と、まぁ、wolframで答えまで出てしまうのだが。

∽∽∽∽∽

wolframの途中の式を眺めると解き方がわかる。

解き方
公式で cos(t)^2 + sin(t)^2 = 1 だ。 (b)
別に倍角の公式というのがあって
cos(2t)= cos(t)^2 - sin(t)^2     (c)

ここで、(a)の式に(b)の式を加減していって(c)で表せるようにするという方針で進める。

(b)の式の両辺を13倍すると
13(cos(t)^2)+13(sin(t)^2)=13   (d)

(a)の両辺から(d)の両辺を引くと

12(cos(t)^2) - 12(sin(t)^2) = -4

(c)を適用すると、
12cos(2t)=-4

cos(2t)= -1/3

ここまでくれば、cosの逆関数があれば、tが求まる。

t = (1/2) * acos(-1/3) / PI*180 = 54.7 度

∽∽∽∽∽

線分の数や、赤線の長さが変わっても同様に解ける。


  • コメント (0)
  • トラックバック (0)
トラックバックURL :
http://www.iwai-masaka.jp/tb.cgi/56341