使用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;
}
答案 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):
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;
答案 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;
}
我会将线条拼凑在一起,每四分之一都是黑色的