Animation 处理动画时非常紧张

Animation 处理动画时非常紧张,animation,processing,procedural-generation,Animation,Processing,Procedural Generation,我只是在处理方面做些小修补,以便按程序制作一些.gif动画。出于某种原因,我刚完成制作的一个在运行它时(以及在使用动画导出它时)会有很多抖动。我不完全清楚为什么会发生这种情况 请原谅,这是我的代码: long lastTime = 0; float angle1, angle2, angle3, angle4, angle5, angle6; int change; public void setup() { size(120, 120); lastTime = millis();

我只是在处理方面做些小修补,以便按程序制作一些
.gif
动画。出于某种原因,我刚完成制作的一个在运行它时(以及在使用动画导出它时)会有很多抖动。我不完全清楚为什么会发生这种情况

请原谅,这是我的代码:

long lastTime = 0;
float angle1, angle2, angle3, angle4, angle5, angle6;
int change;
public void setup() {
  size(120, 120);
  lastTime = millis();
  angle1 = -60;
  angle2 = 240;
  angle3 = -30;
  angle4 = 210; 
  angle5 = -75;
  angle6 = 255;    
  change = 3;

  noFill();
  stroke(0);
  strokeWeight(10);  
  smooth();
}
public void draw() {

  if (millis() - lastTime > 12) {
    background(255,255,255);
    lastTime = millis();    

    stroke(#3aa8c3);
    arc(60, 60, 70, 70, radians(angle1), radians(angle2));
    ellipse(60, 60, 10, 10);

    stroke(#e7e7e7);
    arc(60, 60, 40, 40, radians(angle3), radians(angle4));
    arc(60, 60, 100, 100, radians(angle5), radians(angle6));

    angle1-=change*2;
    angle2-=change*2;
    angle3+=change*3;
    angle4+=change*3;
    angle5+=change;
    angle6+=change;

    }
}
结果如下:

这是我做错了什么,还是仅仅是对处理环境的限制

编辑: 将渲染模式更改为P3D(
size(120120,P3D);
)后,工作更加顺利。它去掉了圆角,我不得不添加一些抗锯齿(
smooth(8)
),但它不再抖动。透明的背景也是一个额外的好处:

如果您发布问题的最简单形式,您的运气会更好,比如:

public void setup() {
  size(360, 360);
  noFill();
  stroke(0);
  smooth(10);
}
public void draw() {
  background(255);
  stroke(#3aa8c3);
  arc(60, 60, 70, 70, radians(mouseX), radians(mouseY));
}
这使我们能够消除原因,更容易找到解决方案

另外,我在谷歌上搜索了“处理弧抖动”和“处理弧摆动”,找到了答案,上面说要尝试
提示(启用\u STROKE\u PURE)
功能。当我将其添加到示例中时,它似乎工作得更好:

public void setup() {
  size(360, 360);
  noFill();
  stroke(0);
  smooth(10);
  hint(ENABLE_STROKE_PURE);
}
public void draw() {
  background(255);
  stroke(#3aa8c3);
  arc(60, 60, 70, 70, radians(mouseX), radians(mouseY));
}

添加
提示(启用\u笔划\u纯)作为
setup()
函数的最后一行,似乎也可以解决您的问题。

这可能是低质量的抗锯齿。也许可以试一试?我刚刚将渲染模式更改为
P3D
,抖动是固定的。它去掉了圆角和抗锯齿,但该命令使它看起来更好。谢谢可能重复的