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

数学の問題は、ゲームの開発で使用される算術、幾何学、微積分、公式およびその他の計算を扱います。

16
すべてのゲームプログラマが知っておくべき数学 [閉まっている]
簡単な質問:すべてのゲームプログラマが成功するには、どのような数学をしっかりと把握する必要がありますか? ゲームプログラミングのニッチ領域で数学や何かをレンダリングすること、具体的にはゲームプログラマーが知っておくべきことについては特に話していません。 注:正解は1つもないので、この質問(およびその回答)はコミュニティwikiです。 また、派手なラテックス数学の方程式が必要な場合は、http://mathurl.com/を使用してください。

12
RPGダメージフォーミュラの開発方法
私は古典的な2d RPGを開発しています(ファイナルファンタジーと同じような流れで)、誰かにダメージの式/リソース/例へのリンクを行う方法についてアドバイスがあればと思っていましたか?現在の設定について説明します。この質問でやりすぎないことを願っています。質問が大きすぎる/広すぎる場合は謝罪します 私のキャラクターの統計は以下で構成されています: enum Stat { HP = 0, MP = 1, SP = 2, Strength = 3, Vitality = 4, Magic = 5, Spirit = 6, Skill = 7, Speed = 8, //Speed/Agility are the same thing Agility = 8, Evasion = 9, MgEvasion = 10, Accuracy = 11, …


8
ベジェに沿って2つの惑星間で船を移動し、加速のためのいくつかの方程式が欠落している
OK、私はすでにmath.stackechange.comでこれを投稿しましたが、答えは得られませんでした:( 最初にここに私の問題の写真があり、その後に説明が続きます。 だから私はすべてのポイントと値を設定しました。 船は左の惑星を動き回るからスタートP1してS=0.27 Degrees、それが到達したときに、gametickごとにPoint Aそれが達するまで、ベジェ曲線を次開始しPoint D、それは右の惑星の周りを移動P2してS=0.42 Degreesゲームチックあたり。の違いはS、惑星の周りを同じ移動速度で移動することです。 これまでのところ、これで問題は解決しました。 ときS P1とS P2あまりに異なり、それはそれの目的地に到達したとき、船はかなり悪い見えた、2つの速度の間でジャンプします。だから私は間の船を加速する必要があるPoint AとPoint DのS P1へS P2。 私が不足しているものは紫色で、それらは次のとおりです。 ティックを計算する方法は、加速度を考慮して船がベジェに沿って移動するのに必要です。 また、Tに基づいてベジェ曲線上の位置を見つける方法で、再び加速を考慮します。 ATM N点間の距離を計算することにより、ベジェの長さを計算します。だから私は何だと思い、私が必要とする、拡張するための方法であるT加速度に応じて私のベジェ計算に入れるために私の必要性を。
48 2d  mathematics 

7
ゲームで使用されるatanとatan2は何ですか?
私は理解するのに苦労Math.tan()しMath.atan()ていMath.atan2()ます。 私は三角法の基本的な知識を持っていますが、ゲーム開発のためのSIN、COS、TANなどの使用法は私にとって非常に新しいものです。 私はいくつかのチュートリアルを読んでいますが、接線を使用すると、マウスなどの別のオブジェクトとどれだけ向き合うかによって、あるオブジェクトを回転させる必要がある角度を取得できることがわかります。では、なぜatanまたはatan2を使用する必要があるのでしょうか?

3
船を回転させるためにオンにするスラスタを決定する方法は?
船の構成は動的に変化するため、船を時計回りまたは反時計回りに回転させたいときに、どのスラスタをオンにするかを決定する必要があります。スラスタは常に船と軸が揃っており(角度を付けない)、オンまたはオフです。可能なセットアップの1つを次に示します。 これまでに試したことは、発砲ベクトルと船の重心への方向ベクトルを視覚化することです。 残念ながら、私はそれでそれほど遠くに行きませんでした。

4
ボールがコーナーに当たった場合、それはどこで偏向しますか?
私は三角法を磨く必要があり、簡単な数学的モデルでここで助けてくれることを願っています。ここに添付されている画像でこれまでのところ私のモデルです。ボールが非常に速く動いている場合、フレームアニメーションに他の問題があることは承知していますが、今のところはballDxとballDyを計算するだけです。また、ballDx = 0(垂直移動のみ)である可能性もありますが、ボールがたわむと、ballDxは異なる値を取得する可能性があります。

2
RPGレベルアップ要件に合わせて調整可能な数式を作成する方法は?
number_of_levelsとlast_level_experienceの2つの値を変更するだけで変更できる数式を作成しようとしています。これは、ゲームを改造する人がレベリング要件を変更できるようにするためです。 最後のレベルアップに必要なXPの数を指定できるようにしましたが、最初のレベルアップに必要なXPを制御できるようにしたいので、この場合は大きく異なります。たとえば、40のレベルがあり、最後のレベルに1,000,000 XPがある場合、最初のレベルアップ要件は625になります。しかし、レベルを80に変更すると、最初のレベルアップは156になります。 1,000,000。 これらの2つの基本値だけを与えて、コンピューターに適切な曲線を作成させる方法が必要です。 #include <iostream> int main() { int levels = 40; if (levels < 2) levels = 2; int experience_for_last_level = 1e6; float fraction = 1.0 / levels; { int i = 0; float fraction_counter = fraction; int counter = levels; int total = 0; for (i …

5
ゲームの俳優は自分自身を描く責任がありますか?
私はゲーム開発は初めてですが、プログラミングは初めてです。 私は(再び)JavaScriptのcanvas要素を使用してPongタイプのゲームで遊んでいます。 Paddle次のプロパティを持つオブジェクトを作成しました... width height x y colour 次のPongようなプロパティを持つオブジェクトもあります... width height backgroundColour draw()。 draw()現在、メソッドはをリセットしてcanvasおり、そこで問題が発生しました。 必要があるPaddleオブジェクトが持つdraw()その描画方法は責任、または必要があるdraw()のPongオブジェクトがその役者を描くための責任がある(私が間違ってる場合、私はそれが正しい用語であると仮定し、私を修正してください)。 私はのためにそれがadvantagousだろうと考え出しPaddle自体を描画するために、私は2つのオブジェクトをインスタンス化するように、PlayerとEnemy。それはでなかった場合Pongのdraw()、私は二度同様のコードを記述する必要があると思います。 ここでのベストプラクティスは何ですか? ありがとう。

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

2
ゲーム物理学でピタゴラスの定理を使用するのはなぜですか?
私は最近、ピタゴラスの定理を物理計算で多く使用していることを学びましたが、私は本当に意味が分からないのではないかと心配しています。 これは、オブジェクトが水平面内の定数よりも速く移動しないようにするための本の例MAXIMUM_VELOCITYです。 MAXIMUM_VELOCITY = <any number>; SQUARED_MAXIMUM_VELOCITY = MAXIMUM_VELOCITY * MAXIMUM_VELOCITY; function animate(){ var squared_horizontal_velocity = (x_velocity * x_velocity) + (z_velocity * z_velocity); if( squared_horizontal_velocity <= SQUARED_MAXIMUM_VELOCITY ){ scalar = squared_horizontal_velocity / SQUARED_MAXIMUM_VELOCITY; x_velocity = x_velocity / scalar; z_velocity = x_velocity / scalar; } } これをいくつかの数字で試してみましょう。 オブジェクトがxで5ユニット、zで5ユニットを移動しようとしています。合計で5ユニットしか移動できないはずです! MAXIMUM_VELOCITY = 5; …

5
各レベルに比例してより多くのXPが必要な場合、合計XPから現在のレベルを計算するにはどうすればよいですか?
私のゲームでは、次のレベルに到達するために必要なXPは、現在のレベル×レベルのしきい値です。それを考慮して、これまでに獲得した合計XPから現在のレベルを取得するにはどうすればよいですか? 例えば: Level Threshold = 50 Current Level = 1 レベル1から開始して、レベル2に到達するには(1×50)= 50 XP が必要になります。 Level 1: 50 XP needed to reach level 2 Level 2: 100 more XP needed to reach level 3 Level 3: 150 more XP needed to reach level 4 つまり、進行表は次のとおりです。 Level 1: 0 XP to 49 …

6
アイドルゲームは、このような多数をどのように処理しますか?
Tap titansやCookie Clickerなどのゲームがこのような大きな数字をどのように処理するのか不思議に思っています。 アイドルゲームを実装しようとしていますが、C#でサポートされている最大の数値形式は10進数です。 最大10 ^ 500までサポートしたいと考えています。浮動小数点である必要があります どうすればこれを処理できますか? PSそれはクロスプラットフォームである必要がありますすなわちPC、Mac、IOS、AndroidとUnityとの互換性

6
距離ではなく、距離の二乗チェックを使用することの欠点はありますか?
私は基本的にすべての距離(vector3の長さ)のチェックに距離の2乗チェックを使用します。これは、平方根が発生しないことによるパフォーマンスの向上(プレーン長のチェックなど)によるものです。 それの外観から、二乗距離チェックはあらゆる状況でうまく機能します: if x^2 < y^2, then x < y, even when 0 < (x or y) < 1 距離と距離の2乗は常に正になるため、xまたはyが0より小さい状況は考慮していません。 これが機能するので、距離チェックは決して必要ではないように見えますが、何かが欠けているというしつこい感じがします。これは、精度が重要な状況でも維持されますか?


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.