所以我正在学习使用JavaScript编写WebGL,并且出现了两个看似非常相似的术语。
modelMatrix.setTranslate(0,0,0);
modelMatrix.translate(0,0,0);
Zero仅用于示例,modelMatrix是建模矩阵。
set translate和translate有什么区别?
提前谢谢
答案 0 :(得分:2)
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