专栏名称: 算法与数据结构
算法与数据结构知识、资源分享
目录
相关文章推荐
九章算法  ·  「九点热评」印度人集体撤离美国! ·  10 小时前  
算法爱好者  ·  国民软件 QQ ... ·  昨天  
九章算法  ·  计算机专业走向,没有悬念了! ·  昨天  
算法爱好者  ·  GitHub 资深工程师揭秘:90% ... ·  昨天  
51好读  ›  专栏  ›  算法与数据结构

看程序猿如何用代码表现艺术天分

算法与数据结构  · 公众号  · 算法  · 2017-01-23 09:27

正文

请到「今天看啥」查看全文



我选了一些自己比较喜欢的作品,放在下面和大家分享。


首先是一个来自 Martin Büttner 的作品:




它的代码如下:


unsigned char RD(int i,int j){

return (char)(_sq(cos(atan2(j-512,i-512)/2))*255);

}

unsigned char GR(int i,int j){

return (char)(_sq(cos(atan2(j-512,i-512)/2-2*acos(-1)/3))*255);

}

unsigned char BL(int i,int j){

return (char)(_sq(cos(atan2(j-512,i-512)/2+2*acos(-1)/3))*255);

}

同样是来自 Martin Büttner 的作品:



这是目前暂时排名第一的作品。它的代码如下:


unsigned char RD(int i,int j){

#define r(n)(rand()%n)

static char c[1024][1024];return!c[i][j]?c[i][j]=!r(999)?r(256):RD((i+r(2))%1024,(j+r(2))%1024):c[i][j];

}

unsigned char GR(int i,int j){

static char c[1024][1024];return!c[i][j]?c[i][j]=!r(999)?r(256):GR((i+r(2))%1024,(j+r(2))%1024):c[i][j];

}

unsigned char BL(int i,int j){

static char c[1024][1024];return!c[i][j]?c[i][j]=!r(999)?r(256):BL((i+r(2))%1024,(j+r(2))%1024):c[i][j];

}


下面这张图片仍然出自 Martin Büttner 之手:



难以想象, Mandelbrot 分形图形居然可以只用这么一点代码画出








请到「今天看啥」查看全文