【发布时间】:2016-01-11 12:30:17
【问题描述】:
我的任务是绘制一个由 10 x 10 轮子组成的网格。每个都应该是随机的颜色,并且有很多像真正的轮子一样的辐条。我必须使用嵌套的 for 循环来做到这一点。
我得到了下面的代码,但由于某种原因它绘制了一个 10 x 无限网格。我不明白为什么外循环应该只运行 10 次。
float XPos = 25;
float YPos = 25;
float Radius = 20;
void setup() {
size(500, 500);
}
void draw() {
for (int h = 0; h < 10; h++) {
for (int i = 0; i < 10; i++) {
float RanR = random(250);
float RanG = random(250);
float RanB = random(250);
stroke(RanR, RanG, RanB);
ellipse(XPos, YPos, Radius * 2, Radius * 2);
for (int j = 0; j < 360; j += 10) {
stroke(RanR, RanG, RanB);
line(XPos,
YPos,
XPos + Radius * sin(radians(j)),
YPos + Radius * cos(radians(j))
);
}
XPos += Radius * 2;
}
XPos = 25;
YPos += Radius * 2;
}
}
【问题讨论】:
-
您必须展示
stroke和line这些方法的作用?此外,您还有三个嵌套的fors,所以简单的数学计算,您有 10*10*36 (360/10) -
是的 stroke 决定了线条的颜色。 line 画线。内部 for 循环重复 36 次以绘制辐条,完成后将进入下一个循环
-
我看不出为什么要打印无限圈,也许你应该发布所有代码,但要小心,只发布你认为重要的代码
-
@JorgeCampos 这是处理,而不是严格的 Java。这些不是用户定义的方法,而是 Processing API 中的方法。
-
标签: java for-loop processing nested-loops