JS1K比赛与3D玫瑰
也许它最开始只是作为一件好玩的事,但一年一度的JS1K比赛现在已经不再只是一个玩笑。今年的比赛已经开展得如火如荼,并且因为用小于1K的JavaScript脚本渲染的3D玫瑰的出现而显得更加壮观。
JS1K大赛旨在找寻互联网上最好的JavaScript创意,只有一个小条件 - 使用的代码必须小于1K。这可能听起来很疯狂,因为一些JavaScript框架 – 只是框架本身!- 代码量就超过了100k,但是从几年前开始时,JS1K的尝试就给人留下了深刻的印象。
今年最令人瞠目结舌的努力之一是开发者罗曼科尔特斯的作品3D渲染的玫瑰。依靠蒙特卡罗方法以保持代码的大小,科尔特斯的代码为以爱情为主题的2012年版JS1K绘制了一个非常华丽的渐变3D玫瑰。你可以在JS1K网站上查看演示。
我只有一个警告:使得此代码体积如此精简的部分原因是处理器进行了繁重的计算。当我在Safari浏览器里打开此演示时,它使得我的CPU使用率超过了100%,并且页面打开时一直保持这个状态。 Firefox和Chrome都会把CPU使用率降低在93%左右,但我只想说,因为妥协而带来的3D玫瑰的确会给你的CPU带来沉重的负担。
要了解科尔特斯如何通过代码创造这个玫瑰,一定要去访问他的博客,它提供了一个非常深入的教程来解释代码的工作原理。那里还有科尔特斯为以前的JS1K而做的伟大努力,一个3D圣诞树。同时也务必看看今年JS1K比赛上JS1K网站提交的其他文件。
如果你有一些令人印象深刻的而且非常精简的JavaScript代码还未提交,不要担心,JS1K比赛将继续接受提交直到2012年3月14日星期三。规则细节和提交的过程可以在JS1K的网站上找到。
译者注:下一篇博客文章将会介绍3D玫瑰的实现原理。