因此,我正在学习用JavaScript使用WebGL进行编程,并且出现了两个看起来非常相似的术语。

modelMatrix.setTranslate(0,0,0);
modelMatrix.translate(0,0,0);


仅以零为例,modelMatrix是建模矩阵。

设置翻译和翻译之间有什么区别?

先感谢您

最佳答案

setTranslate就像二传手。它根据参数创建一个新的转换矩阵,并将其存储到modelMatrix。例如,假设modelMatrix的值为

1 0 0 2
0 1 0 2
0 0 1 2
0 0 0 1


当您应用此代码modelMatrix.setTranslate(0,0,0);时,它将变为

1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1


相反,translate将已经存储在modelMatrix中的矩阵乘以根据参数创建的矩阵,并将结果存储到modelMatrix中。
例如,modelMatrix的值为

1 0 0 2
0 1 0 2
0 0 1 2
0 0 0 1


当您应用此代码modelMatrix.translate(0,0,0);时,它将变为

1 0 0 2   1 0 0 0   1 0 0 2
0 1 0 2 x 0 1 0 0 = 0 1 0 2
0 0 1 2   0 0 1 0   0 0 1 2
0 0 0 1   0 0 0 1   0 0 0 1

08-08 03:33