どこで質問したらいいかわからないのですが,C++で実装してるのでここに書いてみます.適切なカテゴリーがありましたら教えてくださると助かります.
ゲーム開発者のためのAI入門(http://www.amazon.co.jp/exec/obidos/ASIN/4873112 …)という本でちょっとずつ勉強してます.追跡のアルゴリズムのところでうまくいかないところがあります.
直線的に移動するターゲットを捕食者(プレデター)に追跡させようとしています.時間刻みを適当にとって座標や速度,プレデターの向き(+y軸からの角度)を更新するように計算しています.
問題はプレデターの回転のところです.
ターゲットの座標をプレデターのローカル座標に変換して,プレデターの進行方向(ローカル座標の+y軸方向)からみてどちら側にターゲットがいるか(ローカル座標の+x,または-x)という情報からプレデターにトルクを与えます.慣性モーメントなどは適当に決めています.
確かにターゲットがいる方向へ回転するのですが,ターゲットを正面に捕らえたころには角速度が大きすぎて回りすぎてしまい,うまく向きを制御できません.
一定の角度で回るようにすればもちろんターゲットを正面に捕らえて直進してくれるのですが,それでは旋回のしかたが現実的でない感じがします.回転はあくまでトルクで実現したいです.
ターゲットを正面に捕らえるころには角速度をゼロに近づけるようにするにはどういった手段があるでしょうか.イメージとしては逆噴射みたいな感じで逆方向の角加速度を与えてあげればいいのかとも思いますが...
説明がうまくできなかったのでわかりづらいかと思いますが,よろしくお願いします.
意味がわからないことがあったらきいてくださればすぐに書きます.
No.2ベストアンサー
- 回答日時:
>一定の角度で回るようにすればもちろん
>ターゲットを正面に捕らえて直進してくれるのですが,
>それでは旋回のしかたが現実的でない感じがします.
>回転はあくまでトルクで実現したいです.
「追跡のアルゴリズム」以前に、
まず「走行する乗り物」を物理学的にどうシミュレートするべきなのか
の問題だと思うので、
物理学のカテで質問したほうがいいかも。
なんか専門知識が要りそう。
ひょっとしたら
「猫」「自動車」「ボート」「ミサイル」「ホバークラフト」では
それぞれ状況が異なるのかも?
(専門知識がないので僕にはわかりません)
No.1
- 回答日時:
修正量が1(100%の修正量の意)である時に1そのままを与えると、実際の方向を向いた時に大きすぎて行き過ぎてしまいます。
なので、修正量が1の時その半分を修正量を与えて、
半分の位置に来たときにまたその時の修正量を1としてその半分を修正量として与えるというように半量修正で修正量を付与します。
(1/2ずつの修正は、収束するので、いずれ一致します)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 物理学 角速度ベクトルにつきまして 3 2022/08/09 15:44
- 物理学 高1力学の運動量の問題です。問題を一通り解いたのですが、行き詰まってしまったのでご回答頂ければ嬉しい 3 2022/06/29 11:20
- 物理学 物理 2 2023/01/17 13:31
- 物理学 原点中心とする半径10cmの演習上、質点が1分間に600回の割合で反時計回りに運動している。 (1) 4 2023/05/29 12:46
- 数学 渦巻きの式とは。 7 2023/06/11 08:49
- その他(プログラミング・Web制作) プログラミング pythonの問題について 2 2022/04/19 00:41
- 物理学 力学の微分の質問です。 答えを教えてください。至急です。 問題1ある軸の上を並進運動している物体の位 2 2023/01/31 15:10
- 数学 ベクトル方程式(ヘッセの標準形)についての質問 2 2022/04/23 18:00
- 物理学 物理 7 2023/08/05 11:51
- 高校 円運動の質問 4 2022/05/02 04:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
グラフの交点の求め方(Excel)
-
シーケンサー(PLC?)で制...
-
空間上の二点を結ぶ直線上に任...
-
始点、終点の二つの座標と半径...
-
図形が重なりあっているかどうか
-
ダイアログ内コントロールの位...
-
VBで車のアナログスピードメー...
-
c#で直線が図形内にあるか判定
-
Excel VBA で自在に図形を変化...
-
エクセルである点からの距離で...
-
交差する2線分の交点座標の求め方
-
多角形の内部かどうか判定する方法
-
Pythonの質問です。 input関数...
-
追跡のアルゴリズム
-
OpenGLの線の太さ
-
3次元空間上の2つの座標から...
-
以下のプログラムは重心を求め...
-
敵機の出現間隔
-
エクセルで回転する座標の出し方
-
選択範囲の座標値の抽出
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
グラフの交点の求め方(Excel)
-
マインクラフト(pc版)で座標...
-
3次元空間上の2つの座標から...
-
エクセルである点からの距離で...
-
始点、終点の二つの座標と半径...
-
エクセルで回転する座標の出し方
-
閉図形の座標の配列が右回りか...
-
ワード上Shapeの位置情報を統一...
-
以下のプログラムは重心を求め...
-
C言語 配列で座標
-
ダイアログ内コントロールの位...
-
ガウシアンフィルタのCプログラム
-
空間上の二点を結ぶ直線上に任...
-
エクセルシート上のマウスポイ...
-
シーケンサー(PLC?)で制...
-
VB6のPrinter.ScaleWidth に対...
-
多角形の内部かどうか判定する方法
-
直線上にある点の座標の求め方
-
y=x^2の座標をプロットするプロ...
-
ピクチャボックスの座標取得
おすすめ情報