Grid 是否在p5.js中使用嵌套for循环复制方形/角度螺旋?
我正试图用有角的螺旋线做一个网格。螺旋线本身由for循环中的单线组成。当我沿着一个轴(x或y)复制并移动(平移)螺旋的原点时,它会工作。但是,为了使其成为一个网格,沿着这两个方向(x和y)移动,如果不分解螺旋,它就无法工作 如果有人能帮我解决编码难题,我将不胜感激。顺便说一句,对于任何提示和帮助提高我的代码编写技能,我都非常开放。这里肯定有很多冗余和冗长的表达。。。 这是我目前的代码:Grid 是否在p5.js中使用嵌套for循环复制方形/角度螺旋?,grid,nested-loops,p5.js,spiral,generative-art,Grid,Nested Loops,P5.js,Spiral,Generative Art,我正试图用有角的螺旋线做一个网格。螺旋线本身由for循环中的单线组成。当我沿着一个轴(x或y)复制并移动(平移)螺旋的原点时,它会工作。但是,为了使其成为一个网格,沿着这两个方向(x和y)移动,如果不分解螺旋,它就无法工作 如果有人能帮我解决编码难题,我将不胜感激。顺便说一句,对于任何提示和帮助提高我的代码编写技能,我都非常开放。这里肯定有很多冗余和冗长的表达。。。 这是我目前的代码: function drawSpiral() { let count = 8; let stepX =
function drawSpiral() {
let count = 8;
let stepX = 8;
let stepY = 8;
let tileSize = 100;
let pixelX = tileSize;
let pixelY = tileSize;
for (let j = 0; j < 5; j++) {
let x1 = 0;
let y1 = 0;
let x2 = 0;
let y2 = 0;
let x3 = 0;
let y3 = 0;
let x4 = 0;
let y4 = 0;
for (let i = 0; i < count; i++) {
x1 += stepX;
x2 -= stepX;
x3 -= stepX;
x4 += stepX;
y1 += stepY;
y2 += stepY;
y3 -= stepY;
y4 -= stepY;
push();
translate(pixelX, pixelY);
line(x1, y1, x2 - stepX, y2)
line(x2 - stepX, y2, x3 - stepX, y3 - stepY);
line(x3 - stepX, y3 - stepY, x4 + stepX, y4 - stepY);
line(x4 + stepX, y4 - stepY, x1 + stepX, y1 + stepY);
pop();
}
pixelX += tileSize * 2; //shifting either along x-axis
}
}
函数drawSpiral(){
让计数=8;
设stepX=8;
设stepY=8;
让tileSize=100;
让pixelX=平铺化;
让像素=平铺化;
for(设j=0;j<5;j++){
设x1=0;
设y1=0;
设x2=0;
设y2=0;
设x3=0;
设y3=0;
设x4=0;
设y4=0;
for(设i=0;i
多美啊?是的,你猜对了——我对编码行业还不熟悉;) 如果你想制作一个由螺旋线组成的网格,看起来你只需要使用一对for循环,而你现在有
for(让j=0;j<5;j++){
。几乎任何时候你想要创建一个网格,你都需要一对嵌套的for循环
函数设置(){
createCanvas(800800);
}
函数绘图(){
背景(100);
drawSpiral();
}
函数drawSpiral(){
让计数=8;
设stepX=8;
设stepY=8;
让tileSize=100;
让pixelX=平铺化;
让像素=平铺化;
//制作一个5x5的螺旋网格
for(设行=0;行<5;行++){
for(设col=0;col<5;col++){
设x1=0;
设y1=0;
设x2=0;
设y2=0;
设x3=0;
设y3=0;
设x4=0;
设y4=0;
for(设i=0;i
嘿,保罗,非常感谢你。显然,我仍然无法理解这些循环。但是你在代码中的评论让我非常清楚。再次感谢你的快速回复。我非常感谢你的帮助!