色々補足です。 立方体の3次元データは中央が(0,0,0)になるように定義しています。こうすると回転計算をいきなり行えるので計算が楽になります。 回転計算を行うと頂点データは計算誤差が発生するので元の3次元データには再代入は行わず別の配列に計算後データは格納します。 回転のあとで移動を行っていますが、これは順番を逆にすると公転のように遠いところで回転してしまうのを避けるためにこの順序で行っています。 移動値はZだけ数値が大きいですが、これは一番最初の3次元データはカメラと同じ場所にあって見えないので離してやるためのデータです。原点に近づくと0除算でエラーが出ます。 ここまでやってもまだポリゴンには計算が足りません。次は陰面消去というのが待っています。が、まずはここまでをじっくり理解した方が良いと思います。