XY で描画された球と平面があり、ボールを動かすことができるとします。飛行機に衝突したか知りたいです。私の考えは:
・球体の位置(中心)を取得
- (球の位置 (Z 座標) + 半径) を座標 Z = 0 と比較します。
true の場合、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();