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 相关文章推荐
JavaScript入门教程(11) js事件处理
Jan 31 Javascript
jquery实现textarea输入字符控制(仿微博输入控制字符)
Apr 26 Javascript
jquery slibings选取同级其他元素的实现代码
Nov 15 Javascript
JS显示下拉列表框内全部元素的方法
Mar 31 Javascript
原生js实现图片轮播特效
Dec 18 Javascript
JavaScript数组方法总结分析
May 06 Javascript
深究AngularJS中$sce的使用
Jun 12 Javascript
利用vue组件自定义v-model实现一个Tab组件方法示例
Dec 06 Javascript
boostrap模态框二次弹出清空原有内容的方法
Aug 10 Javascript
jQuery操作事件完整实例分析
Jan 10 jQuery
JavaScript数组常用的增删改查与其他属性详解
Oct 13 Javascript
vue 获取到数据但却渲染不到页面上的解决方法
Nov 19 Vue.js
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
PHP调用Webservice实例代码
2011/07/29 PHP
PHP gbk环境下json_dencode传送来的汉字
2012/11/13 PHP
php 生成Tab键或逗号分隔的CSV
2016/09/24 PHP
php反序列化长度变化尾部字符串逃逸(0CTF-2016-piapiapia)
2020/02/15 PHP
完美解决JS中汉字显示乱码问题(已解决)
2006/12/27 Javascript
jquery无刷新验证邮箱地址实现实例
2014/02/19 Javascript
JS中使用sort结合localeCompare实现中文排序实例
2014/07/23 Javascript
javascript实现时间格式输出FormatDate函数
2015/01/13 Javascript
JavaScript使用encodeURI()和decodeURI()获取字符串值的方法
2015/08/04 Javascript
jQuery EasyUI 获取tabs的实例解析
2016/12/06 Javascript
鼠标点击input,显示瞬间的边框颜色,对之修改与隐藏实例
2016/12/26 Javascript
js模拟微博发布消息
2017/02/23 Javascript
JS实现自动轮播图效果(自适应屏幕宽度+手机触屏滑动)
2017/06/19 Javascript
vue Element左侧无限级菜单实现
2020/06/10 Javascript
解决vue自定义指令导致的内存泄漏问题
2020/08/04 Javascript
Python字符串的encode与decode研究心得乱码问题解决方法
2009/03/23 Python
python发送arp欺骗攻击代码分析
2014/01/16 Python
python 实现批量xls文件转csv文件的方法
2018/10/23 Python
详解Python 函数参数的拆解
2020/09/02 Python
Python的3种运行方式:命令行窗口、Python解释器、IDLE的实现
2020/10/10 Python
50个强大璀璨的CSS3/JS技术运用实例
2010/02/27 HTML / CSS
纯CSS打造(无图像无js)的非常流行的讲话(语音)气泡效果
2012/12/28 HTML / CSS
KLOOK客路:发现更好玩的世界,预订独一无二的旅行体验
2016/12/16 全球购物
Sephora丝芙兰泰国官方网站:国际知名化妆品购物
2017/11/15 全球购物
GoPro摄像机美国官网:美国运动相机厂商
2018/07/03 全球购物
《问银河》教学反思
2014/02/19 职场文书
幼儿园六一亲子活动方案
2014/08/26 职场文书
2015年七一建党节慰问信
2015/03/23 职场文书
商场圣诞节活动总结
2015/05/06 职场文书
民事诉讼答辩状范文
2015/05/21 职场文书
同事去世追悼词
2015/06/23 职场文书
追讨欠款律师函
2015/06/24 职场文书
2016护理专业求职自荐书
2016/01/28 职场文书
Pytorch数据读取之Dataset和DataLoader知识总结
2021/05/23 Python
【DOTA2】半决赛强强对话~ PSG LGD vs EHOME - DPC 2022 CN REGIONAL FINALS WINTER
2022/04/02 DOTA
改造DE1103三步曲
2022/04/07 无线电