Questions tagged «fractal»

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

3
龙的形象
我看到一个由正方形制成的双龙曲线的酷图,不知道如果我们从另一个基本图像开始会发生什么。所以我写了一个程序来做到这一点。 太酷了,我以为作为挑战来做会很有趣。 任务 您将拍摄一个正方形图像,其边缘长度为2的幂(大于4)。 要制作此图像,您应先将图像分成4个相等大小的垂直带,然后将相邻的带沿相反方向移动为图像大小的八分之一(移动的带应环绕到另一侧)。然后,您应该在每次将图像分为两倍的分割并向上一次移动一半时重复此过程。每次迭代都应在垂直和水平移位之间交替。您应该进行迭代,直到移位要求您移位完成的点数像素(始终为1/2)。 从左向左垂直移动奇数编号的带(零索引)时,应向下移动,而偶数向上移动。水平移动时,从顶部起奇数编号的频段应向左移动,而偶数编号的频段应向右移动。 您只需要输出/显示转换的最终结果,而不是像gif所示的所有中间步骤。 这是代码高尔夫球,因此目标是最小化以字节为单位的源代码长度。 通过示例工作 我将逐帧浏览页面顶部显示的cat gif。 这是起始图像: 该图像为512 x 512像素。我们将其分为4个频段,以将每个频段垂直移动和移动1/8图像尺寸(64像素)。 现在,我们将其分为两倍的频段(8个频段),并将其移动到上次的一半(32像素)。这次我们将水平移动。 现在,我们这次再次垂直移动,分为16个波段,每个波段移动16个像素。 32波段8像素水平移动 64波段4像素,垂直移位。 128个波段,2个像素,水平移动。 256个波段,1个像素,垂直移位。 由于下一个移位将要求我们将每个波段移动半个像素,因此我们将在此处停止并输出结果。 测试用例 我有一个可以制作这些图像的工作脚本,所以我想我会让你们选择测试用例的图像。因此,如果您有一个平方的图像是2的幂次方,那么您希望看到它变成龙形。随时将其发送给我,我将其作为测试用例。 您还应该在纯白色或纯黑色图像上进行测试,以便确定像素是否消失。

1
一路下跌的因素!
这项挑战的灵感来自于这张奇妙的动画图表(感谢在聊天中张贴的虚假人物)。 给定输入n,将其所有主要因子绘制为指定的点的嵌套多边形。 例如,给定数字357 = 17x7x3,您在一个三角形中排列3个点,在一个七边形中排列这些三角形的7个版本,并在一个17边角中排列这些庚烷的17个版本。简而言之,嵌套的多边形从外部的最大素数到内部的最小素数。对于357,您的答案应该看起来像这样(有色或无色): 每个素数的每个多边形>= 3都不应围绕图旋转。 唯一的例外是质数2,专门用于的奇数幂2。在376 = 47x2x2x2下面的示例中可以看到,8s旋转并且不是2s的单行,而是4正方形中s的垂直堆栈。甚至2以正方形排列的的幂也不需要以这种方式旋转。 实际上,它448 = 7x2x2x2x2x2x2具有一个看起来像64s 的七边形的图,并64排列成正方形的正方形,但没有旋转。 还有两个示例是440 = 11x5x2x2x2和432 = 3x3x3x2x2x2x2。我们看到440奇数幂为2时旋转了8s,而432偶数幂2为时旋转了16s。 最后,这是一个最小的示例,它10 = 5x2没有我用Python及其turtle模块模拟的颜色。 挑战 给定输入nwhere 1 <= n <= 10000,输出其嵌套因子多边形的图像。 规则是: 图像由嵌套的点的多边形组成,从外侧(最大素因数)侧面到内侧最小素数因数的多边形组成。 对于因子2,2的幂应堆叠为一条线,然后是一个正方形,然后是一个正方形的线,依此类推。即使2的次方也不应该旋转。2的奇次幂应绕其各自的多边形旋转,并且在旋转之前应垂直堆叠它们。 您可以根据自己的喜好调整图像的方向(尽管我更喜欢向上),但是每个嵌套的多边形都应与其他任何多边形面对相同的方向,唯一的例外是2的次方。 对于图像大小和点大小,您有两个选择: 图像大小是静态的,并且点的大小随着n动画的增加而减小。 点大小是静态的,图像大小会随着n增加而增大。 多边形的前三层应与相邻的多边形(即不接触)区分开,但要考虑到周围及其周围图像的大小n=10000如果层开始接触就可以了。如果他们不愿意的话,我会更喜欢它,但是它不可避免地要适合可上传到Stack Exchange的图像。 颜色是可选的。 点的形状由您决定。如果正方形更适合您的语言,请使用那些。 没有奖金,但是我希望看到有人像原始帖子那样为图表添加动画并为其着色。 感谢Conor O'Brien,EasterlyIrk,Martin Ender,Kritixi Lithos,Mego,DJ McMayhem和El'endia Starman在编写此问题时所提供的帮助。 此代码高尔夫球,所以最短的代码获胜。祝你好运,打高尔夫球!

2
ASCII希尔伯特曲线
给定一个整数n输出,使用字符和,以ASCII n形式对Hilbert曲线进行第三次迭代。_| 这是前4个迭代: n=1 _ | | n=2 _ _ | |_| | |_ _| _| |_ n=3 _ _ _ _ | |_| | | |_| | |_ _| |_ _| _| |_____| |_ | ___ ___ | |_| _| |_ |_| _ |_ _| _ | |___| |___| …

27
Sierpinski地毯
谁不喜欢一个好的分形?该谢尔宾斯基地毯是分形的典型例子。 要完成此任务,您将需要生成一个地毯类型,并将生成的图像打印到代表水平地毯的stdout(请参见下面的格式示例)。可在此Wikipedia文章上找到步骤。 该值将取自stdin或等效。 例如,输入4将产生4级地毯: ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ …

28
做一个简单的自动包装
(注意:这是我有史以来第一个关于高尔夫的代码问题,但是据我所知,没有人能完全做到这一点,所以我应该很好。) 您的任务是制作一个程序或函数,该程序或函数接受一个字符串s和一个整数n,并返回或输出包装成多行的文本。每个单词必须全部在一行上;即中间没有字。每行的n字符长度不能超过字符,并且每行中必须包含尽可能多的单词。 例: s = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed eget erat lectus. Morbi mi mi, fringilla sed suscipit ullamcorper, tristique at mauris. Morbi non commodo nibh. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Sed at iaculis mauris. Praesent a …
22 code-golf  string  code-golf  string  parsing  apl  math  primes  integer  fastest-code  code-golf  math  primes  integer  code-golf  ascii-art  kolmogorov-complexity  code-golf  string  array-manipulation  code-golf  number  code-golf  sequence  code-golf  math  arithmetic  code-golf  date  conversion  code-golf  geometry  combinatorics  grid  code-golf  string  code-golf  counting  java  code-golf  chess  code-golf  path-finding  conversion  atomic-code-golf  logic-gates  code-golf  fibonacci  code-golf  ascii-art  fractal  code-golf  quine  code-golf  string  code-golf  array-manipulation  decision-problem  code-golf  quine  code-golf  code-challenge  array-manipulation  code-challenge  word-search  code-golf  binary  conversion  code-golf  code-golf  restricted-source  code-golf  kolmogorov-complexity  restricted-source  code-golf  kolmogorov-complexity  random  animation 

23
分形大教堂
给定正整数n >= 1,输出n以下结构的第一行: # # # ### # # # # # ## ## ##### # # # # # # # # # # ### # ## ## ## # ## ### ### ####### 的n第1索引的行是的二进制表示n,而不复制的最后一个字符的镜像,以#代替1和<space>到位0的所有行居中。 您必须以ASCII艺术形式输出,但是您可以使用任何非空白字符代替#示例中使用的字符。允许尾随空格,并允许尾随换行符。输出必须类似于示例,并且没有多余的前导空格或前导换行符。 您可以在此处查看分形大教堂的前1023行。 为了生成更大的测试用例,这是Python中的非引用参考实现

30
获取一个具有不同数字的随机n位数字,第一个不是0
我读了这个问题,并认为这将是一个不错的挑战。 任务 给一个输入0<n<10生成一个随机数 正好n位数字 第一个不是 0 所以 f(n)>10**(n-1)-1 不同的数字 获奖标准 这是代码高尔夫球,因此最短的代码获胜。 随机 我的意思是随机分布均匀。因此,从程序的角度来看,每个可能的数字都有相同的机会。如果您使用的语言具有一个奇怪的随机数生成器,则可以使用该生成器。 例 要从中随机选择的值的列表n=2是: [10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 47, 48, …
22 code-golf  number  random  grid  game  king-of-the-hill  javascript  code-golf  arithmetic  statistics  code-golf  math  code-golf  math  code-golf  string  palindrome  code-golf  string  interactive  code-golf  quine  polyglot  code-golf  string  stack-exchange-api  code-golf  number-theory  decision-problem  code-golf  tips  code-golf  string  internet  code-golf  graphical-output  image-processing  fractal  code-golf  ascii-art  geometry  hexagonal-grid  code-golf  string  restricted-source  hello-world  code-golf  game  code-golf  cipher  code-golf  permutations  cops-and-robbers  permutations  cops-and-robbers  code-golf  internet  stack-exchange-api  code-golf  ascii-art  random  code-golf  tips  code-golf  ascii-art  code-golf  code-golf  kolmogorov-complexity  code-golf  string  unicode  code-golf  number  sequence  primes  palindrome  code-golf  game  decision-problem  code-golf  math  geometry  code-golf  graphical-output  interactive  code-golf  set-partitions  code-golf  number  arithmetic  restricted-source  code-golf  decision-problem  python  recursion  code-golf  ascii-art  code-golf  source-layout  code-golf  function  recursion  functional-programming  code-golf  game  combinatorics  permutations  code-golf  string  file-system  code-golf  string  hashing  code-golf  stack-exchange-api  code-golf  string  code-golf  math  number  arithmetic  polyglot 

16
还有一个程序,我出去了!
给定一个正整数嵌套级n和字符串s的打印的ASCII字符(到~,输出一个。方案,其中,以相同的语言运行时,输出一个程序,其输出程序输出该串s。 总计 n应该生成程序,所有程序都应以与您的答案相同的语言运行。 注意:您可以输出程序或函数-默认情况下,您可以将任何内容作为提交提交。 您可以s使用转义字符输入,以您的语言编写的程序或函数通常会如何输入字符串。 例 例如,给定n=1和s="recursion",Python 2程序可能输出: print "recursion" 运行此命令将输出: recursion 给定n=2和s =“ PPCG”,Python 2程序可能输出: print "print \"PPCG\" " 运行此输出: print "PPCG" 运行此输出: PPCG 相关(+标题灵感):还有一个LUL,我出门了 也相关(在沙箱中-现在已删除,但仍然可以以足够的信誉查看):源代码递归 测试用例 确保您的代码适用于以下测试用例(每行一个): n s 2 PPCG 4 Robert'); DROP TABLE Students;-- 17 Deep 2 Spaces In Here 3 "Don't forget quotes!" 5 'Backt`cks …
21 code-golf  recursion  code-golf  kolmogorov-complexity  board-game  code-golf  number-theory  polynomials  code-golf  code-golf  array-manipulation  polyglot  alphabet  answer-chaining  code-golf  sequence  math  atomic-code-golf  abstract-algebra  proof-golf  code-golf  internet  code-golf  internet  code-golf  ascii-art  kolmogorov-complexity  code-golf  math  ascii-art  number  integer  code-golf  decision-problem  binary-matrix  code-golf  number  sequence  number-theory  code-golf  math  decision-problem  matrix  abstract-algebra  code-golf  string  keyboard  code-golf  fractal  code-golf  math  sequence  combinatorics  hello-world  vim  code-golf  sequence  code-golf  graphical-output  image-processing  code-golf  decision-problem  matrix  linear-algebra  code-golf  ascii-art  code-golf  math  code-golf  ascii-art  graphical-output  code-golf  string  code-golf  string  substitution  code-golf  string  ascii-art  code-golf  arithmetic  code-golf  number  array-manipulation  decision-problem  code-golf  kolmogorov-complexity  code-generation  fractal  code-golf  ascii-art  kolmogorov-complexity  code-golf  ascii-art  code-golf  string  array-manipulation  code-golf  music  code-golf  array-manipulation  code-golf  internet  stack-exchange-api  math  fastest-algorithm  code-golf  binary  bitwise  code-golf  date  code-golf  string  code-golf  sequence  integer  code-golf  arithmetic  number-theory  code-golf  string  random 

7
后勤地图的奇特魅力
挑战的目的是大约绘制吸引所述的逻辑映射作为其参数的函数[R (也称为分支图),或它的一个子区。在Wikipedia的以下图像中可以看到该图形的外观: 背景 该逻辑映射是一个数学函数,其采用输入X ķ并将其映射到输出X K + 1定义为 x k + 1 = r x k(1− x k) 其中r是映射的参数,假定位于区间[0,4]中。 给定[0,4]中的r以及间隔[0,1]中的初始值x 0,有趣的是将函数重复应用大量N次迭代,从而产生最终值x N。请注意,x N也必将位于[0,1]中。 例如,假设r = 3.2,N =1000。初始值x 0 = 0.01得出x 1000 = 0.5130。对于x 0 = 0.02,结果为x 0 = 0.7995。对于任何其他初始值x 0,最终值x 1000都非常接近0.5130或0.7995。在图中将其视为水平位置r = 3.2 处的两条线的高度。 这并不意味着对- [R = 3.2的每个序列收敛于这两个值中的一个。实际上,对于上面考虑的两个初始值,序列为(请注意振荡行为): x 0 …

5
“抱歉,年轻人,但是乌龟一直都在降下来!”
执行Lindenmayer系统 甲Lindenmayer系统(或L-系统)是有关图厄和邮政系统和在用于植物的建模和分形产生。 L系统描述为 字符串重写,其中将来自符号字母的符号映射到符号的替换序列。这些映射的集合构成了L系统本身。 由Prusinkiewicz设计的图形输出方法解释了将映射应用于对象之后的结果序列。 初始序列指定次数的迭代,如Turtle-Drawing命令:向前,向后,向左,向右等。这可能需要额外的代码来控制图形的比例,因为不同的迭代次数可能会产生尺寸完全不同的图像。 您的任务是以最少的字符数执行L系统。您的程序必须能够通过提供适当的输入(文件,命令行,但请在源外部)来渲染Wikipedia页面上的Dragon Curve和Branching Stem。 这是代码高尔夫。 编辑:这是我在城镇周围张贴的一些示例。答案SO /旋转到北{ 那里我第一次发现了L系统 },回答SO /如何对程序-A-分,回答SO /递归功能于后记,comp.lang.postscript讨论/ recital,后记l系统集合,codegolf.SE / draw -a- sierpinski - triangle {我和thomasW之间竞争的起源}。

6
科赫雪花-Codegolf
的Koch雪花(也被称为科赫星和科克岛)是数学曲线,并已经描述了最早的分形曲线中的一个。它基于Koch曲线,该曲线出现在1904年的一篇论文中,该论文的标题为“在无切线的连续曲线上,可以从基本几何构造而成”(法文原版标题:“ Sur une courbecontinu sans tangente,旁观的建筑学意义”)瑞典数学家Helge von Koch。 以下是各种迭代的一些ascii表示形式: n=1 __ \/ n=2 __/\__ \ / /_ _\ \/ n=3 __/\__ \ / __/\__/ \__/\__ \ / /_ _\ \ / __/ \__ \ / /_ __ __ _\ \/ \ / \/ /_ _\ \/ 由于ASCII表示的分辨率显然存在限制,因此对于每次迭代,我们必须将雪花的大小放大3倍,以显示更多细节。 编写最短的代码以相同的样式输出雪花,其中n = 4 …

9
是在康托集内吗?
挑战 对于这个挑战,您应该确定Cantor集中是否有给定的数字。首先,让我们定义Cantor集。 首先,从0到1之间的数字开始。超出此范围的任何数字均不在Cantor集中。现在,让我们将数字分为三个相等的部分:[0,1 / 3],[1 / 3,2 / 3],[2 / 3、1]。不在第一部分和最后一部分范围内的任何数字都不在Cantor集中。现在,对段[0,1 / 3]和[2/3,1]重复此过程。然后,您重复剩余的内容。您会永远这样做。最后,所有剩余的数字都在Cantor集中。这是前六个迭代的图表: 输入值 两个整数x和y。 0 < y < 2^15 0 <= x <= y 最大的共同点x和y为1,除非x == 0。 输出量 如果x/y在Cantor设置中,则为真。 如果x/y不在Cantor集合中,则为假。 例子 现在,让我们看一下Cantor集中的一些数字示例。 1/3 -> true 它在边界上,并且边界永远不会删除。 1/4 -> true 1/4永远不会位于细分的中间三分之一,尽管它也永远不会位于边界上。如果遵循它的路径,您实际上会发现它在节的前三分之一和后三分之一之间交替出现。 1/13 -> true 1/13 在第一部分,第一部分和最后一部分之间切换。 1/5 -> false 1/5 …

13
画一条龙曲线
今天的任务:画一条龙曲线! 如果你不知道龙曲线是什么,这里是一个介绍ViHart视频(真的很酷,敬请收看!) 您的任务:绘制一条龙形曲线,重复至少9次。您不必显示迭代1到9,仅需要显示完成(至少)9次迭代后生成的最终曲线。曲线必须绘制为连接曲线上各点的直线;输出应与下面显示9次或更多次迭代(直到反射,旋转,缩放和线宽,线色和背景色的变化)的图像之一匹配。您的输出必须足够大,以使各个行和它们形成的“框”可以相互区分。如果两条线在曲线中不相交,则它们不应在输出中占据相同或相邻的像素(在它们之间至少应有一个可见的背景像素)。您可以在屏幕上显示图像,也可以将图像保存到文件中。输出必须是图形的-不能是ASCII文字。 以字节为单位的最短代码为准,但是不应在字节数中包含库的包含指令,如果图形库或其他库是在发布前编写的,则可以使用为您选择的语言编写的图形库或其他库。 请提供程序输出的图像。 如果您观看了视频,请跳过本段:对于那些决定不观看视频的人,下面显示了龙曲线的前12次迭代。就此任务而言,龙曲线是通过以下规则生成的曲线:取当前曲线的端点,创建围绕该端点旋转90度的第二条曲线,以使原始曲线的端点曲线是新曲线的起点,并将两条曲线合并为一条相交的曲线。在下面显示的图像中,每个新的迭代都是通过将前一个迭代绕端点每次顺时针旋转90度来生成的。当曲线显示在屏幕上时,哪个终点算作“终点”并不明显,但是当曲线存储为点数组时,很容易将“终点”定义为终点数组。 赞赏但不接受Ascii艺术:这是图形输出,而不是ascii艺术。

5
是否有更多的硬物或软物
与假设分析书的开头相切。 输入是一个由空格组成的矩形,如字符串,字符串列表等,其对象由#内部组成: ######## # # ######## ### #### ### #### ### 对象将始终是非相交,非接触的矩形。软对象的定义是#中间没有用填充的对象,而只是边界,而硬对象则是填充的对象。具有宽度或高度的对象<=2被认为是坚硬的。所有对象都是硬的或软的。 如果输入,输出中有更多的硬对象"Hard",如果较软,则输出"Soft",如果相等则输出"Equal"。 这是代码高尔夫球,因此以字节为单位的最短代码胜出! 测试用例 这些情况不是全部输入,而是每个对象应表征的内容。实际输入将类似于问题顶部的ascii艺术。 硬 # #### ## ## ########## ########## ########## 柔软的 ### # # ### ################### # # # # # # ################### #### # # # # # # # # # # # # …
19 code-golf  ascii-art  counting  code-golf  number  grid  decision-problem  chess  code-golf  grid  graph-theory  chess  code-golf  math  geometry  code-golf  arithmetic  roman-numerals  fastest-code  code-golf  math  geometry  code-golf  string  cryptography  code-golf  number  sequence  decision-problem  code-golf  string  parsing  c  code-golf  sorting  integer  code-golf  number  sequence  rational-numbers  graphical-output  atomic-code-golf  assembly  box-256  code-golf  geometry  tips  python  code-golf  number  sequence  arithmetic  number-theory  code-golf  ascii-art  kolmogorov-complexity  geometry  code-golf  graphical-output  code-golf  math  code-golf  grid  cellular-automata  game-of-life  code-golf  string  subsequence  code-golf  arithmetic  rational-numbers  code-golf  tips  dc  code-golf  ascii-art  kolmogorov-complexity  date  code-golf  string  primes  code-golf  string  natural-language  conversion  code-golf  sequence  code-golf  number-theory  primes  base-conversion  code-golf  math  primes  base-conversion  code-golf  ascii-art  fractal  code-golf  matrix  code-golf  math  tips  geometry  python  string  code-challenge  keyboard  code-golf  graphical-output  code-golf  string  code-golf  number  sequence  cops-and-robbers  number  sequence  cops-and-robbers 

13
谢尔宾斯基层
首先,/\您可以通过在下面添加一条线来创建类似于Sierpinski三角形的图案,从而... 任何松散的分支/或\再次分裂为两个分支:/\。 分支的任何碰撞都将\/死,其下无任何东西(只有空格)。 重复这些规则将产生 /\ /\/\ /\ /\ /\/\/\/\ /\ /\ /\/\ /\/\ etc... (ViHart的启发) 编写一个程序或函数,该程序或函数接受一个正整数N,并将此模式的前N行打印到stdout,且前导或尾随空格不超过所需数量。 例如,如果输入是1输出,则必须为 /\ 如果输入是2输出,则必须为 /\ /\/\ 如果输入是8输出,则必须为 /\ /\/\ /\ /\ /\/\/\/\ /\ /\ /\/\ /\/\ /\ /\ /\ /\ /\/\/\/\/\/\/\/\ 等等。 字节最少的代码获胜。

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.