Graphics 如何在opengl中创建相对于x轴的对象轨道

Graphics 如何在opengl中创建相对于x轴的对象轨道,graphics,3d,transform,Graphics,3d,Transform,假设我已经创建了一个立方体,我希望它在从x轴上拖出后绕x轴旋转 我需要执行哪些矩阵运算? 我知道,对于相对于x轴的旋转,我需要执行以下操作 但是绕轨道运行呢?我所说的绕轨道运动是指立方体将绕x轴作圆周运动而不自转 谢谢。轨道运动实际上只是一种翻译。有两个选项:将旋转矩阵与平移合并并还原旋转,或计算适当的平移向量 第一种选择是: R(theta) * T(0, 0, orbitRadius) * R(-theta) T(0, -orbitRadius * sin(theta), orbitRa

假设我已经创建了一个立方体,我希望它在从x轴上拖出后绕x轴旋转

我需要执行哪些矩阵运算? 我知道,对于相对于x轴的旋转,我需要执行以下操作

但是绕轨道运行呢?我所说的绕轨道运动是指立方体将绕x轴作圆周运动而不自转


谢谢。

轨道运动实际上只是一种翻译。有两个选项:将旋转矩阵与平移合并并还原旋转,或计算适当的平移向量

第一种选择是:

R(theta) * T(0, 0, orbitRadius) * R(-theta)
T(0, -orbitRadius * sin(theta), orbitRadius * cos(theta))
第二种选择是:

R(theta) * T(0, 0, orbitRadius) * R(-theta)
T(0, -orbitRadius * sin(theta), orbitRadius * cos(theta))

哪个X轴?什么坐标系下的X轴?@Nicolas世界坐标系下的X轴。谢谢Nico的回答。不过,我还有一个问题。例如,如果我从左到右拖动光标,那么θ将是xbegin-xend,那么如何通过从右到左拖动光标来反转同一轨迹上的轨道运动?在返回的过程中可以执行相同的操作:θ=θ=θ+xbegin-xend。因为xbegin-xend将有相反的符号,它将以相反的方向旋转。