3D 数组的问题使得绘制函数表现得很奇怪
Problem wih 3D array making draw function that acts strange
我编写这段代码是为了检查 3D 数组及其工作原理。我有一个简单的代码,应该首先存储值,然后在绘图部分调用它们。
而不是绘制适当的点网格,只有 1 个点出现在 about(110,5)
当我不使用数组访问颜色,而是创建它们时,我已确保该程序可以运行 "on the spot"。然后它按预期工作。
color [][][]array = new color[10][10][10];
int x = 0;
int y = 0;
void setup(){
size(1100,1000);
background(0);
for(int i= 0; i < 10; i++){
for(int j= 0; i < 10; i++){
for(int k= 0; i < 10; i++){
array[1][j][k] = color(i*25.5,j*25.5,k*25.5);
}
}
}
}
void draw(){
background(0);
strokeWeight(0);
stroke(0);
for(int s= 0; s < 10; s++){
x= 110*s;
y= 110*s;
for(int v= 0; v < 10; v++){
for(int t= 0; t < 10; t++){
fill(array[s][v][t]);
ellipse(x+t*10+5,v*10+5,10,10);
}
}
}
}
您似乎没有在设置中的三重 for 循环中递增 j/k,这里是固定代码:
color [][][]array = new color[10][10][10];
int x = 0;
int y = 0;
void setup(){
size(1100,1000);
background(0);
for(int i= 0; i < 10; i++){
for(int j= 0; j < 10; j++){
for(int k= 0; k < 10; k++){
array[1][j][k] = color(i*25.5,j*25.5,k*25.5);
}
}
}
}
void draw(){
background(0);
strokeWeight(0);
stroke(0);
for(int s= 0; s < 10; s++){
x= 110*s;
y= 110*s;
for(int v= 0; v < 10; v++){
for(int t= 0; t < 10; t++){
fill(array[s][v][t]);
ellipse(x+t*10+5,v*10+5,10,10);
}
}
}
}
我编写这段代码是为了检查 3D 数组及其工作原理。我有一个简单的代码,应该首先存储值,然后在绘图部分调用它们。 而不是绘制适当的点网格,只有 1 个点出现在 about(110,5)
当我不使用数组访问颜色,而是创建它们时,我已确保该程序可以运行 "on the spot"。然后它按预期工作。
color [][][]array = new color[10][10][10];
int x = 0;
int y = 0;
void setup(){
size(1100,1000);
background(0);
for(int i= 0; i < 10; i++){
for(int j= 0; i < 10; i++){
for(int k= 0; i < 10; i++){
array[1][j][k] = color(i*25.5,j*25.5,k*25.5);
}
}
}
}
void draw(){
background(0);
strokeWeight(0);
stroke(0);
for(int s= 0; s < 10; s++){
x= 110*s;
y= 110*s;
for(int v= 0; v < 10; v++){
for(int t= 0; t < 10; t++){
fill(array[s][v][t]);
ellipse(x+t*10+5,v*10+5,10,10);
}
}
}
}
您似乎没有在设置中的三重 for 循环中递增 j/k,这里是固定代码:
color [][][]array = new color[10][10][10];
int x = 0;
int y = 0;
void setup(){
size(1100,1000);
background(0);
for(int i= 0; i < 10; i++){
for(int j= 0; j < 10; j++){
for(int k= 0; k < 10; k++){
array[1][j][k] = color(i*25.5,j*25.5,k*25.5);
}
}
}
}
void draw(){
background(0);
strokeWeight(0);
stroke(0);
for(int s= 0; s < 10; s++){
x= 110*s;
y= 110*s;
for(int v= 0; v < 10; v++){
for(int t= 0; t < 10; t++){
fill(array[s][v][t]);
ellipse(x+t*10+5,v*10+5,10,10);
}
}
}
}