给出Vector3中的Vertices数组 square vectors3 [{-1,1,0},{1,1,0},{-1,-1,0},{1,-1,0}] 有没有什么办法可以在Matrix修改并返回4个Verctor?
答案 0 :(得分: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解决方案特别适用于您在图片中提供的内容。