タグ付けされた質問 「angles」

4
ゲーム開発で度数よりもラジアンが好まれるのはなぜですか?
私はラジアンの定義を調べてきましたが、数学者はそれらが度のように完全にarbitrary意的である代わりにpiから派生するため、ラジアンを好むことがわかりました。 しかし、おそらく関連する数学的理解が完全に欠如しているため、ゲーム開発でそれらを使用する説得力のある理由を見つけていません。ほとんどのsin / cos / tan関数は言語のラジアンですが、だれかが度数でライブラリ関数を作成することもできます(piを使用する場合の固有の丸め誤差を回避できます)。 私はこれを世論化された世論調査にしたくありません。ゲーム開発(および関連する数学研究)を行った人々から聞いてみたいと思います。私たち(そしておそらく他の人たち)が彼らが何のために良いのかを理解するのを助けるためだけに。

2
ほとんどの2.5D等尺性ゲームの視野の遠近法の角度[終了]
いくつかの非常に人気のあるゲームを調べて、それらが使用している視点角度を決定しました。目的のために、等角表示で45度と60度のグリッドを作成し、スクリーンショット(この場合はDiablo IIの)に配置しました。これらのグリッドはいずれもゲームの観点に適合しません。だから私は、パースペクティブに最適な角度を見つけようとしましたが、角度は53.5度に近いです。しかし、この数字はどこからでも来ていないようで、遠近法の角度を定義する数字の背後には強力な論理があると思います。私は9/16 * 90度と3/4 * 90度(画面解像度16:9と4:3の比率から)を試しましたが、私の仮定はどれも正しいようには見えません。ここに私が意味するもののスクリーンショットがあります: 60度 45度 2つの間の何か-53.5度-実数にかなり近い 実際の学位が何であり、どこから得られるのかを本当に知る必要があります。どんな助けも大歓迎です!ありがとうございました!

12
角度の比較と違いの解決
角度を比較して、それらの間の距離を把握したいと思います。このアプリケーションでは、度単位で作業していますが、ラジアンや卒業生でも動作します。角度の問題は、モジュラー演算、つまり0〜360度に依存することです。 1つの角度が15度、1つの角度が45度であるとします。差は30度で、45度の角度は15度の角度よりも大きくなります。 しかし、これは、たとえば345度と30度の場合に破綻します。それらは適切に比較されますが、それらの差は正しい45度ではなく315度です。 どうすれば解決できますか?アルゴリズムコードを書くことができます。 if(angle1 > angle2) delta_theta = 360 - angle2 - angle1; else delta_theta = angle2 - angle1; しかし、私は比較/分岐を避け、完全に算術に依存するソリューションを好むでしょう。

2
変換行列からオイラー角を抽出する方法は?
エンティティ/コンポーネントゲームエンジンを簡単に実現できます。 Transformコンポーネントには、ローカル位置、ローカル回転、グローバル位置、グローバル回転を設定するメソッドがあります。 変換が新しいグローバル位置に設定されている場合、ローカル位置も変更され、ローカル位置が更新されます。このような場合は、現在の変換ローカル行列を親の変換ワールド行列に適用するだけです。 それまでは問題ありませんが、更新されたローカル変換行列を取得できます。 しかし、変換でローカル位置と回転値を更新する方法に苦労しています。私が考えている唯一の解決策は、変換のlocalMatrixから並進と回転の値を抽出することです。 翻訳の場合は非常に簡単です。4番目の列の値を取得するだけです。しかし、回転はどうですか? 変換行列からオイラー角を抽出する方法は? そのような解決策は正しいですか?: Z軸を中心とした回転を見つけるには、localTransformのX軸ベクトルとparent.localTransformのX軸ベクトルの差を見つけて、結果をDeltaに格納します。次に、localRotation.z = atan2(Delta.y、Delta 。バツ); XとYを中心とした回転についても同じですが、軸を交換する必要があります。

3
起動角度以外のすべてを与えられた場合、ターゲットでGameObjectを起動するにはどうすればよいですか?
位置、目標位置、発射速度、重力を考慮して、目標で物体を発射しようとしています。私はウィキペディアからこの式に従っています: θ = a r c t a n (v2±v4− g(gバツ2+ 2 Yv2)−−−−−−−−−−−−−−−√gバツ)θ=arctaん(v2±v4−g(gバツ2+2yv2)gバツ) \theta = arctan \bigg( \frac{v^2 \pm \sqrt{v^4-g(gx^2 + 2yv^2)}}{gx} \bigg) 私はできる限りコードを簡略化しましたが、それでも目標を達成することができません。計算式の+-の選択肢から利用できる2つのうち、より長い軌道のみを考慮しています。 誰かが私が間違っていることを知っていますか? using UnityEngine; public class Launcher : MonoBehaviour { public float speed = 10.0f; void Start() { Launch(GameObject.Find("Target").transform); } public void Launch(Transform target) { float angle …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.