如何在OpenGL中获取点的世界坐标

时间:2013-12-04 08:31:10

标签: opengl glut transformation

我使用以下代码绘制4个链段链。如图所示,我需要获得点A,B,C,D的坐标。

4_Link_Chain

我正在尝试实现基本的CCD逆运动学,并且基于鼠标坐标,我想移动链接A-D。这样做的第一步是获得目标点和点C之间以及C-D之间的矢量。为此,我需要在任何给定时间知道C,D的坐标。我怎么能这样做?

#define NUM_LINKS 4
#define l1 80

void drawLine(int l)
  {
   glColor3f(1,1,0);
   glPointSize( 10.0 );
   glBegin( GL_POINTS);
         glVertex2f(0,0);
   glEnd();
   glBegin( GL_LINES);
         glVertex2f(0,0);
         glVertex2f(l,0);  // l= 80
   glEnd();

    }



  void drawArm()
    {


glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);

glPushMatrix();
for(int i =0 ; i<NUM_LINKS; i++)
 {

    glRotatef(rotAngle[i],0,0,1);
    drawLine(l1);
    glTranslatef(l1,0,0);

}
glPopMatrix();
    glFlush();
glutSwapBuffers();
glutPostRedisplay();

   }

0 个答案:

没有答案