处理中的线之间着色

时间:2015-07-15 20:35:01

标签: processing

使用sin函数绘制了多行后,我想知道如何填写两行之间的差距

float a = 0.0;
float inc = TWO_PI/25.0;

for(int i=0; i<100; i=i+4) {
  line(i, 50, i, 50+sin(a)*40.0);
  a = a + inc;
}

2 个答案:

答案 0 :(得分:4)

@ maskacovnik的解决方案将起作用。 你也可以有点厚颜无耻,只是画一个形状:

float a = 0.0;
float inc = TWO_PI/25.0;
beginShape();
for(int i=0; i<=100; i=i+4) {
  vertex(i, 50+sin(a)*40.0);
  a = a + inc;
}
endShape();

这是您可以运行的预览(使用js):

&#13;
&#13;
function setup() {
  createCanvas(100,100);
  background(192);
  var a = 0.0;
  var inc = TWO_PI/25.0;
  beginShape();
  for(var i=0; i<=100; i=i+4) {
    vertex(i, 50+sin(a)*40.0);
    a = a + inc;
  }
  endShape();
}
&#13;
<script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.4.6/p5.min.js"></script>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

我会这样填写:

(这是伪代码,您尚未指定语言)

编辑,正如@GeorgeProfenza在下面的评论中注意到的,您已指定语言

float a = 0.0;
float inc = TWO_PI/100.0; //4x decreased inc

for(int i=0; i<100; i=i+1) { //4x increased count of looping
  if(i%4==0){
      stroke(0);
  }else{
      stroke(255,0,0);
  }
  line(i, 50, i, 50+sin(a)*40.0);
  a = a + inc;
}

我会将线条拼凑在一起,每四分之一都是黑色的