如何将正交相机设置为如上所述的项目?

时间:2012-02-09 02:09:30

标签: orthographic projection-matrix

我希望投影如下:

three-axis projection

(x,y,z) -> (x-y/sqrt(2),y/sqrt(2)-z)

如何找到投影矩阵?

1 个答案:

答案 0 :(得分:2)

我使用一个简单的相机得到了这个:

var camera = new THREE.Camera();

将远近视图设置为大值:

camera.far=2000;
camera.near=-2000;

并设置如下的投影矩阵:

camera.projectionMatrix = camera.projectionMatrix = new THREE.Matrix4(
            1,0,0.5,0,
            0,-1,-0.5,0,
            0,1,0,0,
            0,0,0,2000);

我不确定0.5是正确的值(猜测应该是1 / sqrt(2))但是它有效。此外,了解投影矩阵的工作原理是一种有趣的见解。 http://en.wikipedia.org/wiki/Projection_%28linear_algebra%29