指定の座標への移動:解説編 ― 2007年10月01日 06時30分32秒
以前、指定座標へ移動するプログラムを載せたが、その仕組み
を簡単に解説する。まず、プログラムの解説をすると手順は以下の通り。
しかし残念ながら、CHPにはそんな便利な関数は備わっていない。では、どう
すればいいかと言えば、実は以下のような便利な式がある。
これは-90度から90度の範囲で、上のarctanに似た値を返す近似式だ。|x|とは
xの絶対値のこと。この近似式の誤差は射撃には使えないほど大きいのだが、
移動に使う分には問題ない。プログラムの1.の部分はこの計算をやっているわ
けだ。
- 指定座標の角度を求める
- 指定座標の角度と自分の向いている角度との差を求める
- +30度以上なら右旋回、-30度以下なら左旋回、それ以外なら直進
注意する必要があるのが座標系の話。上の図は、学校の数学の時間に習うXY座 標系なのだが、CHPで使われているXY座標系は下の図のようにコンピューター で一般的に使われるYの正方向が下向きのものだ。さらに、0度方向はなぜか下 向きだ。なので、上の近似式で得られた角度をこの座標系に応じて変換する必 要がある。