【发布时间】:2019-03-21 10:33:11
【问题描述】:
如果我想将对象围绕其局部坐标旋转到世界(全局)坐标。从理论上讲:我需要将其转换为 (0,0) 全局坐标,然后旋转并将其转换回其全局坐标。
但是如果对象已经在 (0,0) 全局坐标上?那我就不需要翻译了。但是出了点问题。
这是立方体的顶点和索引:
export const cubeIndices = [
0, 1, 2,
0, 2, 3,
4, 5, 6,
4, 6, 7,
5, 0, 3,
5, 3, 6,
1, 4, 7,
1, 7, 2,
5, 4, 1,
5, 1, 0,
3, 2, 7,
3, 7, 6,
]
export const cubeData = [
-0.5 ,-0.5, 1.0,
0.5, -0.5, 1.0,
0.5 ,0.5 ,1.0,
-0.5, 0.5 ,1.0,
0.5, -0.5 ,0.0,
-0.5, -0.5, 0.0,
-0.5, 0.5 ,0.0,
0.5, 0.5,0.0,
]
我想围绕它的 Y 轴旋转它。我绘制函数的下一步是:
mat4.rotateY(shape.transformMatrix,shape.transformMatrix,0.01)
我做错了什么?
【问题讨论】:
-
立方体的中心不是(0, 0, 0),而是(0, 0, 0.5)。将 z 坐标从 0 和 1 分别更改为 -0.5 0.5。
-
@Rabbid76 谢谢