アークタンジェント2関数の定義
📂関数アークタンジェント2関数の定義
定義
アークタンジェント2arc Tangent 2 arctan2:(R2∖{(0,0)})→R は次のように定義される。
arctan2:(rsinθ,rcosθ)↦θ
r>0 は任意の正数だ。
説明
アークタンジェント2は、機械工学などの分野でアークタンジェント arctanだけでは不十分な情報を補うために使用される関数で、位置情報 rcos, rsin を知っていてもタンジェント cossin になり符号が消えてしまう問題を補完する。定義域でわかるように、(0,0) ではまだ定義されていない。
arctan との違い


見ての通り、アークタンジェントは (1,1) と (−1,−1) を区別できないが、アークタンジェント2は区別できる。
コンベンション
x=cos であり、y=sin の時、C言語やマットラボでは θ=arctan2(y,x) とするけれど、場合によっては θ=arctan2(x,y) とも言う。サイン・コサインの順にするならば arctan2(sin,cos) が自然であり、x-y の順序で行くならば arctan2(x,y) が自然な差異であるから、その都度注意が必要だ。
このようなコンベンションの差からも分かるように、アークタンジェント2は数学的に何か大きな意味があるというよりは、実用性のためだけに2を付け加えるものだ。逆運動学でよく登場する以下の定理を紹介する。
定理
三角関数の線形組み合わせが与えられたときの角度
acosθ+bsinθ=c
三角関数の線形組み合わせがc∈R のようであれば、角度θ は以下のようになる。
cosθ=sinθ=θ=a2+b2ac±b2(a2+b2−c2)b(a2+b2)b2c∓ab2(a2+b2−c2)arctan2(sinθ,cosθ)
特にc=0 の時は、より簡単な形で使用できる。
cosθ=sinθ=θ=±a2+b2b2∓baa2+b2b2arctan2(sinθ,cosθ)
証明
戦略:根本的には解の公式を使用するだけ。
解の公式:二次方程式 ax2+bx+c=0 (ただし、a=0)に対して
x=2a−b±b2−4ac
sinθ=1−cos2θ であるため
⟹⟹⟹⟹acosθ+bsinθ=cacosθ−c=−bsinθa2cos2θ−2accosθ+c2=b2(1−cos2θ)a2cos2θ−2accosθ+c2=b2(1−cos2θ)(a2+b2)cos2θ−2accosθ+(c2−b2)=0
一次項が2の倍数の時の解の公式に従って
cosθ==a2+b2ac±a2c2−(a2+b2)(c2−b2)a2+b2ac±−b2c2+a2b2+b4
一方、sinθ=bc−acosθ であるため
sinθ=====bc−acosθbc−aa2+b2ac±b2(a2+b2−c2)bc−b(a2+b2)a2c±ab2(a2+b2−c2)bc(a2+b2)−b(a2+b2)a2c±ab2(a2+b2−c2)−b(a2+b2)b2c±ab2(a2+b2−c2)
サインとコサインを知ったので、アークタンジェント2で求めていた θ=arctan2(sinθ,cosθ) を得る。
■