Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops 带加工的逐行循环嵌套图形_Loops_Nested_Processing_Nested Loops - Fatal编程技术网

Loops 带加工的逐行循环嵌套图形

Loops 带加工的逐行循环嵌套图形,loops,nested,processing,nested-loops,Loops,Nested,Processing,Nested Loops,我有一个关于使用处理的嵌套For循环动画的问题。 假设我有一个形状网格…我想在一段时间内使用frameCount一行一行地绘制它们。换句话说:第一行X轴,第二行X轴…等等。。。我想我可以通过使用正弦波并让它以波偏移穿过网格来实现这一点。但是数学让我头疼…这是我到目前为止想到的: void setup() { size(600, 600); } void draw () { background(255); float tiles = 30; float tileSize = wid

我有一个关于使用处理的嵌套For循环动画的问题。 假设我有一个形状网格…我想在一段时间内使用frameCount一行一行地绘制它们。换句话说:第一行X轴,第二行X轴…等等。。。我想我可以通过使用正弦波并让它以波偏移穿过网格来实现这一点。但是数学让我头疼…这是我到目前为止想到的:

void setup() {
size(600, 600);
}

void draw () {
  background(255);
  float tiles = 30;
  float tileSize = width/tiles;
  for (int x = 0; x < tiles; x++) {
    for (int y = 0; y < tiles; y++) {
      float waveOffset = map(y, 0, 600, 60, 0);      
      float sin = sin((frameCount*0.05 + waveOffset));
      float wave = map(sin, -1, 1, 0, tileSize);
      fill(0);
      noStroke();
      pushMatrix();
      translate(tileSize/2, tileSize/2);
      ellipse(x*tileSize, y*tileSize, wave, wave);
      popMatrix();
    }
  }
}
void setup(){
大小(600600);
}
无效提款(){
背景(255);
浮瓦=30;
浮动瓷砖尺寸=宽度/瓷砖;
对于(int x=0;x
如何将偏移写入thight,使其穿过第一行X轴,然后跳到第二行,穿过X轴,依此类推…绘制整个网格后,它开始新的

有没有比使用波函数更好的方法?谢谢你的帮助


祝你一切顺利

我真的不知道你所说的“穿过第n行x轴”是什么意思,但有一个想法是让外部for循环如下:

for (int x = 0; x < frameCount % tiles; x++) {
for(int x=0;x

因此,每个框架将绘制一列额外的形状。

完美!谢谢JSTL!我做了一些轻微的更改–但这正是我想要实现的

    void draw () {
  background(255);
  float tiles = 100;
  float tileSize = width/tiles;
for (int x = 0; x < tiles; x++) {
    for (int y = 0; y < frameCount*100/tiles % tiles; y++) {
      fill(0);
      noStroke();
      pushMatrix();
      translate(tileSize/2, tileSize/2);
      ellipse(x*tileSize, y*tileSize, tileSize, tileSize);
      popMatrix();
    }
  }
}
void draw(){
背景(255);
浮瓦=100;
浮动瓷砖尺寸=宽度/瓷砖;
对于(int x=0;x