No.2ベストアンサー
- 回答日時:
自分の位置を原点、対象の位置(x,y,z)とすると
距離はsqrt(x^2 + y^2 + z^2)となりますが
距離を比較するだけならsqrtは不要でx^2+y^2+z^2で比較できます。
>30vs30のような多数対多数それぞれすべてのキャラクター達が一番近い敵を調べる
この計算量は30C2 = 435回にすぎないのでこの場合普通にCPUで計算したので問題ないと思います。
これが例えば毎フレーム30000個のオブジェクトの各距離判定を行うとかであれば
マルチコアを使って計算を分散させるか、最近ではCUDA等があるので
それらを使ってGPGPUを使うと高速に計算出来るでしょう。
(GPGPUはDirectX11から標準サポートされるそうです)
お礼が遅くなって申し訳ありません。
自分は今DirectXを使っていないので、GPGPUの機能を使うことは出来ないのですが、そもそも計算回数が少ないんですね。
今までsprtを使って計算していたのですが、これを省いただけでも速度が向上しました。
あちがとうございました。
No.1
- 回答日時:
律儀に計算するなら三角関数で計算するのでしょうけど、
簡略化するなら単純に縦軸と横軸の差の合計を距離とする方法もあります。
これは戦略ゲームなどのマス目状のマップで、同距離のエリアがひし形状に広がっていきます。
かなり大雑把ですけど、これで大まかに並べておけば計算が効率化できます。
また、正確な距離が不要なら三角関数も計算済みのテーブルを使って高速化する方法もあります。
今ではCPUの処理能力が高いので、律儀に計算しても充分速いのでしょうけど。
お礼が遅くなって申し訳ありません。
自分のマシンだと、ちょっと速度が気になったので質問してみたのですが、ほかのマシンだと問題ないんですかね。
いろんな方法を試してみます。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- オンラインゲーム FPS(荒野行動やAPEXなど)ゲームが上手く出来ません。 APEXをよくプレイしてるのですが、ウル 1 2022/12/24 17:37
- レトロゲーム プレステゲームに詳しい方、ソフトの名前が出てこないので教えて欲しいです。 1 2023/05/17 14:12
- 政治 次期戦闘機には、私の発明した対空ミサイル迎撃システム「パルティア」を採用するべきですね? 3 2022/08/15 13:40
- レトロゲーム ファミコンのインベーダの質問その3 背景にインベーダーを描画したとしても、なぜ動けるのか? 3 2022/07/08 16:58
- 政治 自衛隊の対潜哨戒機P-1には、対空ミサイル防御システム「パルティア」を装備するべきですね? 6 2022/09/12 04:41
- アニメ オーバーロードやアクセルワールドやソードアートオンライン等のなろう系、俺TUEEEE系のライトノベル 1 2023/03/10 21:10
- 英語 fight with とは? 3 2022/05/15 00:23
- 美術・アート イラストを探しています。 趣味でイラストを描いている者ですが、数年前に見かけた素敵なイラストが検索し 1 2023/08/18 00:35
- 関東 表参道、六本木、恵比寿、広尾、 あなたにとってどれが一番すきですか?順位を並べてください。 1 2022/09/11 22:01
- 世界情勢 地球や世界やアメリカや日本等の真実・実態も知り、目覚めて生き残りたかったら 1 2022/05/05 15:21
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
65536は2の何乗なのでしょうか?
-
C言語の課題で、1年の秒数を計...
-
変化させるセルが変化しない
-
排他的論理和 BCC(水平パリテ...
-
C言語についてです。 再帰を使...
-
VBとVBAの違い
-
傾いた四角形内の範囲の条件式
-
骨折リスク評価のFRAXについて...
-
チェックデジット計算できる関...
-
入射角反射角
-
バッチファイルでウインドウを...
-
C++言語で、レナードジョーン...
-
2進数の乗算をc言語で計算した...
-
べき乗の計算が遅い理由
-
数値計算の高速化 (cos, sin, exp)
-
Vba Cells.Findについて教えて...
-
ExcelのマクロVBA動作を軽くす...
-
VBAの再計算が反映されない件に...
-
fortran πについて
-
C言語についての質問です。 ル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
65536は2の何乗なのでしょうか?
-
VBAの再計算が反映されない件に...
-
排他的論理和 BCC(水平パリテ...
-
EXCELなどで「返す」という表現
-
バッチファイルでウインドウを...
-
モジュラス103の計算とは何でし...
-
傾いた四角形内の範囲の条件式
-
Visual C++でdebugとreleaseで...
-
変化させるセルが変化しない
-
骨折リスク評価のFRAXについて...
-
C# 計算処理中に実行中ウィン...
-
VBAでの勤務時間計算
-
べき乗の計算が遅い理由
-
C言語についてです。 再帰を使...
-
Excel VBAにてFFT
-
数値計算の高速化 (cos, sin, exp)
-
VBとVBAの違い
-
VB6で正確なミリ秒を計測したい...
-
スレッド処理からダイアログを...
-
matlabで計算終了
おすすめ情報