[發明專利]一種基于WebGL的三維晶體結構可視化方法在審
| 申請號: | 202011003353.9 | 申請日: | 2020-09-22 |
| 公開(公告)號: | CN112086147A | 公開(公告)日: | 2020-12-15 |
| 發明(設計)人: | 莫晴;杜云飛;陳品;顏輝;許澤鑫;高森 | 申請(專利權)人: | 中山大學 |
| 主分類號: | G16C20/80 | 分類號: | G16C20/80;G16C60/00;G06F30/12;G06F30/20;G06F113/10 |
| 代理公司: | 廣州粵高專利商標代理有限公司 44102 | 代理人: | 張金福 |
| 地址: | 510260 廣東*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 webgl 三維 晶體結構 可視化 方法 | ||
1.一種基于WebGL的三維晶體結構可視化方法,其特征在于,包括以下步驟:
S1:預設WebGL元數據及three.js模型;
S2:初始化作為可視化對象的網格模型參數;
S3:獲取目標晶體學信息文件,從所述晶體學信息文件中讀取目標晶體的結構信息;
S4:利用所述three.js模型,根據所述目標晶體的結構信息創建分別表示原子、化學鍵、晶體盒子、坐標軸的網格模型;
S5:將創建的分別表示原子、化學鍵、晶體盒子、坐標軸的網格模型保存到網格模型集合中,根據預設的WebGL元數據及three.js模型并通過渲染器將所有網格模型渲染到畫布,完成三維晶體結構可視化。
2.根據權利要求1所述的三維晶體結構可視化方法,其特征在于:所述S1步驟中,預設WebGL元數據及three.js模型的具體步驟包括:
S1.1:預設three.js模型中畫布的尺寸,預設three.js模型中用于輔助展示晶體結構的立方體,以立方體的任一頂點作為原點建立坐標軸;
S1.2:預設three.js模型中場景及渲染器,其中渲染器的大小與畫布大小相等;
S1.3:設置three.js模型中的縮放比,并初始化平移矩陣和旋轉矩陣;
S1.4:設置three.js模型所用相機為正交相機,設置當前相機的參數;當前相機的參數包括:相機視錐體垂直視野角、視錐體的縱橫比、相機離視體積最近距離、相機離視體積最遠距離、相機的目標點;其中視錐體的縱橫比設置為畫布的長寬比;
S1.5:設置用于鼠標拾取的raycaster射線;
S1.6:設置平行光源和環境光源,設定平行光源起點坐標、平行光的燈光衰減距離和環境光的燈光衰減距離。
3.根據權利要求2所述的三維晶體結構可視化方法,其特征在于:所述S2步驟中,所述網格模型參數包括元素屬性、原子屬性、晶體結構屬性;其中:
元素屬性包括元素符號、電子層、是否為金屬元素、價電數、原子質量、共價半徑、CPK配色、可成鍵元素列表;
原子屬性包括分子索引、分子含有的原子數、分子結構渲染到畫布上的縮放比、元素符號的顯示、化學公式、權重;
晶體結構屬性包括晶體數量、晶體盒子所有頂點的位置坐標、晶格常數、空間群名稱、空間群轉換矩陣。
4.根據權利要求3所述的三維晶體結構可視化方法,其特征在于:所述S3步驟中,其具體步驟包括:
S3.1:獲取目標晶體學信息文件,從所述晶體學信息文件中讀取繪制目標晶體所需要的元素屬性、原子屬性、晶體結構屬性數據;
S3.2:根據讀取的數據,設置目標晶體結構晶體盒子的頂點位置坐標,獲取元素屬性以及所有原子的位置坐標,獲取目標晶體結構信息中的空間群類型并通過空間群轉換矩陣進行空間群轉換;
S3.3:遍歷目標晶體結構中所有原子,比較各個原子之間的距離,根據所述各個原子之間的距離判斷是否成鍵,若是,則在該兩個原子之間創建化學鍵。
5.根據權利要求4所述的三維晶體結構可視化方法,其特征在于:所述S3.3步驟中,當原子間距離d滿足成鍵限制條件時,則判斷為原子間成鍵;其中所述成鍵限制條件的表達公式如下:
d≤ri+rj+Δ
其中,d表示原子間距離,ri表示第i個原子的半徑,rj表示第j個原子的半徑,Δ為成鍵閾值。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中山大學,未經中山大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011003353.9/1.html,轉載請聲明來源鉆瓜專利網。





