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 相关文章推荐
PNG背景在不同浏览器下的应用
Jun 22 Javascript
从盛大通行证上摘下来的身份证验证js代码
Jan 11 Javascript
js 优化次数过多的循环 考虑到性能问题
Mar 05 Javascript
基于jQuery选择器的整理集合
Apr 26 Javascript
JavaScript将Web页面内容导出到Word及Excel的方法
Feb 13 Javascript
js密码强度校验
Nov 10 Javascript
基于jQuery Ajax实现上传文件
Mar 24 Javascript
关于js原型的面试题讲解
Sep 25 Javascript
概述jQuery的元素筛选
Nov 23 Javascript
React + webpack 环境配置的方法步骤
Sep 07 Javascript
Vue项目中跨域问题解决方案
Jun 05 Javascript
Vue Router 实现动态路由和常见问题及解决方法
Mar 06 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
在PHP中使用模板的方法
2008/05/24 PHP
介绍php设计模式中的工厂模式
2008/06/12 PHP
CURL的学习和应用(附多线程实现)
2013/06/03 PHP
微信支付开发教程(一)微信支付URL配置
2014/05/28 PHP
php实现插入排序
2015/03/29 PHP
PHP7.1实现的AES与RSA加密操作示例
2018/06/15 PHP
js下通过getList函数实现分页效果的代码
2010/09/17 Javascript
情人节之礼 js项链效果
2012/02/13 Javascript
JS判断元素为数字的奇异写法分享
2012/08/01 Javascript
javascript高级程序设计第二版第十二章事件要点总结(常用的跨浏览器检测方法)
2012/08/22 Javascript
js工具方法弹出蒙版
2013/05/08 Javascript
JS关闭窗口或JS关闭页面的几种代码分享
2013/10/25 Javascript
基于jquery实现页面滚动时顶部导航显示隐藏
2020/04/20 Javascript
js实现无缝滚动图(可控制当前滚动的方向)
2017/02/22 Javascript
详解AngularJS通过ocLazyLoad实现动态(懒)加载模块和依赖
2017/03/01 Javascript
详解Vue方法与事件
2017/03/09 Javascript
vue构建单页面应用实战
2017/04/10 Javascript
jQuery判断邮箱格式对错实例代码讲解
2017/04/12 jQuery
前端常见跨域解决方案(全)
2017/09/19 Javascript
vue 点击按钮增加一行的方法
2018/09/07 Javascript
一个因@click.stop引发的bug的解决
2019/01/08 Javascript
Python实现从url中提取域名的几种方法
2014/09/26 Python
python实现比较文件内容异同
2018/06/22 Python
Django安装配置mysql的方法步骤
2018/10/15 Python
Keras实现支持masking的Flatten层代码
2020/06/16 Python
PyTorch如何搭建一个简单的网络
2020/08/24 Python
python RSA加密的示例
2020/12/09 Python
土木工程专业大学毕业生求职信
2013/10/13 职场文书
渡河少年教学反思
2014/02/12 职场文书
小学安全教育材料
2014/02/17 职场文书
聚美优品励志广告词
2014/03/14 职场文书
力学专业求职信
2014/07/23 职场文书
2015财务年终工作总结范文
2015/05/22 职场文书
植树节新闻稿
2015/07/17 职场文书
JS实现数组去重的11种方法总结
2022/04/04 Javascript
《艾尔登法环》1.03.3补丁上线 碎星伤害调整
2022/04/07 其他游戏