【初心者】スレを立てる前にココで質問を【Part22】at GAMEDEV
【初心者】スレを立てる前にココで質問を【Part22】 - 暇つぶし2ch17:名前は開発中のものです。
10/11/17 00:21:06 t2L9NG8f
>>16
サイトで解説されてる・・・と思ったけど確かに分かりにくい。

おそらく、atanに与える x/y の値は小数点以下も扱わないといけないんだけど
配列(テーブル)で値を参照するためには、添え字として正の整数を与えないといけないから
どうにかしてこの x/y を整数で表さないといけない。

そこで、整数をビットシフトさせて、仮想的に下位bit(ここでは8bit)を小数点以下として扱うことで
この問題を解決している。

それが (x<<8) / y の部分。
xとyは整数であり、結果も整数になる。

つまり、(x<<8)/yの結果は、小数点以下を表しつつ、配列の添え字として扱えるということ。
もちろん添え字は正でなければならないので、結果が負になる場合は別途処理が必要。

また更に、小数点以下の精度は 1/2^8であり、xの最大値も8bit分減るので
そのへん注意する必要がある。

たぶんこんな感じ。

ちなみにatanを何に使うかは分からないけど、ベクトル使ったほうがいい場合が多いので
そのへんも検討してみるといいかも。


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch