翻译功能有什么问题?

What it's wrong in translation function?

我尝试在 openGL 中创建和转换多边形,我创建了一个转换函数,但这会创建一条从 x0 到 v_size 的白线,我不明白为什么?

这是我的多边形平移函数

public void translate1(GL2 gl, double x0, double x1, double y0, double y1){
    double step = 0.2;
    for(double i = 0; i < v_size; i += step){
        gl.glBegin(GL2.GL_POLYGON);

            gl.glVertex2d(x0 + i, y0);
            gl.glVertex2d(x0 + i, y1);
            gl.glVertex2d(x1 + i, y1);
            gl.glVertex2d(x1 + i, y0);

        gl.glEnd();
    }
}

初始 x0 = 0, x1 = 10, y0 = 20, y1 = 30.

谢谢! 祝你有美好的一天!

这样做的原因是,您绘制的正方形彼此相距每一步单位。由于在此期间没有清除任何东西,因此重叠的四边形形成一条线。

不太清楚您要达到的目标。翻译通常不会绘制多个四边形。如果您正在尝试制作动画,则必须将运动拆分为多个帧,并在每一帧中恰好绘制一个正方形。