Post date: Feb 11, 2013 3:28:35 AM
透視投影で3Dを実装する場合を考える。今回、視点を原点、3次元座標の原点をz0とする。視野は2θとすると、
原点からz'の座標にある面は高さh=2(z0+z')tanθだけ視界に入ることになる。これを画面の高さheightで割ってあげれば良い。
これらのことを考えると、(x,y,z)を(x',y')に変更するには、
を行えばいい。
ちなみに、z座標がz→z'に変化した時の物体は(z0+z)/(z0+z')倍に拡大・縮小する。