私が作った2軸回転プログラムはマリオカートやF-ZEROのようなゲームを作りやすくするため自キャラ(図の赤点)を中心に回転しています。(カメラは常に自キャラの方を向いていてキャラから見てどの角度、どの距離にカメラを置くかを自在に設定できる)
カメラから見るとピンクの線は遠くのものほど間隔が空いていますがこれは計算によって画面上では等間隔になります。
カメラが画面のX軸に対してθラジアン回転した方向に向いている時、ピンクの線はすべてθラジアン回転しています。
このピンクの直線上にあるピクセルをGSPOITで読み出して画面に表示すれば2軸回転が完成する(便宜上ピンクの線は8本しかないですが、実際は画面の縦のドット数の分だけ高密度にある)というわけですが、ピンクの線は直線であるためX方向の増分もY方向の増分もループ内では固定であり増分量をループ内で計算する必要はないということです。

プレイ済み