0

オブジェクトを選択できるロボット アームの実装に問題があります。これは、ロボットのすべての部分が前の部分に依存している実装での glTranslate()、glRotate() 呼び出しのためです。

例:

     void drawRobo()
         {

              draw a Cylinder as Base;

              glTranslate(); 
              drawArmpart1();
              glTranslate();  
              drawJoint1();
              glRotate();  
              drawArmpart2();
              glTranslate();
              drawGrabbers(); // The claw or the endeffector   


         }
    void drawObjects()
          {
           glTranslate();
           drawCube() // Object
           glTranslate();
           drawSphere() // Object 2

          }

    void display()
      {
       drawRobo();
       drawObjects();
       glPostredisplay();
      }   

問題は、glRotate(); を使用してエンドエフェクターまたはグラバーを回転させるときです。私のオブジェクトも回転しますが、それは望ましくありません。オブジェクトに近づくようにジョイントとアームを回転させてから、グラバーを使用してそれらをピックしたいと考えています。

どうすればこれに対処できますか? glPushMAtrix() および glPopMatrix() コマンドが必要なすべての場所にあります。

4

1 に答える 1