問題タブ [atan2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
math - atan2() を他のラジアン角度システムと組み合わせて使用する方法
JavaScript でこれに苦労していますが、この問題は他の多くの言語/環境にも当てはまります。
あるオブジェクトを別のオブジェクトの位置に向かって回転させたいので、次を使用します。
atan2(obj1.dy, obj1.dx) - obj2.getRotation()
2 番目のオブジェクトが特定の時間に時計回りまたは反時計回りに回転するかどうかを確認します。
私が使用している JS/HTML5/Canvas プログラミング環境である KineticJS では、角度は正の Y 軸から時計回りに 0 から 2 pi のラジアンで指定されます。この動作は、他の多くのプログラミング環境でも見られます。
ただし、Math.atan2(y,x)関数を使用して 2 番目のオブジェクトから移動角度を計算する場合、角度は -pi から pi まで、正の X 軸から開始して反時計回りに指定されます。
明確にするために:
質問:
atan2() 関数の結果から通常のラジアンで角度を計算するにはどうすればよいですか?
trigonometry - atan2 が asin とは異なる値を与えたのはなぜですか?
直角三角形の角度の値を計算しようとしていました。側面は反対で、斜辺もたまたま角度に隣接しています。Java で記述された 1 つのコードは、atan2 を使用して角度を取得しました。C で atan2 を使用すると、異なる値が得られました。正しい値を取得する唯一の方法は、asin を使用することでした。
C のコード スニペットは次のとおりです。
Java のコード スニペットは次のとおりです。
誰でもこの問題に光を当てることができますか?
java - atan2 を使用した回転の動作がおかしい
基本的なモデル エディターを作成しようとしていますが、atan2 を理解していないか、予測不可能で苛立たしい結果が返されるため、使用するのに適切なソリューションではありません。このサイトの別のスレッドから借用したコードを少し使用して、2 点間の角度を取得しましたが、問題は、それが望んでいることを実行しておらず、正しい場所に回転していないことです。これは、モデルを設計し、レンダリングしてドラッグするクラスです。
スケルトン クラスのコードは次のとおりです (基本モデルを作成するコンストラクターが付属しています)。
}
Joint クラスのコードは次のとおりです。
}
すべてが実装されているわけではないため、コードはまだ少し乱雑ですが、少しいらいらしています。基本的に、角度が間違った場所に行く原因となっています。誰かが私の問題を理解しているなら、手を貸してください。ありがとうございました。
c - atan2 (y,x) y と x が非常に小さい場合
atan2
約 10 -14の引数で C で試しました。それは間違った答えを出します: ゼロではなく約 90 です。
xna - 速度の方向に長方形を指す (XNA)
Math.Atan2(futurePos.Y - pos.Y, futurePos.X - pos.X)
回転として試してみましたが、X軸でしか機能しないようです。
私がやればうまくいきますMath.Atan2(mouse.Y - pos.Y, mouse.X - pos.X)
(ただし、速度が負の値であるかどうかを管理する必要があり、それでさえ2方向では機能しません)。
ここで私が望む結果は、粒子の位置に長方形を描くことです。その長さは粒子の速度に関連しており、角度は粒子の進行方向を指しています。
matlab - matlabでatan2関数を-infからinfに再定義する方法は?
回転ベクトルがR(x(t), y(t))
あり、時間の関数として角度を見つけたいです。はとatan2
の間で決定されますが、すべてのダイナミクスを分析するのは不便です。では、からに拡張する方法はありますか?-pi
pi
atan2
-inf
inf
java - Android Java atan2()の結果は、-Pi、Piまたは0、360(2本の指の回転に関連)の間ですか?
このような基本的な質問で申し訳ありませんが、Android で 2 本の指の回転を実装しようとしています。SO でいくつかの投稿を見つけました。それらを理解しようとして、atan2 の結果が時々考慮される理由を理解できませんでした。 -Pi と Pi、時には 0, 360 または -180, 180.
私は本当にこれを理解できません: https://stackoverflow.com/a/10682187/1692502ここで、ユーザーは < 3.14 であるはずの結果に対して modulo %360 を実行します...
ありがとう