gpt4 book ai didi

recursion - 尝试通过递归绘制特定形状,尝试了我知道的所有可能方法

转载 作者:行者123 更新时间:2023-12-03 22:25:35 25 4
gpt4 key购买 nike

使用处理和递归,我试图绘制一个类似的形状: http://i.imgur.com/OPf5D.png

但我觉得自己正在失去理智,尝试各种可能的方法来绘制形状。这是我得到的最接近的:http://i.imgur.com/vCHJG.png

加上我的代码,如有任何帮助,我们将不胜感激。谢谢:

void setup(){
size(600,600);
}

void draw(){
background(255);
draws(300, 300, 50, 5);
}

void draws(int x, int y, int x2, int num){
stroke(0);
strokeWeight(2);
line (x, y, (x+x2), y); //right
line(x, y, x, y-50); //right up
line (x-x2, y, x-(x2*2), y); // left
line(x-x2, y, x-x2, y-50); //left up
line (x, y-50, x-x2, y-50); //top

if(num>0){
draws(x-x2, y-x2, x2/2, num-1);
}
}

最佳答案

(也许这应该是一个评论 - 因为它不是一个完整的答案 - 但我似乎做不到)

也就是说……

  • 您在每一步除以 2 而不是 3。
  • 你每次需要绘制 3 次层次结构“draws”
  • 这里有“y”坐标 - 但 x 坐标是错误的。猜测……层次结构应该是……

`

if(num>0){

draws(x, y-x2, x2/3, num-1); // Central one
draws(x-x2, y, x2/3, num-1); // Left One
draws(x, y, x2/3/2, num-1); // right one
}

`

稍微有点困难的是你的坐标从右手边的左边开始......从最左边或最右边开始可能更容易。

关于recursion - 尝试通过递归绘制特定形状,尝试了我知道的所有可能方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13558114/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com