我想用opengl es从android mobile的加速度计输出中画出3D线

我想用opengl es从android mobile的加速度计输出中画出3D线,android,for-loop,opengl-es,Android,For Loop,Opengl Es,我想用OpenGL Es 1.0绘制3D线,我想在Android手机上从传感器(磁强计和加速计)获取坐标值后,制作一个绘制3D线的应用程序 我想使用'for'语句来画很多线,但我意识到在下面的'onDrawFrame'方法中使用'for'语句存在一个问题 public void onDrawFrame(GL10 gl) { gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);

我想用OpenGL Es 1.0绘制3D线,我想在Android手机上从传感器(磁强计和加速计)获取坐标值后,制作一个绘制3D线的应用程序

我想使用'for'语句来画很多线,但我意识到在下面的'onDrawFrame'方法中使用'for'语句存在一个问题

       public void onDrawFrame(GL10 gl) {
         gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);

         gl.glMatrixMode(GL10.GL_MODELVIEW);
         gl.glLoadIdentity();
         gl.glRotatef(xAngle, 1, 0, 0);
         gl.glRotatef(yAngle, 0, 1, 0);

         for(int k=0;k<10;k++)
         {
             line1.drawDataLine(gl);    
         }
       }
public void onDrawFrame(GL10 gl){
gl.glClear(GL10.gl_颜色_缓冲_位| GL10.gl_深度_缓冲_位);
gl.glMatrixMode(GL10.gl_MODELVIEW);
gl.glLoadIdentity();
gl.glRotatef(xAngle,1,0,0);
gl.glRotatef(杨乐,0,1,0);

对于(int k=0;k这个方法不会画10条重叠线吗?我认为您可能应该创建一个单独的对象来定义逻辑,然后在Renderer类中创建一个实例,并将其插入onDraw()中.

非常感谢您的回答。您是对的。这是我的错误,我没有解释“drawDataLine”方法。该方法在从传感器(磁强计、加速计)获取X、Y、Z坐标后绘制线.所以,它应该在不同的地方画线。奇怪的是,当我使用上面的'for'语句时,甚至一条线都没有画出来。所以我认为'for'语句不起作用。请解释一下如何使用x,y,z来画线