3

2D回転行列があると仮定します:

cos(t) -sin(t) 0
sin(t)  cos(t) 0
  0       0    1

正しい回転角度を取得するにはどうすればよいですか?

最初の要素で acos を使用すると、0 から pi の間の値のみが得られます。t問題は、が 0 より小さい場合にどうするかです(もちろん、t はわかりません ;) )?

4

2 に答える 2

2

ほとんどの C ファミリ プログラミング言語の関数atan2()は、y と x の両方の値を取り、両方の項の符号を考慮して、正しい完全な円の角度を計算して、それらの間の比率のアークタンジェントを計算します。

atan2( sin(t), cos(t) )(おおよそ)t範囲 (-pi,+pi] で返されます。

于 2012-09-30T00:42:00.777 に答える
1

整数tの解 ( ) を満たすことができる は無数にあります。を使用すると、0 と pi の間の結果が得られますが、さらにチェックすると、回転が時計回りか反時計回りかを把握できます。t + 2*pi()*nnacos(cos(t))asin(sin(t))

于 2012-09-30T00:40:11.137 に答える