[3Dプロッタ]

Papervision3Dを使うほどではないが、3Dな表現をしたいなぁというときには3Dプロッタを使っています。
下記のコードは昔からある古典的3D計算だそうです。よく忘れるのでメモ

焦点距離:camera_f
対象オブジェクト:target_mc
3D座標:x3d, y3d, z3d

var scale=camera_f/(camera_f+target_mc.z3d);
var xpos=target_mc.x3d*scale;
var ypos=target_mc.y3d*scale;

target_mc.scaleX=target_mc.scaleY=scale;
target_mc.x=xpos;
target_mc.y=ypos;