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
THREE.js:如何制作平移、旋转和缩放的4X4矩阵_Three.js - Fatal编程技术网

THREE.js:如何制作平移、旋转和缩放的4X4矩阵

THREE.js:如何制作平移、旋转和缩放的4X4矩阵,three.js,Three.js,我有: 翻译: [x1, y1, z1] 3X3旋转矩阵: [ a11 a12 a13 ] [ a21 a22 a23 ] [ a31 a32 a33 ] 比例尺: [x2, y2, z2] 如何将这些组合成一个4X4矩阵,用于mesh.applyMatrix() 谢谢。使用您的符号,按如下方式构造变换矩阵: matrix.set( x2 * a11, y2* a12, z2 * a13, x1, x2 * a21, y2* a22, z2 * a23, y

我有:

翻译:

[x1, y1, z1]
3X3旋转矩阵:

[ a11  a12  a13 ]
[ a21  a22  a23 ]
[ a31  a32  a33 ]
比例尺:

[x2, y2, z2]
如何将这些组合成一个4X4矩阵,用于mesh.applyMatrix()


谢谢。

使用您的符号,按如下方式构造变换矩阵:

matrix.set(
    x2 * a11, y2* a12, z2 * a13,  x1,
    x2 * a21, y2* a22, z2 * a23,  y1,
    x2 * a31, y2* a32, z2 * a33,  z1,
           0,       0,        0,   1
);

three.js r.94

问得好,回答得好,但只是一句评论。您还可以避免构建矩阵。请参见此处的评论: