Questions tagged «fractal»

分形是自相似的形状,通常非常详细。著名的分形集包括Mandelbrot集,Julia集和Phoenix集。树状的分形图也很常见。

17
打印Cantor集
挑战 建立一个N级Cantor集。 Cantor三元组是通过重复删除一组线段的中间三分之二来创建的。 程序接收一个参数N(整数),然后(以控制台或类似方式)打印N个康托集。印刷品只能包含非_下划线()和空格字符。参数可以是正数,也可以是负数,并且符号表示Cantor Set的构造方向:如果N > 0Cantor Set是向下构造的,并且N < 0Cantor Set是向上构造的。如果是N = 0这样,程序将打印一行(_)。 例如: N = 2 _________ ___ ___ _ _ _ _ N = -2 _ _ _ _ ___ ___ _________ N = 3 ___________________________ _________ _________ ___ ___ ___ ___ _ _ _ _ _ _ …

1
下雪!
您的任务:生成第n个深度的科赫雪花。您无需制作完整的Koch雪花,只需在起始三角形的一侧即可。关于科赫片的维基百科:https : //en.wikipedia.org/wiki/Koch_snowflake。 规则: 该程序必须将Koch雪花的一侧生成到第n个深度。 输出必须为ASCII。 您可能会生成整个雪花;这不是必需的。 输入/输出,漏洞和内容的标准规则适用。 空格并不重要,只要所有字符之间的相对位置正确即可。 最短的代码胜出! 测试用例: n = 0: __ n = 1: __/\__ n = 2: __/\__ \ / __/\__/ \__/\__ n = 3: __/\__ \ / __/\__/ \__/\__ \ / /_ _\ \ / __/\__ __/ \__ __/\__ \ / \ / \ …

15
g o l f a t 2
有时将笛卡尔坐标转换(x,y)为极坐标确实很费力(r,phi)。虽然你可以计算r = sqrt(x^2+y^2)很容易,你经常计算时的角度需要的情况下有些区别phi,因为arcsin,arccos以及arctan和所有其他三角函数有一个共同域,每个只有跨越半个圆。 在许多语言中,都有用于将直角坐标转换为极坐标的内置atan2函数,或者至少具有给定的(x,y)计算角度的函数phi。 任务 你的任务是写一个程序/功能采用两个(浮点,但不能同时为零)笛卡尔坐标(x,y),并输出对应的极角phi,其中phi必须处于度,弧度或等级(与等级余平均gradians其是1 /整圆的400),以您较方便的为准。 角度是在正方向上测量的,对于,我们有零角度(1,0)。 细节 您不得使用内置插件是计算角度phi给出两个坐标,其中包括atan2,rect2polar,argOfComplexNumber和类似的功能。但是,您可以使用通常的三角函数及其反函数,它们只需一个参数。任何单位符号都是可选的。 半径r必须为非负数,并且phi必须在范围内[-360°, 360°](无论输出270°还是,都无关紧要-90°)。 例子 Input Output (1,1) 45° (0,3) 90° (-1,1) 135° (-5,0) 180° (-2,-2) 225° (0,-1.5) 270° (4,-5) 308.66°
18 code-golf  math  geometry  trigonometry  code-golf  number-theory  fibonacci  code-golf  math  sequence  fibonacci  code-golf  string  code-golf  math  graphical-output  geometry  code-golf  string  code-golf  math  geometry  code-golf  math  bitwise  number  popularity-contest  graphical-output  image-processing  fractal  code-golf  number-theory  code-golf  date  multi-threading  code-golf  math  code-golf  math  number  sequence  code-golf  math  number  sequence  arithmetic  code-golf  decision-problem  logic-gates  code-golf  decision-problem  balanced-string  code-golf  math  arithmetic  combinatorics  code-golf  expression-building  code-golf  physics  code-golf  abstract-algebra  code-golf  number  arithmetic  integer  code-golf  ascii-art  number  code-golf  number-theory  primes  code-golf  arithmetic  grid  code-golf  code-golf  sequence  code-golf  kolmogorov-complexity  compression  code-golf  math  number  arithmetic  array-manipulation  code-golf  primes  hexagonal-grid  complex-numbers  code-golf  number  counting  code-golf  math  number  arithmetic 

12
广义Cantor集段长度
问题 让我们定义一个广义的Cantor集,方法是从单个连续间隔开始,从所有尚未删除的间隔的中间迭代删除一些有理长度段。 给定要删除或不删除的段的相对长度,以及要执行的迭代次数,问题在于编写程序或函数,该程序或函数输出n迭代后已删除或未删除的段的相对长度。 示例:迭代删除第四个和第六个第八个 输入: n –迭代次数,从0或1开始索引 l–分段长度的列表,以正整数gcd(l)=1表示,带有奇数个长度和奇数个长度,表示从保持不变的分段开始的,保持不变或被删除的部分的相对长度。由于列表长度是奇数,因此永远不会删除第一个和最后一个段。例如,对于常规的Cantor集合,这将是[1,1,1],其中三分之一将保留,三分之一将被删除,三分之一将被删除。 输出: 整数列表o,第一次迭代gcd(o)=1中相对片段的长度,n当上一迭代中没有删除的片段被列表的缩小副本所取代l。第一次迭代是[1]。您可以使用任何明确的输出方法,甚至是一元的。 例子 n=0, l=[3,1,1,1,2] → [1] n=1, l=[3,1,1,1,2] → [3, 1, 1, 1, 2] n=2, l=[3,1,1,1,2] → [9,3,3,3,6,8,3,1,1,1,2,8,6,2,2,2,4] n=3, l=[5,2,3] → [125,50,75,100,75,30,45,200,75,30,45,60,45,18,27] n=3, l=[1,1,1] → [1,1,1,3,1,1,1,9,1,1,1,3,1,1,1] 您可以假定输入有效。这是代码高尔夫球,因此以字节为单位的最短程序将获胜。

3
查找字符串中的模式
在这种挑战下,您的任务是找到具有给定结构的子字符串。 输入项 您的输入应为两个非空的字母数字字符串,一个模式 p和一个text t。这个想法是,的每个字符都p代表一个连续的非空子字符串,t该子字符串彼此相邻出现,并p表示它们的串联。相同的字符对应于相同的子字符串。例如,模式aa代表任何非空正方形(通过将较短的字符串与其自身连接而获得的字符串)。因此,模式aa可以匹配子字符串byebye,并且每次a匹配bye。 输出量 如果文本t包含p匹配的子字符串,则您的输出应为该子字符串,并:在与的字符相对应的字符串之间插入冒号p。例如,如果我们有t = byebyenow和p = aa,那么bye:bye它是可接受的输出。匹配子字符串可能有多个选择,但是您只能输出其中之一。 如果t不包含匹配的子字符串,则您的输出将是悲伤的表情:(。 规则和说明 的不同字符p可以对应相同的子字符串,因此p = aba可以匹配字符串AAA。请注意,这些字符必须对应于非空字符串;特别是,如果p长于t,则输出必须为:(。 您可以编写完整的程序或函数,还可以更改两个输入的顺序。最低字节数获胜,并且不允许出现标准漏洞。 测试用例 以格式给出pattern text -> output。注意,可能存在其他可接受的输出。 a Not -> N aa Not -> :( abcd Not -> :( aaa rerere -> re:re:re xx ABAAAB -> A:A MMM ABABBAABBAABBA -> ABBA:ABBA:ABBA x33x 10100110011001 -> 10:1001:1001:10 …
17 code-golf  string  code-golf  ascii-art  geometry  code-golf  ascii-art  code-golf  sequence  stack  code-challenge  number  sequence  answer-chaining  code-golf  code-challenge  math  combinatorics  binary-matrix  code-golf  number  code-golf  cryptography  bitwise  code-golf  sudoku  code-golf  brainfuck  metagolf  code-golf  probability-theory  number-theory  primes  fewest-operations  factoring  golf-cpu  code-golf  restricted-source  code-golf  graphical-output  sequence  binary  code-golf  tips  c#  code-golf  geometry  code-golf  graphical-output  fractal  code-golf  number  sequence  code-golf  number  array-manipulation  popularity-contest  game  board-game  code-golf  puzzle-solver  grid  code-golf  ascii-art  geometry  grid  tiling  code-golf  ascii-art  whitespace  balanced-string  code-golf  card-games  king-of-the-hill  javascript  code-golf  whitespace  balanced-string  code-golf  code-golf  math  abstract-algebra  code-golf  java  code-golf  interpreter  stack  code-golf  base-conversion  code-golf  tips  code-golf  ascii-art  geometry  brainfuck  metagolf  code-challenge  math  quine  code-generation  code-golf  number  kolmogorov-complexity  arithmetic  expression-building  code-golf  string  code-golf  quine  popularity-contest  code-golf  base-conversion  code-challenge  image-processing  code-golf  conversion  coding-theory 

6
分形序列的收敛和
背景 甲分形序列是一个整数序列,其中可以除去的每一个整数的第一次出现,并用相同的序列之前结束。 这样一个非常简单的序列称为金伯林的释义。您从正自然数开始: 1, 2, 3, 4, 5, 6, 7, 8, 9, ... 然后,您可以在空白处进行调整: 1, _, 2, _, 3, _, 4, _, 5, _, 6, _, 7, _, 8, _, 9, ... 然后重复使用序列本身(包括空白)填充空白: 1, 1, 2, _, 3, 2, 4, _, 5, 3, 6, _, 7, 4, 8, _, 9, …

3
ASCII L系统渲染器
背景 一个L-系统(或系统Lindenmayer)是平行重写系统,除其他外,可以很容易地用于模型分形。这个问题涉及确定性,上下文无关的L系统。它们由符号字母,初始公理字符串和将每个字母符号映射到新字符串的一组重写规则组成。规则并行应用于公理,生成一个新字符串。然后重复此过程。 例如,具有公理“ A”和规则A = ABA; B = BBB的系统生成字符串“ ABA”,“ ABABBBABA”,“ ABABBBABABBBBBBBBBBBBBABABBBABA”等字符串的序列。为简洁起见,我们没有明确提及定义L系统时的字母。此外,假定没有显式重写规则的任何符号都是不变的(即,符号A的默认规则为A = A)。 L系统可以使用乌龟图形的形式进行可视化。按照惯例,乌龟开始朝右。然后,通过重复其符号来绘制字符串:F表示“向前拉一个单位”,G表示“向前拉一个单位”,+表示“向左旋转一个角度单位”,而-表示“向右旋转一个角度单位”。单元”。字符串中的所有其他符号将被忽略。出于这个问题的目的,假定角度单位始终为90°。 任务 给定任何L系统的规范和多次迭代后,您的程序应使用箱形绘图字符输出结果字符串的ASCII渲染(如上所述)。 参数以空格分隔的字符串形式传递,该字符串包括公理,重写规则(作为等式的列表)和重写迭代次数。例如,输入“ FF = FGF; G = GGG 2”生成字符串“ FGFGGGFGF”,因此以适当的间距绘制四行。 L系统使用的符号可以是除空格和分号之外的任何ASCII字符。每个符号最多指定一个显式规则(默认重写规则是如上所述的身份映射)。 您可以假定输出将始终包含至少一个F。 输出应使用以下UNICODE框形图字符表示可视化效果:─(U + 2500),│(U + 2502),┌(U + 250C),┐(U + 2510),└(U + 2514) ,┘(U + 2518),├(U + 251C),┤(U + 2524),┬(U + 252C),┴(U + 2534),┼(U …

8
创建分形树
我想看到的是绘制了一个分形树,您可以在其中输入一个整数,而输出将是一个分形树,其中输入了分支步数。 规则: 分形应该是线形树: 分形的形状也应与此图片相同。 每个分支每次拆分时,宽度应减少25% 分支的最后一层应为1px宽的线 最短代码胜出 提示:此网站可能有用。

7
绘制索引分形
介绍 在这个挑战中,索引2×2的矩阵是这样的: 0 1 2 3 我们定义了一系列类似分形的图案F(L),其中L是n这些索引的长度列表,并且F(L)具有size 。2n-1 × 2n-1 如果L == [],F(L)则为1×1模式#。 如果L != [],则F(L)构造如下。取P为L删除第一个元素后获得的图案。取4个大小充满周期的网格,并用模式替换用索引的网格。然后,使用网格之间的一层哈希将网格粘合在一起。这是四种情况的图表:2n-1-1 × 2n-1-1.L[0]P# L[0]==0 L[0]==1 L[0]==2 L[0]==3 #... ...# ...#... ...#... [P]#... ...#[P] ...#... ...#... #... ...# ...#... ...#... ####### ####### ####### ####### ...#... ...#... #... ...# ...#... ...#... [P]#... ...#[P] ...#... ...#... #... ...# …

4
用斜线绘制随机游走
编写一个程序或函数,该程序或函数采用正整数N(通过stdin /命令行/函数arg)并打印或返回由N个长步长(由斜杠引出)的二维随机游走的字符串表示形式:(/ \加上空格和换行符)。 2D随机游动从无限整数晶格的原点开始。然后,重复N次,随机地均匀选择基本方向(上,下,左,右),并且助行器在该方向上移动一个单位。采取的最终路径是随机游走。 这是N = 6时的随机游走。请注意,到达(-1,3)时,它会向后移动。 为了用斜线画出它,我们实际上需要将整个对象顺时针旋转45°。斜线版本中未绘制轴以及起点和终点。 / \ \ /\ 像这样的更复杂的步行(N = 20,尽管无法分辨): 会变成这样: / /\/ /\ \/\/ /\/ \/ 您的程序需要生成这些类型的斜杠版本的随机游走。您必须随机选择步行要走的每个新方向,因此程序每次运行一定的N几乎肯定会产生不同的步行。(伪随机性很好。) 最低和最高斜杠上方或下方不得有任何空行(除了一个可选的尾随换行符),并且最左边和最右边的斜杠之前或之后绝对不应有空格的空列。 因此,对于N = 1,输出始终为/或\,但永远不会像这样: / 只要不超过最右斜杠的列,就可以使用尾随空格。 字节最少的提交将获胜。这是一个方便的字节计数器。

9
绘制Peano曲线
介绍 在几何学中,Peano曲线是Giuseppe Peano在1890年发现的第一个空间填充曲线示例。Peano曲线是从单位间隔到单位平方的连续的连续函数,但不是内射的。Peano受到Georg Cantor的早期结果的启发,认为这两个集合具有相同的基数。由于此示例,一些作者使用短语“ Peano曲线”更笼统地指代任何空间填充曲线。 挑战 该程序采用一个整数输入n,并输出代表nPeano曲线第th次迭代的图形,该图形从该图像最左侧所示的侧面2开始: 输入值 n给出Peano曲线迭代次数的整数。可选,其他输入在“奖金”部分中描述。 输出量 nPeano曲线的第三次迭代的图形。工程图可以是ASCII艺术图,也可以是“真实”工程图,以最简单或最短的时间为准。 规则 输入和输出可以任何方便的格式给出(为您的语言/解决方案选择最合适的格式)。 无需处理负值或无效输入 完整的程序或功能都是可以接受的。 如果可能,请提供一个在线测试环境的链接,以便其他人可以尝试您的代码! 禁止出现标准漏洞。 这是代码高尔夫球,因此所有常用的高尔夫规则都适用,并且最短的代码(以字节为单位)获胜。 奖金 由于这不应该是在公园散步(至少使用我能想到的大多数语言),因此可为以下各项奖励积分: -100字节,如果您的代码生成的Peano曲线构造的gif达到n。 -100字节,如果您的代码为任何矩形绘制了空间填充曲线(显然,Peano曲线仅适用于正方形)。您可以假设输入采用以下形式:n l wwhere n具有与之前相同的含义(迭代次数),但是where l和w成为绘制曲线的矩形的长度和宽度。如果为l == w,这将成为规则的Peano曲线。 负分数是允许的(但有可能...)。 编辑 请在的解决方案中包含程序的输出n == 3 (l == w == 1)。

13
斐波那契产品
您可以将大于0的数字分解为正Fibonacci数字的唯一和。在这个问题中,我们通过重复减去最大可能的正斐波那契数来做到这一点。例如: 1 = 1 2 = 2 3 = 3 4 = 3 + 1 12 = 8 + 3 + 1 13 = 13 100 = 89 + 8 + 3 现在,我将斐波那契乘积称为与上面相同的列表,但加法运算被乘积代替。例如,f(100) = 89 * 8 * 3 = 2136。 编写一个给定正整数n的程序或函数,该函数将返回该数字的斐波那契乘积。 测试用例: 1: 1 2: 2 3: 3 4: …
13 code-golf  math  sequence  fibonacci  code-golf  word  code-golf  cipher  code-golf  string  math  subsequence  code-golf  regular-expression  code-golf  brainfuck  assembly  machine-code  x86-family  code-golf  math  factorial  code-golf  math  geometry  code-golf  math  arithmetic  array-manipulation  math  number  optimization  stack  metagolf  code-golf  tips  assembly  code-golf  tips  lisp  code-golf  number-theory  path-finding  code-golf  number  sequence  generation  code-golf  math  geometry  code-golf  grid  permutations  code-golf  code-golf  graphical-output  geometry  fractal  knot-theory  code-golf  math  arithmetic  code-golf  interpreter  balanced-string  stack  brain-flak  code-golf  math  set-theory  code-golf  math  array-manipulation  code-golf  code-golf  string  natural-language  code-golf  code-golf  math  linear-algebra  matrix  code-golf  string  encode 

11
科赫雪花的图形表示
产生科赫雪花 科赫雪花是一个三角形,每个三角形n的每一边中间都添加了另一个等边点:http : //en.wikipedia.org/wiki/Koch_snowflake#Properties 我们已经有一个kolmogrov复杂 科赫雪花的挑战的n=4。新的挑战是绘制n介于1和之间的任何Koch雪花10。 规则 雪花可能未在程序或文件中进行硬编码-它们必须由您的程序生成。 您的程序必须支持n1到10之间的所有大小。 边数必须由用户通过std-in输入。 您必须在屏幕上打印雪花的图形表示。 n等于,1、2、3和4的样本科赫雪花(绿线仅是为了清楚起见,请勿复制它们): 如果出现决胜局,具有最高投票数的程序将获胜(流行比赛)。

9
绘制希尔伯特曲线
希尔伯特曲线是一种空间填充曲线,它基本上将一条线映射到一个平面。线中的每个点仅对应于平面中的一个点,而平面中的每个点仅对应于线上的一个点。显示的是希尔伯特曲线的迭代0到4: 迭代0到4: 该任务的目标:如上所述,编写绘制希尔伯特曲线第四次迭代的代码。您的代码应该完整-换句话说,如果您创建绘制希尔伯特曲线的函数,则您的代码必须调用该函数。输出可以直接显示在屏幕上,也可以将输出写入图像文件。曲线可以旋转或翻转,但直线必须相交成直角,并且输出不能拉伸。可以理解ASCII技术,但不会被接受。以字节为单位的最短代码胜出!

2
Beta的雪花
挑战 冬季快到了,许多地方都接受了15/16赛季的第一场降雪,那么为什么不突破制雪机并给自己编码一些雪呢? n通过STDIN 给定整数,请在level上输出ASCII表示Beta的雪花(如下所述)n。 Beta的雪花 雪花从0级开始,带有一个x: x 然后,在每个角上添加以下形状之一: x xx 您将上面的形状添加到右上角。对于右下角,将其顺时针旋转90°,对于左下角,顺时针旋转180°,对于左上角,顺时针旋转270°。 如果这样做,您将得到以下形状: x x xx xx x xx xx x x 注意形状的方向。继续,使用上述方向规则,将更多形状添加到每个角上,以得到第2级: x x x xxxxxxx xx x x xx xxx xxx xx x xx xxx xxx xx x x xx xxxxxxx x x x 请注意,仅将形状添加到x具有两个或更多裸露侧面(称为上方的角)的。 n对于大于1的值,L形可能会重叠,例如: 如果级别0为: x x …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.