2017-07-05 35 views

回答

0

如果我给你正确的,那么:

var angle = Math.PI/4; // rotate 45 deg CCW, negative angle is CW 
var m = new THREE.Matrix4(); 
m.set(
    Math.cos(angle), Math.sin(angle), 0, 0, 
    -Math.sin(angle), Math.cos(angle), 0, 0, 
    0    , 0    , 1, 0, 
    0    , 0    , 0, Math.sqrt(2) // diagonal length is square root of 2 times of side length 
); 

var originals = [ 
    new THREE.Vector3(-1, 1, 0), 
    new THREE.Vector3(1, 1, 0), 
    new THREE.Vector3(-1, -1, 0), 
    new THREE.Vector3(1, -1, 0) 
]; 

function applyMatrix(points, matrix4){ 
    var result = []; 
    points.forEach((point)=>{ 
    result.push(point.clone().applyMatrix4(matrix4)); 
    }) 
    return result; 
} 

var images = applyMatrix(originals, m); 

jsfiddle例如R86

PS的解决方案是非常适合你的照片给了什么。

+0

是的,这是正确的,谢谢 –

相关问题