首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >绘制Peano曲线

绘制Peano曲线
EN

Code Golf用户
提问于 2018-11-17 23:18:29
回答 3查看 2.4K关注 0票数 16

Introduction

在几何学中,皮亚诺曲线是1890年由朱塞佩·皮亚诺发现的空间填充曲线的第一个例子。Peano曲线是从单位区间到单位平方的满射连续函数,但不是内射函数。皮亚诺受到了坎托早期的一个结果的激励,那就是这两场比赛的基数是相同的。由于这个例子,一些作者使用短语"Peano曲线“来更一般地指任何填充曲线。

挑战

该程序接受一个整数n的输入,并输出一幅表示Peano曲线的n第四次迭代的绘图,从图像最左边的侧面2开始:

输入

给出Peano曲线迭代次数的整数n。可选的,额外的输入描述在奖金部分。

输出

Peano曲线的n第四次迭代图。这幅画既可以是ASCII的艺术,也可以是“真实的”绘画,无论是最简单的还是最短的。

规则

  • 输入和输出可以给出任何方便的格式 (为您的语言/解决方案选择最合适的格式)。
  • 不需要处理负值或无效输入
  • 一个完整的程序或一个函数都是可以接受的。
  • 如果可能的话,请包括一个链接到一个在线测试环境,以便其他人可以试用您的代码!
  • 标准漏洞是禁止的。
  • 这是密码-高尔夫,所以所有常用的高尔夫球规则都适用,最短的代码(以字节为单位)获胜。

奖金

因为这不应该是在公园里散步(至少在我能想到的大多数语言中),所以以下是奖励:

  • -如果您的代码生成Peano曲线到n的构造的gif,则为100个字节。
  • -如果您的代码为任何矩形形状绘制空间填充曲线(显然,Peano曲线只适用于正方形),则为100个字节。您可以假设输入采用n l w形式,其中n的含义与以前相同(迭代次数),但lw成为绘制曲线的矩形的长度和宽度。如果是l == w,这就变成了正规的Peano曲线。

负分数是允许的(但它们有可能.)。

编辑

请将您的程序输出包含在n == 3 (l == w == 1)解决方案中。

EN

回答 3

Code Golf用户

发布于 2018-11-18 13:32:34

BBC,142个ASCII字符(130个字节标记)

http://www.bbcbasic.co.uk/bbcwin/download.html下载解释器

代码语言:javascript
复制
I.m:q=FNh(m,8,8,0)END
DEFFNh(n,x,y,i)
IFn F.i=0TO8q=FNh(n-1,x-i MOD3MOD2*2*x,y-i DIV3MOD2*2*y,i)DRAWBY(1AND36/2^i)*x,y*(12653/3^i MOD3-1)N.
=0
票数 4
EN

Code Golf用户

发布于 2018-11-19 19:33:24

斯塔克斯,19 字节数

代码语言:javascript
复制
∩▐j>♣←╙~◘∩╗╢\a╘─Ràô

运行并调试它

3项产出:

代码语言:javascript
复制
███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ █
█ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███
█         █ █         █ █         █ █         █ █    
█ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███
███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █
    █ █         █ █         █ █         █ █         █
███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █
█ ███ ███ ███ ███ ███ ███ ███ ███ █ █ ███ ███ ███ ███
█                                 █ █                
█ ███ ███ ███ ███ ███ ███ ███ ███ █ █ ███ ███ ███ ███
███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █
    █ █         █ █         █ █         █ █         █
███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █
█ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███
█         █ █         █ █         █ █         █ █    
█ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███
███ ███ ███ ███ █ █ ███ ███ ███ ███ ███ ███ ███ ███ █
                █ █                                 █
███ ███ ███ ███ █ █ ███ ███ ███ ███ ███ ███ ███ ███ █
█ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███
█         █ █         █ █         █ █         █ █    
█ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███
███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █
    █ █         █ █         █ █         █ █         █
███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █ █ ███ ███ █
█ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███
票数 4
EN

Code Golf用户

发布于 2018-11-18 20:33:47

标志,89字节

代码语言:javascript
复制
to p:n:a
if:n>0[rt:a
p:n-1 0-:a
fw 5
p:n-1:a
fw 5
p:n-1 0-:a
lt:a]end
to f:n
p:n*2 90
end

@Arnauld的Atari基本答案。要使用,可以执行类似于的操作:

代码语言:javascript
复制
reset
f 3
票数 3
EN
页面原文内容由Code Golf提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codegolf.stackexchange.com/questions/176168

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档