[發(fā)明專利]一種基于WebGL的三維晶體結(jié)構(gòu)可視化方法在審
| 申請?zhí)枺?/td> | 202011003353.9 | 申請日: | 2020-09-22 |
| 公開(公告)號: | CN112086147A | 公開(公告)日: | 2020-12-15 |
| 發(fā)明(設(shè)計)人: | 莫晴;杜云飛;陳品;顏輝;許澤鑫;高森 | 申請(專利權(quán))人: | 中山大學(xué) |
| 主分類號: | G16C20/80 | 分類號: | G16C20/80;G16C60/00;G06F30/12;G06F30/20;G06F113/10 |
| 代理公司: | 廣州粵高專利商標(biāo)代理有限公司 44102 | 代理人: | 張金福 |
| 地址: | 510260 廣東*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 webgl 三維 晶體結(jié)構(gòu) 可視化 方法 | ||
本發(fā)明為解決現(xiàn)有三維材料可視化技術(shù)中沒有考慮到周期性晶體結(jié)構(gòu)的結(jié)構(gòu)可視化特征的缺陷,提出一種基于WebGL的三維晶體結(jié)構(gòu)可視化方法,包括以下步驟:預(yù)設(shè)WebGL元數(shù)據(jù)及three.js模型;初始化作為可視化對象的網(wǎng)格模型參數(shù);獲取目標(biāo)晶體學(xué)信息文件,從晶體學(xué)信息文件中讀取目標(biāo)晶體的結(jié)構(gòu)信息;利用three.js模型,根據(jù)目標(biāo)晶體的結(jié)構(gòu)信息創(chuàng)建分別表示原子、化學(xué)鍵、晶體盒子、坐標(biāo)軸的網(wǎng)格模型;將創(chuàng)建的分別表示原子、化學(xué)鍵、晶體盒子、坐標(biāo)軸的網(wǎng)格模型保存到網(wǎng)格模型集合中,根據(jù)預(yù)設(shè)的WebGL元數(shù)據(jù)及three.js模型并通過渲染器將所有網(wǎng)格模型渲染到畫布,完成三維晶體結(jié)構(gòu)可視化。
技術(shù)領(lǐng)域
本發(fā)明涉及三維仿真技術(shù)領(lǐng)域,更具體地,涉及一種基于WebGL的三維晶體結(jié)構(gòu)可視化方法。
背景技術(shù)
在材料科學(xué)與工程學(xué)科中,晶體結(jié)構(gòu)占據(jù)著至關(guān)重要的地位,為了詳細(xì)地描述和展示材料的晶體結(jié)構(gòu),需要對其進(jìn)行可視化。目前用于晶體結(jié)構(gòu)可視化的軟件主要包括Material Studio,VESTA,VMD等。
WebGL(Web Graphics Library,Web圖形庫)是將JavaScript和OpenGLES2.0結(jié)合在一起而形成的基于OpenGL的網(wǎng)頁繪圖標(biāo)準(zhǔn),WebGL最大的便利之處是免去了為瀏覽器安裝外部插件的麻煩,能夠利用GPU加速處理圖像。Three.js是一款運(yùn)行在瀏覽器中的3D引擎,通過使用Three.js可以直接在網(wǎng)頁端渲染三維模型和動畫效果,在網(wǎng)頁端實(shí)現(xiàn)快速加載并渲染出高品質(zhì)的三維模型,以及實(shí)現(xiàn)真實(shí)感較強(qiáng)的三維模型動畫運(yùn)動效果。如公開號為CN109493404A(公開日為2019-03-19)提出的三維渲染方法及裝置,能夠?qū)崿F(xiàn)將晶體結(jié)構(gòu)進(jìn)行三維可視化。
然而,目前利用WebGL和HTML5實(shí)現(xiàn)三維材料可視化的技術(shù)主要針對非周期性小分子結(jié)構(gòu)進(jìn)行開發(fā),沒有考慮到周期性晶體結(jié)構(gòu)的結(jié)構(gòu)可視化特征,無法全面展示晶體結(jié)構(gòu)的可視化特征。
發(fā)明內(nèi)容
本發(fā)明為克服上述現(xiàn)有技術(shù)所述的三維材料可視化技術(shù)中沒有考慮到周期性晶體結(jié)構(gòu)的結(jié)構(gòu)可視化特征的缺陷,提供一種基于WebGL的三維晶體結(jié)構(gòu)可視化方法。
為解決上述技術(shù)問題,本發(fā)明的技術(shù)方案如下:
一種基于WebGL的三維晶體結(jié)構(gòu)可視化方法,包括以下步驟:
S1:預(yù)設(shè)WebGL元數(shù)據(jù)及three.js模型;
S2:初始化作為可視化對象的網(wǎng)格模型參數(shù);
S3:獲取目標(biāo)晶體學(xué)信息文件,從晶體學(xué)信息文件中讀取目標(biāo)晶體的結(jié)構(gòu)信息;
S4:利用three.js模型,根據(jù)目標(biāo)晶體的結(jié)構(gòu)信息創(chuàng)建分別表示原子、化學(xué)鍵、晶體盒子、坐標(biāo)軸的網(wǎng)格模型;
S5:將創(chuàng)建的分別表示原子、化學(xué)鍵、晶體盒子、坐標(biāo)軸的網(wǎng)格模型保存到網(wǎng)格模型集合中,根據(jù)預(yù)設(shè)的WebGL元數(shù)據(jù)及three.js模型并通過渲染器將所有網(wǎng)格模型渲染到畫布,完成三維晶體結(jié)構(gòu)可視化。
優(yōu)選地,S1步驟中,預(yù)設(shè)WebGL元數(shù)據(jù)及three.js模型的具體步驟包括:
S1.1:預(yù)設(shè)three.js模型中畫布的尺寸,預(yù)設(shè)three.js模型中用于輔助展示晶體結(jié)構(gòu)的立方體,以立方體的任一頂點(diǎn)作為原點(diǎn)建立坐標(biāo)軸;
S1.2:預(yù)設(shè)three.js模型中場景及渲染器,其中渲染器的大小與畫布大小相等;
S1.3:設(shè)置three.js模型中的縮放比,并初始化平移矩陣和旋轉(zhuǎn)矩陣;
S1.4:設(shè)置three.js模型所用相機(jī)為正交相機(jī),設(shè)置當(dāng)前相機(jī)的參數(shù);當(dāng)前相機(jī)的參數(shù)包括:相機(jī)視錐體垂直視野角、視錐體的縱橫比、相機(jī)離視體積最近距離、相機(jī)離視體積最遠(yuǎn)距離、相機(jī)的目標(biāo)點(diǎn);其中視錐體的縱橫比設(shè)置為畫布的長寬比;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中山大學(xué),未經(jīng)中山大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011003353.9/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 一種三維彩色物品制作方法
- 三維內(nèi)容顯示的方法、裝置和系統(tǒng)
- 三維對象搜索方法、裝置及系統(tǒng)
- 三維會話數(shù)據(jù)展示方法、裝置、存儲介質(zhì)和計算機(jī)設(shè)備
- 一種三維模型處理方法、裝置、計算機(jī)設(shè)備和存儲介質(zhì)
- 用于基于分布式賬本技術(shù)的三維打印的去中心化供應(yīng)鏈
- 標(biāo)記數(shù)據(jù)的獲取方法及裝置、訓(xùn)練方法及裝置、醫(yī)療設(shè)備
- 一種基于5G網(wǎng)絡(luò)的光場三維浸入式體驗(yàn)信息傳輸方法及系統(tǒng)
- 用于機(jī)器人生產(chǎn)系統(tǒng)仿真的三維場景管理與文件存儲方法
- 基于三維形狀知識圖譜的三維模型檢索方法及裝置





