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 相关文章推荐
jquery简单体验
Jan 10 Javascript
javascript编程起步(第五课)
Feb 27 Javascript
用JS操作FRAME中的IFRAME及其内容的实现代码
Jul 26 Javascript
IE JS编程需注意的内存释放问题
Jun 23 Javascript
js自动查找select下拉的菜单并选择(示例代码)
Feb 26 Javascript
JavaScript编写点击查看大图的页面半透明遮罩层效果实例
May 09 Javascript
jQuery Easyui快速入门教程
Aug 21 Javascript
微信小程序 toast 详解及实例代码
Nov 09 Javascript
vue+vuecli+webpack中使用mockjs模拟后端数据的示例
Oct 24 Javascript
JS获取input[file]的值并显示在页面的实现方法
Mar 09 Javascript
JS实现可视化文件上传
Sep 08 Javascript
javascript实现留言板功能
Feb 08 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中header的用法详解
2013/06/07 PHP
Linux下php5.4启动脚本
2014/08/03 PHP
PHP文件读写操作相关函数总结
2014/11/18 PHP
windows平台中配置nginx+php环境
2015/12/06 PHP
CentOS 上搭建 PHP7 开发测试环境
2017/02/26 PHP
PHP快速排序算法实现的原理及代码详解
2019/04/03 PHP
laravel-admin 后台表格筛选设置默认的查询日期方法
2019/10/03 PHP
jquery 双色表格实现代码
2009/12/08 Javascript
jQuery中live方法的重复绑定说明
2011/10/21 Javascript
js实现简单的星级选择器提交效果适用于评论等
2013/10/18 Javascript
不使用ajax实现无刷新提交表单
2014/12/21 Javascript
jQuery实用技巧必备(中)
2015/11/03 Javascript
全面解析Bootstrap中Carousel轮播的使用方法
2016/06/13 Javascript
BootStrap智能表单实战系列(十一)级联下拉的支持
2016/06/13 Javascript
JS路由跳转的简单实现代码
2017/09/21 Javascript
jquery select插件异步实时搜索实例代码
2017/10/20 jQuery
解决Vue不能检测数组或对象变动的问题
2018/02/24 Javascript
JS中移除非数字最多保留一位小数
2018/05/09 Javascript
如何更好的编写js async函数
2018/05/13 Javascript
angula中使用iframe点击后不执行变更检测的问题
2020/05/10 Javascript
关于vue属性使用和不使用冒号的区别说明
2020/10/22 Javascript
python实现数据导出到excel的示例--普通格式
2018/05/03 Python
Python实现带参数的用户验证功能装饰器示例
2018/12/14 Python
Django单元测试中Fixtures用法详解
2020/02/25 Python
python框架flask入门之路由及简单实现方法
2020/06/07 Python
一些常用的HTML5模式(pattern) 总结
2015/07/14 HTML / CSS
Perfume’s Club澳大利亚官网:西班牙领先的在线美容店
2021/02/01 全球购物
英文版餐饮运营管理求职信
2013/11/06 职场文书
土木工程个人自荐信范文
2013/11/30 职场文书
学术会议欢迎词
2014/01/09 职场文书
三爱活动实施方案
2014/03/19 职场文书
启动仪式策划方案
2014/06/14 职场文书
2014年驾驶员工作总结
2014/11/18 职场文书
学生犯错保证书
2015/05/09 职场文书
解决linux下redis数据库overcommit_memory问题
2022/02/24 Redis
React如何使用axios请求数据并把数据渲染到组件
2022/08/05 Javascript