Wie man die Koordinaten eines Objekts in OpenGL

Ich möchte in der Lage sein, um die Koordinaten eines Objekts (z.B. Dreieck), nachdem es übersetzt worden und gedreht, der Grund, warum ich dies tun wollen ist, so dass später kann ich tun, Kollisionserkennung und Berechnung der Entfernung zwischen den Objekten mit den Koordinaten. Ich denke, ich hätte zu verwenden, gluProject aber nicht sicher. Auch, was sind die Unterschiede zwischen den verschiedenen Koordinatenräumen z.B. Welt -, Objekt etc.

Habe ich einige code unten es ist ein Kreis in der Mitte ein Quadrat, wie würde ich erkennen, wenn der Kreis berührt die Kanten, ich kann mich bewegen es Runde mit dem oben,unten,Links, rechts-Tasten, es ändert nur die x-oder y-Koordinaten, aber ich möchte einfach in der Lage sein zu tun, einige grundlegende Kollisionserkennung und ich weiß nicht, wie es zu tun.

glPushMatrix();
    glColor3f(0.0f, 1.0f, 0.0f);
    glTranslatef(0.0f, 0.0f, -5.0f);

    glScalef(0.5f, 0.5f, 0.0f);
    glBegin(GL_POLYGON); 
        glVertex3f(-5.0f, -5.0f, 0.0f);
        glVertex3f(5.0f, -5.0f, 0.0f);
        glVertex3f(5.0f, 5.0f, 0.0f);
        glVertex3f(-5.0f, 5.0f, 0.0f);
    glEnd();
glPopMatrix();

glPushMatrix();


    glColor3f(1.0f, 0.0f, 0.0f);
    glTranslatef(x, y, -20.0f);

    glBegin(GL_POINTS);
        glVertex3f(-5, -5, 10.0f);
    glEnd();

    GLUquadricObj *qobj = gluNewQuadric();
    gluQuadricDrawStyle(qobj, GLU_FILL);
    gluSphere(qobj, 1.0f, 20, 20);
    gluDeleteQuadric(qobj);
glPopMatrix();
  • Ich nehme an, Ihr Dreieck ist irgendwo gespeichert (ein array, etc)... einfach.
  • Die OpenGL? (Ich nehme an, 2.1 oder früher)
  • ja OpenGL 2.1.
InformationsquelleAutor rjs | 2011-11-24
Schreibe einen Kommentar