首页 > 语言 > JavaScript > 正文

12行javascript代码绘制一个八卦图

2024-05-06 16:18:14
字体:
来源:转载
供稿:网友

本文给大家分享的是使用有限的代码绘制八卦图,算是考核下自己对于javascript的理解,这里推荐给大家,有需要的小伙伴参考下。

一句话说明:用有限的代码构建一个1024*1024的颜色矩阵,秀出你的编程&艺术之美

起源于 stackexchange 上的一个问题, 这里稍微做了一下扩展,支持更多编程语言,并放宽了代码长度的限制。

规则

目标:

通过实现 模版 中的一个函数 get_color_at(x, y) ,在一个 1024*1024 的画布上画出尽可能 “有意思” 的图案。

参数:

int x, int y ,取值均为 0 - 1023,对应画布上坐标点,左上角为起始点 (0,0)

返回:

int r, int g, int b, int alpha, 对应颜色的 RGBA 分量,均为 0 - 255。

注意:

各语言中 alpha 分量定义可能不同,由 模版 统一转换为: 0 - 255,值越大越透明。

要求:

只能编辑 模版 中 get_color_at(x, y) 函数体内 // {{code start}} - // {{code end}} 间的代码;

代码总字符数不能超过 1024 个,且有较好的可读性。

 

 
  1. if(typeof f_c=="undefined"){ 
  2. f_c=function(x,y,px,py,r){ 
  3. return Math.sqrt(Math.pow(x-px,2)+Math.pow(y-py,2))<=r; 
  4. }; 
  5. var x0=x-512,y0=y-512; 
  6. r=g=b=128; 
  7. if(f_c(x0,y0,0,0,512)) r=g=b=(x0>0)?255:0; 
  8. if(f_c(x0,y0,0,256,256)&&x0<=0) r=g=b=255; 
  9. if(f_c(x0,y0,0,-256,256)&&x0>0) r=g=b=0; 
  10. if(f_c(x0,y0,0,256,64)) r=g=b=0; 
  11. if(f_c(x0,y0,0,-256,64)) r=g=b=255; 

以上所述就是本文的全部内容了,希望大家能够喜欢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选