用纯粹的Javascript做出的3D立方旋转效果

 用纯粹的Javascript做出的3D立方旋转效果:

http://maettig.com/code/javascript/3d_dots.html

震惊!

 

贴源码在此收藏:

  1. <html>
  2. <head>
  3. <title>Rotating 3D Cube in JavaScript</title>
  4. <style type="text/css">
  5. body{
  6.     background:#000;
  7.     color:#FF0;
  8.     height:100%;
  9.     margin:0;
  10.     padding:0;
  11.     width:100%;
  12. }
  13. b{
  14.     position:absolute;
  15. }
  16. a{color:gold;}
  17. a:hover{color:#FF0;}
  18. address{
  19.     font-family:Georgia;
  20.     font-style:normal;
  21.     bottom:10px;
  22.     position:absolute;
  23.     right:10px;
  24.     text-align:right;
  25. }
  26. </style>
  27. </head>
  28. <body onmousemove="a = event.clientX / 99; b = event.clientY / 99;">
  29. <script type="text/javascript">
  30. var dimension = 1;
  31. var a = 0b = 0
  32. var i = 27;
  33. while (i--)
  34. {
  35.     document.write('<b id="l' + i + '">+</b>');
  36. }
  37. function f()
  38. {
  39.     i = 0;
  40.     for (x =- dimension; x <= dimension; x += dimension)
  41.     {
  42.         for (y =- dimension; y <= dimension; y += dimension)
  43.         {
  44.             for (z =- dimension; z <= dimension; z += dimension)
  45.             {
  46.                 u = x;
  47.                 v = y;
  48.                 w = z;
  49.                 uu2 = u * Math.cos(a) - v * Math.sin(a);
  50.                 v2 = u * Math.sin(a) + v * Math.cos(a);
  51.                 ww2 = w;
  52.                 u = u2v = v2w = w2;
  53.                 uu2 = u;
  54.                 vv2 = v * Math.cos(b) - w * Math.sin(b);
  55.                 w2 = v * Math.sin(b) + w * Math.cos(b);
  56.                 u = u2v = v2w = w2;
  57.                 var c = Math.round((w + 2) * 70);
  58.                 if (c < 0c = 0;
  59.                 if (c > 255) c = 255;
  60.                 with (document.all('l' + i).style)
  61.                 {
  62.                     left = 300 + u * (w + 2) * 50;
  63.                     top  = 300 + v * (w + 2) * 50;
  64.                     color = 'rgb(' + c + ', ' + c + ', 0)';
  65.                     fontSize = (w + 2) * 16 + "px";
  66.                 }
  67.                 i++;
  68.             }
  69.         }
  70.     }
  71. }
  72. setInterval('f()', 9);
  73. </script>
  74. Hello World
  75. </body>
  76. </html>

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值