- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
有没有一段代码,让你觉得人类的智慧也可以璀璨无比?
有没有一段代码,让你觉得人类的智慧也可以璀璨无比?
网友在知乎的一个提 帖:
下面是 【烧茄子】引用了知名博主 Matrix67 的一篇博文:
《用三段 140 字符以内的代码生成一张 1024×1024 的图片》
Kyle McCormick 在 StackExchange 上发起了一个叫做Tweetable Mathematical Art的比赛,
参赛者需要用三条推这么长的代码来生成一张图片。
具体地说,参赛者需要用 C++ 语言编写 RD 、 GR 、 L 三个函数,每个函数都不能超过
140 个字符。每个函数都会接到 i 和 j 两个整型参数 (0 ≤ i, j ≤ 1023 ),然后需要返回一个 0 到
255 之间的整数,表示位于 (i, j) 的像素点的颜色值。举个例子,如果 RD(0, 0) 和 GR(0, 0) 返回的
都是 0 ,但 L(0, 0) 返回的是 255 ,那么图像的最左上角那个像素就是蓝色。
参赛者编写的代码会被插进下面这段程序当中 (我做了一些细微的改动),最终会生成一个
大小为 1024×1024 的图片。
我选了一些自己比较喜欢的作品,放在下面和大家分享。
首先是一个来自 Martin üttner 的作品:
æ ´å¤ ç²¾å½©æ »ç ¥è®¿é ® 1
它的代码如下:
同样是来自 Martin üttner 的作品:
æ ´å¤ ç²¾å½©æ »ç ¥è®¿é ® 2
这是目前暂时排名第一的作品。它的代码如下:
下面这张图片仍然出自 Martin üttner 之手:
æ ´å¤ ç²¾å½©æ »ç ¥è®¿é ® 3
难以想象, Mandelbrot 分形图形居然可以只用这么一点代码画出:
Manuel Kasten 也制作了一个 Mandelbrot 集的图片,与刚才不同的是,该图描绘的是
Mandelbrot 集在某处局部放大后的结果:
æ ´å¤ ç²¾å½©æ »ç ¥è®¿é ® 4
它的代码如下:
这是 Manuel Kasten 的另一作品:
æ ´å¤ ç²¾å½©æ »ç ¥è®¿é ® 5
生成这张图片的代码很有意思:函数依靠 static 变量来控制绘画的进程,完全没有用到 i 和 j
这两个参数!
这是来自 githubphagocyte 的作品:
æ ´å¤ ç²¾å½©æ »ç ¥è®¿é ®
它的代码如下:
这是来自 githubphagocyte 的另一个作品:
æ ´å¤ ç²¾å½©æ »ç ¥è®¿é ® 7
这是一张使用 diffusion-limited aggregation 模型得到的图片,程序运行起来要耗费不少时间
。代码很有意思:巧妙地利用宏定义,打破了函数与函数之间的界限,三段代码的字数限制便能
合在一起使用了。
最后这张图来自 Eric Tressler :
æ ´å¤ ç²¾å½©æ »ç ¥è®¿é ® 8
这是由 logistic 映射得到的 Feigenbaum 分岔图。和刚才一样,对应的代码也巧妙地利用了宏
定义来节省字符:
下面是高城 的分享,伯乐在线已征得许可
我在这里提供我见识到的三个精彩算法的解析,强烈地推荐给初学的算法爱好者,它们可能
会令你眼界大开,同时坚定你在算法大道上勇往直前的信念。
#3. 二进制是人类的好朋友,在线的树的最近公共祖先 (LCA )算法:
利用数的二进制表示可以产生很多加速算法,online-LCA是其中之一。许多算法的加速是对
数率的,就是利用了数的二进制表示。 首先定义
您可能关注的文档
- 惊人的相人术!听他一句话,安禄山早没命了.pdf
- 想做美味的猪皮冻,教你个小绝招!.pdf
- 想接个私活,没想到被悦跑圈搞砸了….pdf
- 想蒸鱼不腥的绝招竟然是不用碟子蒸.pdf
- 感恩的足迹.PDF
- 感觉如何被量化——实验法.pdf
- 慈禧新政评议.pdf
- 我不是美丽说,也不上蘑菇街,我是炫酷秀2.ppt
- 我们总能在最深的绝望里.pdf
- 成熟在逆境,醒悟在绝境.docx
- 初中英语人教版七年级上册第四单元Where is my schoolbag ! Section A .ppt
- 初中英语人教版七年级上册第四单元Where is my schoolbag Section B 2.ppt
- 初中英语人教版七年级下册 Unit 6 I'm watching TV. Section A 11a.pptx
- 注册土木工程师培训课件.ppt
- 初中生物济南版七年级上册第一章奇妙的生命现象 第三节生物学的探究方法.ppt
- 初中英语人教版七年级上册第四单元Where is my schoolbag Section B 2.pptx
- 注册安全工程师案例课件.ppt
- 初中物理人教版八年级上册第二章第4节噪声的危害和控制课件(共19张PPT).pptx
- 注册安全工程师王阳课件.ppt
- 初中数学青岛版八年级上2.4《线段的垂直平分线》课件(16张PPT).ppt
原创力文档


文档评论(0)