OpenGL将对象的坐标转换为另一个坐标系

时间:2014-06-22 19:17:53

标签: opengl transformation

我在不同的坐标系中有两个球体:

glMatrixMode( GL_MODELVIEW );

glLoadMatrixf( M1 );
glutWireSphere(70, 15, 15);


glLoadMatrixf( M2 );
glutWireSphere(70, 15, 15);

我想在第一个球体的坐标系中找到球体2的位置。你能帮我做一下吗?

1 个答案:

答案 0 :(得分:1)

你所拥有的是M1将球体1转换为眼睛空间,将M2转换为球体2,因此您可以将眼睛空间用作公共空间,这样您就可以将两者之间的位置联系起来。因此,要将球体的对象空间中的顶点转换为球体1的对象空间,您只需使用M2进入公共眼睛空间,然后使用{{1}的倒数返回球体1的对象空间。 }。在经典的GL表示法中,它将为您提供化合物转换作为矩阵

M1

并且球体2对象空间中的任何点T=inverse(M1)*M2 将转换为球体1对象空间中的x

x'