2018-06-01から1ヶ月間の記事一覧

Arduboyで狙い撃つぜ!(atan2テーブルの作り方) その5

今回もM-KAI氏のものを参考にした。 http://web.archive.org/web/20021220053234/http://www02.geocities.co.jp:80/SiliconValley-Bay/8572/algobib/lv029.htm atanテーブルの検索ではなく、インデックスを求め、テーブルから一発で値を取得できる。今までは…

Arduboyで狙い撃つぜ!(atan2テーブルの作り方) その4

今回はM-KAI氏の書かれたものを参考に、atanテーブルのサイズを半分にして検索回数を減らすことにした。 http://web.archive.org/web/20021220053234/http://www02.geocities.co.jp:80/SiliconValley-Bay/8572/algobib/lv029.htm atanテーブルのサイズは前回…

Arduboyで狙い撃つぜ!(atan2テーブルの作り方) その3

atanをテーブルから求める方法だが、M-KAI氏の書かれた物を参考にさせてもらった。 http://web.archive.org/web/20021220090455/http://www02.geocities.co.jp:80/SiliconValley-Bay/8572/algobib/lv019.htm ちなみにM-KAI氏のゲームはこちらでプレイできる…

sinテーブルの作り方

半径rの円周上に、半径rに等しい長さの円弧ABを取った時、 この円弧ABに対する中心角をθとすると、θは半径rの大きさに関係なく、一定の角になる。(比が同じと言うこと) この角を1ラジアンと定める。 このラジアンを単位として角の大きさを表す方法を弧度法…

Arduboyで狙い撃つぜ!(atan2テーブルの作り方) その2

例によって例のごとく、atan2は重い。 テーブル化したいのだが……。その前に、atan2について調べてみた。ターゲットを狙い撃つ場合、そのターゲットまでのx,yの距離は分かる。 であれば、tanの逆関数であるatanを使えば良さそうだが、 x=0のとき、つまり、90…