日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

TWaver版3D化学元素周期表

發布時間:2025/5/22 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 TWaver版3D化学元素周期表 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

很早就有人做3D網頁版的化學元素周期表了,酷炫效果和新鮮技巧一度被眾多粉絲奉為神明,爭相研究和效仿。甚至有人放棄一切撲向這顆蠟燭,不由總是想到那個OPPO廣告女主角拽拽的鄙視道:“辭職去旅游!你敢嗎?”

俺不敢,不過用TWaver做一個也沒用幾個小時。所以就老在想:不就旅個游么,至于嘛?

這個3D元素周期表做了一些改進:卡片上增加了漢字及拼音讀音,原因你懂得——各位程序猿沒幾個敢大聲讀這些漢字的。還好每個字的主要部分還大都認識,多少可以小聲蒙一下,加上拼音就少了許多尷尬。另外在形狀布局和特效上也豐富了一點,具體可以看下方視頻連接。

技術上來說,用TWaver 3D來做的思路略有不同。最開始網上這個程序是使用HTML5、CSS3、WebGL、THREE.js、TWEEN.js等技術做的。使用TWaver就不用這么麻煩了,直接一個mono.js就差不多搞定了。技術上依舊是WebGL+js,但沒有使用CSS3和其他框架。效果和效率都很好。

實現上難度不大,大概思路如下:

  • 用數組定義好化學元素周期表的數據。包括編號、漢字、拼音、數值、英文等等。然后在內存中動態生成每個元素對應的圖片卡,并轉成base64格式的內存url字符串。注意圖片的格式、透明度、顏色等細節;
  • 為每個化學元素new一個3D立方體,并把內存圖片貼圖到立方體正面。立方體的厚度0就行了,其他面都透明即可;
  • 監聽鼠標事件。當鼠標over每個物體時,讓立方體發光;點擊物體時,讓立方體動畫反轉一圈;
  • 計算好幾個形狀布局對應的空間坐標,并事先記錄到每個立方體的client屬性表中。例如:node.setClient(‘grid’,{x:100,y:340});
  • 放幾個按鈕,每個按鈕點擊后,讓所有的立方體到對應的形狀的位置上去,同時啟用動畫機制;
  • 實際代碼中,也要留意一些注意事項:

  • 動畫:當第一次動畫尚未執行完畢,用戶又點擊其他按鈕執行新動畫時,需要先判斷當前有無正在運行的動畫,并及時讓動畫停止。同時還要判斷是否需要把數值恢復成初始值或動畫正常結束所設定的值。這里如不仔細處理,可能會導致動畫將卡片的位置、角度錯亂。
  • 布局:球形、螺旋、隨機等空間點其實都很好計算。尤其球形布局,開始大家可能會去尋找“在一個半徑為r的球形表面均勻散布n個點,求每個點的坐標?”這樣的題目。這樣就把問題復雜化了。因為簡單的視覺布局并不需要特別嚴謹的位置數值,所以大致把球進行徑向和橫向切片進行數值插入即可;
  • 貼圖:最開始,我們可能會覺得程序是使用了100張小圖片進行貼圖。但實際上,由于每個卡片的區別僅僅是文字,所以完全可以在內存動態生成。這樣速度快節省了網絡下載圖片的時間以及維護圖片的麻煩,同時文字和圖片等樣式也更容易控制。這也都是HTML5的canvas技術為大家帶來的好處。
  • 物體朝向:在布局過程中,每個卡片的旋轉和朝向是一個要考慮的問題。例如球形,每個卡片要面向球形圓心發射線的外方向,螺旋形卡片則朝向水平外方向,等等。計算這些坐標和角度需要很多數學運算,光是求坐標系和直角坐標系轉換之類的就夠大家忙活一陣子了。而用TWaver就簡單了:每個物體直接lookAt一個點就行了。例如球形卡片,每幀動畫只要執行:node.lookAt(0,0,0)就行了,對嗎?還不完全對。這樣lookAt到中心點,不就“屁股”朝外了嗎?用戶看到的字是卡片的背面,是反的。要解決也簡單,應當讓它lookAt自己坐標兩倍的地方,也就是圓心放射線的外面:node.lookAt(x*2, y*2, z*2),這樣就對了。
  • 發光。鼠標over每個物體,都會看到發光。而鼠標over在光暈位置,卻不會觸發over事件。這是怎么做到的呢?其實也是小技倆,大家可以看看程序,自己研究吧。
  • 生成內存圖片代碼片段:

    1var url = canvas.toDataURL("image/png");
    2node.setStyle('front.m.texture.image',url);

    球形布局坐標計算代碼片段:

    1var radius=1000;
    2var phi = Math.acos( -1?+ (?2?* index ) / total );
    3var theta = Math.sqrt( total * Math.PI ) * phi;
    4var x = radius * Math.cos( theta ) * Math.sin( phi );
    5var y = radius * Math.sin( theta ) * Math.sin( phi );
    6var z = radius * Math.cos( phi );

    程序和源代碼都已經在TWaver的MONO DESIGN產品中,感興趣的朋友可以登錄在線網址www.mono-design.cn或下載產品包。趕緊試試吧!

    ?







    ?

    去優酷欣賞一下TWaver 3D元素周期表視頻吧:

    http://v.youku.com/v_show/id_XNzM4OTAzODY0.html

    轉載于:https://www.cnblogs.com/twaver/p/3842177.html

    總結

    以上是生活随笔為你收集整理的TWaver版3D化学元素周期表的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 无码内射中文字幕岛国片 | 免费看60分钟黄视频 | 国产精品九九热 | 黄色录像一级大片 | 亚洲精品少妇一区二区 | 进去里在线观看 | 日韩片在线 | 黄色a级片在线观看 | 香蕉茄子视频 | 在线观看免费视频a | 涩五月婷婷 | 就要操就要射 | 日韩大胆视频 | 97在线观看免费高清 | 国产欧美久久一区二区三区 | 男人天堂视频在线观看 | 亚洲欧美一区在线 | 国产无毛片 | 日韩中文字幕一区二区三区 | 福利电影一区二区 | 四虎影院免费视频 | 波多野结衣视频一区二区 | 日韩在线看片 | 色综合久久88 | 久久久久逼 | 中文字幕一区二区三 | 麻豆黄色网址 | 麻豆天天躁天天揉揉av | 国产97色在线 | 日韩 | 高清av一区二区 | 韩国三级一区 | 免费在线小视频 | 久艹av | 亚洲va欧美va天堂v国产综合 | 青青青操 | 在线观看亚洲精品视频 | 特级精品毛片免费观看 | 亚洲一区二区三区四区五区六区 | 香蕉av网| 超碰夫妻 | 久久久久久久穴 | 二三区视频 | 欧美精品久久久久久久多人混战 | 伊人二区 | 人人妻人人玩人人澡人人爽 | 精品不卡一区 | 日本黄动漫 | 天天色天天搞 | 久久久久久激情 | 蜜桃视频无码区在线观看 | 黄网在线免费 | 91爱爱.com| 污污视频网站在线免费观看 | 国产欧美日韩一区二区三区 | 久久久久久欧美精品se一二三四 | 黑人精品一区二区三区 | 中日精品一色哟哟 | 日本做爰全过程免费看 | 无码人妻丰满熟妇啪啪欧美 | 哺乳援交吃奶在线播放 | 午夜视频免费看 | 国产福利91精品一区二区三区 | 美女扒开腿让男生桶 | 97干视频| 精品探花 | 国产麻豆精品一区二区 | 蜜臀视频在线观看 | 久久久久久毛片 | 久热久色 | 亚洲一区,二区 | 午夜影院在线观看视频 | 欧美激情欧美激情在线五月 | ass极品国模人体欣赏 | 黄色国产视频 | 粉色视频免费观看 | 国产强伦人妻毛片 | 欧美一区二区三区黄片 | 精品少妇一区二区三区免费观 | 亚洲国产精品一 | 日本性爱动漫 | 老师的肉丝玉足夹茎 | 国产成人麻豆精品午夜在线 | 伊人青草| 亚洲久久色 | 国产激情视频在线观看 | 在线观看你懂的网址 | 91av视频网| 伊人9 | 91精品国产91久久久久久吃药 | caoporn国产| 人妻精品久久久久中文字幕69 | 爱草在线视频 | 日韩一级片视频 | 天堂av中文| www污网站 | 欧美性猛交xxxx乱 | 99热亚洲精品 | 亚洲高清中文字幕 | 日韩欧美一区二区三区视频 |