昨天我刚学习了Logo。作为一个90后,我以前从未接触过它。所以我开始使用由Joshua Bell编写的在线Logo解释器,并决定编写一个circle
函数来制作同心圆。这是我的代码:
cs
to circle
penup forward :radius right 90
pendown repeat 360 [forward 3.14 * :radius / 180 right 1]
penup left 90 back :radius pendown
end
make "radius 30
repeat 160 [circle make "radius :radius + 30]
有趣的是,绘图画布是一个环形数组。因此,圆圈最终会重叠。通过绘制160个同心圆,半径递增30倍,我最终得到了这样一张图片:
![Logo starfield generated by 160 concentric circles with increasing radii in multiples of 30.](https://istack.dev59.com/TTRFu.webp)
这真是太惊人了。乍一看,它看起来像是真实的夜空照片,这让我想到了一个问题——有没有通用的算法来绘制星场?
顺便说一下,如果你仔细看,可以看到一个
30 x 30
像素的方格网络。边界是黑色的,所以有点难以注意到。