posts - 189,comments - 115,trackbacks - 0
          <2010年10月>
          262728293012
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          常用鏈接

          留言簿(35)

          我參與的團隊

          隨筆檔案

          文章分類

          文章檔案

          相冊

          收藏夾

          Android

          BLOGS

          Econormic

          Friend-Blog

          Guitar

          J2ME

          JAVA

          Linux

          Linux_driver

          MUSIC

          MY--BLOG

          NET

          NEWS

          ORACLE

          Project

          SOFT

          STUDY

          Sutra<==>Research

          SVN

          Translate

          Vim

          在線翻譯

          娛樂

          文檔教程

          考研

          裝修

          軟件開發

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          JavaScript實現的3D球面標簽云效果http://topic.csdn.net/u/20101021/10/33959060-2C51-4E15-ABA7-FC770A39E328.html





          效果預覽點這里:http://www.miaov.com/miaov_demo/3dLable/miaov_demo.html
          下載效果點這里:http://www.miaov.com/miaov_demo/3dLable/3dLable.rar


          使用說明:

          一般需要修改的,應該是3D球面的大小,也就是半徑,修改了大小,就可以隨意放進自己頁面的任何地方。

          半徑大小修改:

          下載后,打開 miaov.js 文件,第一行:var radius = 120; 這就是半徑大小值了。

          文字的修改在 miaov_demo.html 文件中,可以任意添加關鍵詞的個數;

          如果希望修改文字顏色、鼠標經過的樣式,可以打開 miaov_style.css 文件,修改相關的樣式即可。

          效果原理:

          制作這個效果需要重新回顧一下高中的數學知識:

          球坐標系
          例如:
          r∈[0,+∞),
          φ∈[0, 2π],
          θ∈[0, π] .
          r = 常數,即以原點為心的球面;
          θ= 常數,即以原點為頂點、z軸為軸的圓錐面;
          φ= 常數,即過z軸的半平面。
          ……
          在這里,我們就不展開講了,由數學老師來說明更合適些^_^
          有興趣的朋友可以看看百度百科的球坐標系原理:http://baike.baidu.com/view/1196991.htm

          關鍵代碼:
          for( var i=1; i<max+1; i++){
            if( distr )
            {
          phi = Math.acos(-1+(2*i-1)/max);
          theta = Math.sqrt(max*Math.PI)*phi;
            }
            else{
          phi = Math.random()*(Math.PI);
          theta = Math.random()*(2*Math.PI);
            }
            //???任
            mcList[i-1].cx = radius * Math.cos(theta)*Math.sin(phi);
           //這里有點疑問,mcList[i-1].cx=radius* Math.cos(phi)*Math.sin(theta);   
            mcList[i-1].cy = radius * Math.sin(theta)*Math.sin(phi);
            mcList[i-1].cz = radius * Math.cos(phi);
          //這里有點疑問,mcList[i-1].cz = radius * Math.cos(theta);

          aA[i-1].style.left=mcList[i-1].cx+oDiv.offsetWidth/2-mcList[i-1].offsetWidth/2+'px';
          aA[i-1].style.top=mcList[i-1].cy+oDiv.offsetHeight/2-mcList[i-1].offsetHeight/2+'px';
          }
          posted on 2010-10-27 09:06 MEYE 閱讀(922) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 高雄市| 甘孜县| 新丰县| 屏边| 皮山县| 安陆市| 离岛区| 东明县| 抚宁县| 富民县| 石柱| 靖宇县| 苍山县| 宁南县| 泾川县| 图木舒克市| 九江市| 安陆市| 肇州县| 南宁市| 来凤县| 明水县| 佳木斯市| 三江| 博乐市| 惠州市| 镶黄旗| 永平县| 县级市| 海宁市| 台江县| 台州市| 景洪市| 依兰县| 万宁市| 凉城县| 宝丰县| 浠水县| 北碚区| 华坪县| 余庆县|