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


Posted in Javascript onApril 02, 2015

一句话说明:用有限的代码构建一个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 个,且有较好的可读性。

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

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

Javascript 相关文章推荐
MSN消息提示类
Sep 05 Javascript
javaScript 利用闭包模拟对象的私有属性
Dec 29 Javascript
js 文本滚动效果的实例代码
Aug 17 Javascript
探析浏览器执行JavaScript脚本加载与代码执行顺序
Jan 12 Javascript
js编写一个简单的产品放大效果代码
Jun 27 Javascript
Knockout结合Bootstrap创建动态UI实现产品列表管理
Sep 14 Javascript
手写Vue弹窗Modal的实现代码
Sep 11 Javascript
微信小程序自定义弹出模态框禁止底部滚动功能
Mar 09 Javascript
javascript执行上下文、变量对象实例分析
Apr 25 Javascript
JS替换字符串中指定位置的字符(多种方法)
May 28 Javascript
JavaScript arguments.callee作用及替换方案详解
Sep 02 Javascript
JavaScript实现外溢动态爱心的效果的示例代码
Mar 21 Javascript
javascript实现随时变化着的背景颜色
Apr 02 #Javascript
javascript中call和apply的用法示例分析
Apr 02 #Javascript
原生js实现类似弹窗抖动效果
Apr 02 #Javascript
JavaScript显示表单内元素数量的方法
Apr 02 #Javascript
原创jQuery弹出层插件分享
Apr 02 #Javascript
JavaScript获取网页表单提交方式的方法
Apr 02 #Javascript
Javascript获取表单名称(name)的方法
Apr 02 #Javascript
You might like
是否存在第一台收音机的说法
2021/03/01 无线电
发挥语言的威力--融合PHP与ASP
2006/10/09 PHP
sourcesafe管理phpproj文件的补充说明(downmoon)
2009/04/11 PHP
PHPnow安装服务[apache_pn]失败的问题的解决方法
2010/09/10 PHP
php中模拟POST传递数据的两种方法分享
2011/09/16 PHP
php实现的农历算法实例
2015/08/11 PHP
php 解析xml 的四种方法详细介绍
2016/10/26 PHP
PHP JWT初识及其简单示例
2018/10/10 PHP
PHP实现的用户注册表单验证功能简单示例
2019/02/25 PHP
URL编码转换,escape() encodeURI() encodeURIComponent()
2006/12/27 Javascript
一款JavaScript压缩工具:X2JSCompactor
2007/06/13 Javascript
用js实现in_array的方法
2013/11/05 Javascript
页面定时刷新(1秒刷新一次)
2013/11/22 Javascript
javascript模拟实现C# String.format函数功能代码
2013/11/25 Javascript
js正则表达式匹配数字字母下划线等
2015/04/14 Javascript
JavaScript的new date等日期函数在safari中遇到的坑
2016/10/24 Javascript
JS实现自动阅读单词(有道单词本添加功能)
2016/11/14 Javascript
JavaScript 2018 中即将迎来的新功能
2018/09/21 Javascript
vue 弹窗时 监听手机返回键关闭弹窗功能(页面不跳转)
2019/05/10 Javascript
JQuery属性操作与循环用法示例
2019/05/15 jQuery
Vue页面刷新记住页面状态的实现
2019/12/27 Javascript
Antd中单个DatePicker限定时间输入范围操作
2020/10/29 Javascript
Python实现多行注释的另类方法
2014/08/22 Python
python删除文本中行数标签的方法
2018/05/31 Python
django的settings中设置中文支持的实现
2019/04/28 Python
Python中字典与恒等运算符的用法分析
2019/08/22 Python
Python大数据之从网页上爬取数据的方法详解
2019/11/16 Python
python数据预处理 :样本分布不均的解决(过采样和欠采样)
2020/02/29 Python
Python实现对adb命令封装
2020/03/06 Python
Lookfantastic台湾:英国彩妆美发保养购物网
2018/03/26 全球购物
学生会竞选自荐信
2013/10/12 职场文书
给孩子的新年寄语
2014/04/08 职场文书
奥巴马经典演讲稿
2014/09/13 职场文书
圆明园观后感
2015/06/03 职场文书
创业计划书之面包店
2019/09/12 职场文书
python游戏开发之pygame实现接球小游戏
2022/04/22 Python