Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 设置three.js投影矩阵方向_Javascript_Three.js_Webgl - Fatal编程技术网

Javascript 设置three.js投影矩阵方向

Javascript 设置three.js投影矩阵方向,javascript,three.js,webgl,Javascript,Three.js,Webgl,我读了下面为webgl编写的代码,我想用three.js重写它。但是我找不到任何办法,请帮助我 pMatrix = mat4.create(); mat4.perspective(pMatrix,1.01,gl.drawingBufferWidth/gl.drawingBufferHeight, 10.0, 300000.0); var eciMat = [1, 0, 0, 0, 0, 0, -1, 0, 0, 1, 0, 0,

我读了下面为webgl编写的代码,我想用three.js重写它。但是我找不到任何办法,请帮助我

pMatrix = mat4.create();
mat4.perspective(pMatrix,1.01,gl.drawingBufferWidth/gl.drawingBufferHeight, 10.0, 300000.0);
var eciMat = [1,  0,  0,  0,
           0,  0, -1,  0,
           0,  1,  0,  0,
           0,  0,  0,  1
           ];
mat4.mul(pMatrix, pMatrix, eciMat );

Three.js中的矩阵类非常复杂,请看下面的文档:

下面是我将如何用Three.js编写它

// Arguments are fov, aspect, near, far
var perspectiveMatrix = new THREE.Matrix4().makePerspective(30, 1, 0.01, 20);

var eciMatrix = new THREE.Matrix4();
eciMatrix.set(1,  0,  0,  0,
              0,  0, -1,  0,
              0,  1,  0,  0,
              0,  0,  0,  1);

var resultMatrix = new THREE.Matrix4();
resultMatrix.multiply(eciMatrix);
resultMatrix.multiply(perspectiveMatrix);
resultMatrix.multiply(perspectiveMatrix);

console.log(resultMatrix);

该矩阵似乎使轴旋转到地球为中心的惯性。在three.js中,我发现了一个摄影机属性projectionMatrix,我应该如何将resultMatrix与projectionMatrix关联?projectMatrix的元素副本似乎不正确。摄影机的projectionMatrix应该是makePerspective调用的结果。是的,矩阵是90度旋转,这不是本意吗?你的意图是什么?我只是试图用三个.JS类重写您的代码。