如何 understand/use gl-matrix 函数 fromRotationTranslationScale()
How to understand/use gl-matrix function fromRotationTranslationScale()
我在这个 plunkr 中的 GL 中有一个立方体,如下所示:
我想从一个枢轴缩放、旋转和平移立方体。
希望让它像 https://www.youtube.com/watch?v=sZeBm8EM3mw&feature=youtu.be
一样动画
对于此转换,我将使用:
gl-matrix。幸运的是,此转换在 mat4.fromRotationTranslationScale()
下有一个方法
问题是我只是使用这个方法玩得很开心吗?没有错误,只是默认实现从屏幕上删除了立方体。
mat4.fromRotationTranslationScale(
matrix,
quat.create(),
vec3.create(),
vec3.create()
);
(static) fromRotationTranslationScale(out, q, v, s) → {mat4}
Creates a matrix from a quaternion rotation, vector translation and vector scale.
Parameters:
Name Type Description
out mat4 mat4 receiving operation result
q quat4 Rotation quaternion
v vec3 Translation vector
s vec3 Scaling vector
问题:
我是不是用错了fromRotationTranslationScale
?如果是这样,我哪里错了。如果没有,如何获得某种反馈来玩弄。
我的数学很弱,但我觉得我可以逆向工程并在你的帮助下学习 ;)。
我猜你的问题是比例向量。实际上,我假设默认向量值为 0.0
、0.0
、0.0
,如果您将此比例参数放入转换中,您的对象就会消失,因为它的大小为 0.0
... 而且,0 太小了,不可见 :)
传递给此类函数的良好标识值如下:
// X Y Z W
Quaternion = 0.0, 0.0, 0.0, 1.0
Translation = 0.0, 0.0, 0.0
Scale = 1.0, 1.0, 1.0
这对应于单位矩阵:
1.0 0.0 0.0 0.0
0.0 1.0 0.0 0.0
0.0 0.0 1.0 0.0
0.0 0.0 0.0 1.0
你可以注意到 1.0
的对角线,如果你将比例值设置为 0.0
这条对角线会被 0.0
填充,然后所有向量(例如顶点位置)转换为这个矩阵在所有轴上乘以 0.0
,这在任何地方都给出 0.0
。
我在这个 plunkr 中的 GL 中有一个立方体,如下所示:
我想从一个枢轴缩放、旋转和平移立方体。 希望让它像 https://www.youtube.com/watch?v=sZeBm8EM3mw&feature=youtu.be
一样动画对于此转换,我将使用:
gl-matrix。幸运的是,此转换在 mat4.fromRotationTranslationScale()
问题是我只是使用这个方法玩得很开心吗?没有错误,只是默认实现从屏幕上删除了立方体。
mat4.fromRotationTranslationScale(
matrix,
quat.create(),
vec3.create(),
vec3.create()
);
(static)
fromRotationTranslationScale(out, q, v, s) → {mat4}
Creates a matrix from a quaternion rotation, vector translation and vector scale.
Parameters:
Name Type Description
out mat4 mat4 receiving operation result
q quat4 Rotation quaternion
v vec3 Translation vector
s vec3 Scaling vector
问题:
我是不是用错了fromRotationTranslationScale
?如果是这样,我哪里错了。如果没有,如何获得某种反馈来玩弄。
我的数学很弱,但我觉得我可以逆向工程并在你的帮助下学习 ;)。
我猜你的问题是比例向量。实际上,我假设默认向量值为 0.0
、0.0
、0.0
,如果您将此比例参数放入转换中,您的对象就会消失,因为它的大小为 0.0
... 而且,0 太小了,不可见 :)
传递给此类函数的良好标识值如下:
// X Y Z W
Quaternion = 0.0, 0.0, 0.0, 1.0
Translation = 0.0, 0.0, 0.0
Scale = 1.0, 1.0, 1.0
这对应于单位矩阵:
1.0 0.0 0.0 0.0
0.0 1.0 0.0 0.0
0.0 0.0 1.0 0.0
0.0 0.0 0.0 1.0
你可以注意到 1.0
的对角线,如果你将比例值设置为 0.0
这条对角线会被 0.0
填充,然后所有向量(例如顶点位置)转换为这个矩阵在所有轴上乘以 0.0
,这在任何地方都给出 0.0
。