下面的3D圣诞树神奇效果是西班牙程序员Roman Cortes的js1k编程比赛参赛作品。需要注意,它也是对浏览器JavaScript引擎能力的很好检验。只有现代浏览器(程序员同学,你们懂的)才能正常查看。
经测试,Chrome非常流畅,Opera 11也没有问题,Firefox较慢, IE 9非常慢,IE 9以下版本无法显示。
3D圣诞树是由1024字节以内的JavaScript代码实现,代码如下:
M=Math;Q=M.random;J=[];U=16;T=M.sin;E=M.sqrt;for(O=k=0;x=z=j=i=k<200;)with(M[k]=k?c.cloneNode(0):c){width=height=k?32:W=446;with(getContext('2d'))if(k>10|!k)for(font='60px Impact',V='rgba(';I=i*U,fillStyle=k?k==13?V+'205,205,215,.15)':V+(147+I)+','+(k%2?128+I:0)+','+I+',.5)':'#cca',i<7;)beginPath(fill(arc(U-i/3,24-i/2,k==13?4-(i++)/2:8-i++,0,M.PI*2,1)));else for(;x=T(i),y=Q()*2-1,D=x*x+y*y,B=E(D-x/.9-1.5*y+1),R=67*(B+1)*(L=k/9+.8)>>1,i++ |
实现原理可以参考作者的博客。
本文来自:CSDN
网友评论