orthographic - 如何设置正交相机进行如上所述的投影?

标签 orthographic projection-matrix

我希望投影是这样的:

three-axis projection

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

如何求投影矩阵?

最佳答案

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

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

关于orthographic - 如何设置正交相机进行如上所述的投影?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9204498/

相关文章:

r - 在正交投影中绘制世界地图给出 "non finite points"

c++ - 在保持纵横比的 openGL 中调整圆圈的大小

c++ - 0、800、600、0 与 0、800、0、600 OpenGL

objective-c - OpenGLES 添加投影

java - LibGDX 正交相机 : Make borders black instead of white (java)

matlab - 正射校正算法;拼接航拍图像

c++ - gluProject 的文档是否缺少透视除法?

opengl - 当前的 OpenGL 矩阵模式

r - 通过 QR 分解、SVD(和 Cholesky 分解?)计算投影/帽子矩阵