假设我有一个球体和一个在 XY 中绘制的平面,我可以移动球。我想知道它是否会撞到飞机。我的想法是:
- 获取球体位置(中心)
-比较(球体位置(Z坐标)+半径)与坐标Z = 0
如果为真,则表示 de sphere 击中了飞机。
但是如何获得球体位置?我可以使用转换矩阵吗?喜欢:
GLfloat 矩阵[4][4];
glGetFloatv(GL_MODELVIEW_MATRIX, &matrix[0][0]);
绘制球体的代码是:
glPushMatrix();
glTranslatef(1.0, altura_braco, 0.0);
glScalef(1.0, 1.0, 1.0);
glColor3f(0.0f, 1.0f, 1.0f);
glutSolidSphere(0.2, 100.0, 100.0);
glPopMatrix();