はるさんへ 高速化というとループ回数を減らしたり演算ステップ数を減らすというのが重要となります。 ループ回数においてはこのプログラムではR=64の時に12844回となっていてこれは512x512のテクスチャを元に素直に変換した場合の262144回と比べると20分の1以下のループ回数になっているもののこれは上下をまとめて演算を行うことで半分に減らすことができます。 とはいえ、ループ回数が半分になっても演算ステップ数がそれほど変わらないので速度は思ったほど向上はしません。 演算ステップ数は「このプログラムが最小」と言いたいところですが、実はループの内側にあるU/2/PI()というのはループ内で変化しない値であるため例えばこれをN=U/2/PI()と置き換えてループ外に出してやるといとも簡単に1割程度の高速化が可能なのです。 (下記に続く)