• 締切済み

コサインθからθを求める方法

cos θからAcosを使用せずに、tan、Atanを使用してθを求める公式をご教示ください

みんなの回答

  • Ishiwara
  • ベストアンサー率24% (462/1914)
回答No.3

底辺をx、斜辺を1とすれば θ=atan(tanθ) =atan((√(1-x^2))/x) =atan(√((1/x)^2-1)) =atan(√((1/((cosθ)^2))-1)) もちろん、#2さんの言われるとおり、第1象限の外では符号の配慮が必要になります。

ai5413
質問者

お礼

ありがとうございます。符号に気をつけて計算してみます。

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

cosθは -1~ 1 の値をとるので、Acosは通常0~πで定義されます。 sinθは0~πで正ですから、tanθの符号はcosθの符号で決定されます。 三角関数は2πの周期なのに0~πしか使えないのは、cosθが与えられただけでは、sinθの符号が決定できないためで、それを正にとるのはもちろん便宜的なものです。Acosを-π~0で定義するならば、sinθは負に取られます。 従って、0~πでは、 tanθ = sinθ/cosθ = √(1-cos^2θ) / cosθ θ= Atan(tanθ) = Atan( √(1-cos^2θ) / cosθ ) となります。 計算機でこれに従ってθを計算すると、-π/2~π/2の区間で答えが出る場合があります。これはAtanの定義域が -π/2~π/2 に取られるのが一般的で、π/2~π が -π/2~0 に焼きなおされるためです。このようなことが可能なのは、sinθの符号がcosθの値だけでは決定できないからです。 これを避けたい、とお考えでしたら、Atan2という関数が一般に用意されているので、それを使います。 Atan2(cosθ、sinθ) 引数にsin,cos両方があるのでその符号が正確に反映され、定義域はーπ~πになります。従って、cosの情報のほかに、sinの符号の情報が必要になります。つまり、sinθ=符号×√(1-cosθ) をAtan2の入力に用います。これは、Atanθ = Atan (符号×√(1-cosθ) / cosθ) を計算機によらずに人間が考えるのと同じになります。 以上から、θをAcosやAtanから求めるには(Asinでもそうですが)、それぞれcos,tanのみの情報では不足で、cos,sinの一方と他の符号が必要になることがお分かりになるでしょう。

ai5413
質問者

お礼

ご丁寧な回答ありがとうございます。Atan2を使用してみたいと思います。

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

?! なんか変ですね。 cosθ と tanθ と arctanx が与えられているときのθは、 θ = arctanx ではないでしょうか。 つまり、cosθ と tanθ は、計算には不要だということです。 頓珍漢な回答でしたら、すみません。

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

関連するQ&A