翻译功能有什么问题?
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.
谢谢!
祝你有美好的一天!
这样做的原因是,您绘制的正方形彼此相距每一步单位。由于在此期间没有清除任何东西,因此重叠的四边形形成一条线。
不太清楚您要达到的目标。翻译通常不会绘制多个四边形。如果您正在尝试制作动画,则必须将运动拆分为多个帧,并在每一帧中恰好绘制一个正方形。
我尝试在 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.
谢谢! 祝你有美好的一天!
这样做的原因是,您绘制的正方形彼此相距每一步单位。由于在此期间没有清除任何东西,因此重叠的四边形形成一条线。
不太清楚您要达到的目标。翻译通常不会绘制多个四边形。如果您正在尝试制作动画,则必须将运动拆分为多个帧,并在每一帧中恰好绘制一个正方形。