我有一个中心点的坐标。我还有一个叫做小行星法线的数组,我假设它是轴的相对旋转(它的3个数字在0和1之间)。
如何让对象围绕此对象?我找不到任何这样做的公式。
答案 0 :(得分:0)
试试这个:
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glTranslate(-x,-y,-z);
glRotate(angle,nx,ny,nz);
glTranslate(x,y,z);
答案 1 :(得分:0)
使用rotation matrix for an axis and angle.对象上p'
点的新位置p
p' = center + R(angle, axis) * (p - center)
其中R(angle, axis)
是angle
围绕axis
旋转的矩阵,而center
是轴经过的点。 Tal Darom的答案是相同的,只有OpenGL表示法。