ジャミング中に敵機体を発見したら、ターゲットの座標をチャンネルに送信し、味方機が集結するようにしたい。
既に完成系がnas_Bさんによって公開されているが、これも試しに自分で組んでみた。

とりあえず、敵機体発見時に座標取得してチャンネル送信するようにした。
このとき、時間も一緒に送信しておき、受信側が時間を見て20秒以上経過していればチャンネルの値をクリアするようにした。
あとは肝心の移動方向の決定だ。
三角関数が全く分からないので、使わずに集結する方法を考える。
ジャミング中はレーダーの認識範囲が狭くなるとはいえ、50〜100m程度はあるので、厳密に方向を知る必要は無い。
およそ方向があっていれば、敵機体を発見出来る。
ということで、自機座標とターゲット座標の差を見て、45度刻みの8方向のうち、どこに向かうかを決めることにする。
以下、その方法などについて書いてみたが、かなり分かりづらくなってしまった。
内容は「続きを読む」の中に。
まずはX座標差とY座標差の符号から、上下左右の方向を決める。
X座標は右側が大、Y座標は下側が大なので、X座標差の符号とY座標差の符号が、-+なら上、--なら右、+-なら下、++なら左とする。
カウンタ入力の「自機の向き」で得られる値が上向きが±180度、下向きが0度なので、向かう方向が上なら-180、右なら-90、下なら0、左なら90としておく。
続いて、X座標差の絶対値からY座標差の絶対値を引いて、値が小さければ45度加算する。
自機から斜め方向にいるなら、X座標差の絶対値とY座標差の絶対値は等しくなるからだ。
これで方向が得られるので、あとは旋回して向きをあわせれば良い、のだがここで詰まった。
自機が上向きだと、+180と-180と大きく値が変わってしまうため、計算がおかしくなり、上向きで右旋回と左旋回を繰り返してしまう。
仕方なく右旋回のみとしたが、旋回に時間がかかる。
急速旋回は慣性が残って方向がずれるため使えない。

うーん、チップ数はnas_Bさんのものの倍近く、精度も駄目、とこれでは使い物にならない。
諦めてnas_Bさんの公開されたものを積もうか。
2008 03/07 19:45:00 | CHP(雑感) | Comment(0)
Powerd by バンコム ブログ バニー

この記事へのコメント

この記事にコメントする

名前:
メールアドレス:
URL:
セキュリティコード  
※セキュリティコードとは不正アクセスを防ぐためのものです。
画像を読み取り、入力して下さい。

コメント:
タグ挿入

サイズ
タグ一覧
Smile挿入 Smile一覧