聶雷華
摘 要:隨著互聯(lián)網(wǎng)的日益普及和虛擬現(xiàn)實(shí)技術(shù)的迅猛發(fā)展,應(yīng)用軟件模擬實(shí)驗(yàn)室,成為一種不可阻擋的趨勢(shì)。伴隨著分子模擬和計(jì)算生物學(xué)的發(fā)展,計(jì)算機(jī)分子模擬,現(xiàn)在是一個(gè)炙手可熱的研究方法,已逐步變成與理論研究平行的一種方法。它利用計(jì)算機(jī)來(lái)構(gòu)造、實(shí)現(xiàn)、分析和儲(chǔ)存分子模型,提供直觀的分子立體圖像。隨著Flare3D的不斷發(fā)展,由于該引擎方便的接口和全面的功能,基于Flare3D的3D環(huán)境越發(fā)的成熟全面、功能強(qiáng)大。文章所描述的就是基于Flare3D的DNA分子模型交互功能,通過(guò)ActionScript3.0與Flare3D的結(jié)合,創(chuàng)建一個(gè)虛擬的實(shí)驗(yàn)環(huán)境,在該環(huán)境中可以實(shí)現(xiàn)DNA分子模型的創(chuàng)建、展示。
關(guān)鍵詞:Flare3D;DNA分子模擬;展示
1 引言
分子模擬,是上世紀(jì)80年代興起的一種計(jì)算機(jī)輔助實(shí)驗(yàn)技術(shù),是指利用理論方法與計(jì)算技術(shù),模擬或仿真分子運(yùn)動(dòng)的微觀行為,通過(guò)以原子水平的分子模型來(lái)模擬分子的結(jié)構(gòu)與行為,進(jìn)而模擬分子體系的各種物理化學(xué)性質(zhì),廣泛的應(yīng)用于計(jì)算化學(xué),計(jì)算生物學(xué),材料科學(xué)領(lǐng)域,小至單個(gè)化學(xué)分子,大至復(fù)雜生物體系或材料體系都可以是它用來(lái)研個(gè)小的對(duì)象。其研究成果可以用于教學(xué)方面,對(duì)于DNA分子的介紹和認(rèn)識(shí),以及對(duì)DNA分子結(jié)構(gòu)的深入了解都有所幫助,可以免去制作實(shí)體模型的過(guò)程,降低成本,還可以模擬一些簡(jiǎn)單的實(shí)驗(yàn),從而能減少在實(shí)驗(yàn)室中進(jìn)行真實(shí)實(shí)驗(yàn)所帶來(lái)的時(shí)間長(zhǎng)、成本高、危險(xiǎn)大等問(wèn)題。
2 相關(guān)研究工作綜述
Flare3D 是一個(gè)可以創(chuàng)建基于Adobe Flash 的交互式3D內(nèi)容的平臺(tái)。它具有強(qiáng)大的渲染引擎和直觀的集成開(kāi)發(fā)環(huán)境,是一款功能強(qiáng)大的3D引擎。Flare3D具有強(qiáng)大的類(lèi)庫(kù),里面的功能非常全面,同時(shí)再配合上它與3DS MAX的完美結(jié)合,足以讓我們創(chuàng)建一個(gè)完美的三維空間。Flash作為普及率最高的平臺(tái),短小精悍,能夠在各種瀏覽器、操作系統(tǒng)和移動(dòng)設(shè)備上使用,功能強(qiáng)大,兼容性高。Flash被稱(chēng)為是“最具靈活性的前臺(tái)”,ActionScript是Adobe的Flash平臺(tái)的官方編程語(yǔ)言,用于為Web、移動(dòng)設(shè)備和桌面計(jì)算機(jī)創(chuàng)建內(nèi)容和應(yīng)用程序,可以被許多不同的制作者用于許多不同的途徑。利用Flare3D為Flash創(chuàng)建的內(nèi)容無(wú)需任何額外的插件,可直接通過(guò)Flash呈現(xiàn)出來(lái)。而且Flare3D可以與ActionScript3.0完全結(jié)合,所以通過(guò)Flare3D創(chuàng)建的基于Flash的場(chǎng)景及3D內(nèi)容,可以在ActionScript3.0的協(xié)調(diào)下,契合而便捷的通過(guò)網(wǎng)絡(luò)展現(xiàn)在用戶(hù)面前。
3 本文的技術(shù)路線
首先要為其提供一個(gè)可以呈現(xiàn)對(duì)象并對(duì)目標(biāo)可以實(shí)施操作的一個(gè)3D舞臺(tái)。通過(guò)SWF創(chuàng)建3D場(chǎng)景,然后在其中用private var scene:Scene3D;創(chuàng)建一個(gè)作為我們所有對(duì)象的基本容器。有了舞臺(tái)之后就開(kāi)始考慮模型了。Flare3D可以與3DS MAX很好的結(jié)合做出非常逼真的模型,可以將兩者的優(yōu)勢(shì)最大化。在這里我們只用3DS MAX做好幾個(gè)常用的基本模型,然后通過(guò)Flare3D將其組合起來(lái)形成DNA分子。做好的這些模型以.f3d的形式存在數(shù)據(jù)庫(kù)里,使用時(shí)只需要在需要之時(shí)通過(guò)簡(jiǎn)單的代碼將其加載到舞臺(tái)中即可。Var singleBase:Pivot3D=scene.addChildFromFile(“singleBase.f3d”);
basePair模型為我們創(chuàng)建DNA分子的基本元素,通過(guò)對(duì)該元素的按坐標(biāo)加載可以構(gòu)建出一個(gè)完整的DNA鏈段。首先我們要選擇坐標(biāo),此坐標(biāo)原點(diǎn)即為分子最低層堿基對(duì)的中心位置,以此點(diǎn)為中心向上延伸并旋轉(zhuǎn)從而構(gòu)建出DNA分子。加載了堿基對(duì)元素,并設(shè)置了其坐標(biāo)以及角度,并將它添加到舞臺(tái)中從而可以顯示出來(lái)。Position為對(duì)象的坐標(biāo)原點(diǎn),也就是對(duì)象的幾何中心所在的位置。在確定了整個(gè)DNA分子的坐標(biāo)原點(diǎn)(也就是第一個(gè)堿基對(duì)的坐標(biāo)原點(diǎn))之后,后面每個(gè)新加載的堿基對(duì)都是在原基礎(chǔ)上上升15個(gè)坐標(biāo),即Z軸坐標(biāo)值增加15,同時(shí)Rotate為目標(biāo)的旋轉(zhuǎn)角度,rotateY說(shuō)明目標(biāo)是圍繞Y軸旋轉(zhuǎn)15度。為所有的堿基對(duì)元素設(shè)置一個(gè)整體CONTAINER容器,使其可以作為一個(gè)整體響應(yīng)操作之后,就可以進(jìn)行下一步的展示工作了。
在舞臺(tái)中已經(jīng)有了對(duì)象,想要讓對(duì)象通過(guò)旋轉(zhuǎn)的方式將結(jié)構(gòu)呈現(xiàn)給用戶(hù)時(shí),可以為其添加一個(gè)舞臺(tái)繞指定軸旋轉(zhuǎn)的功能:
var _parent:Pivot3D = new Pivot3D();
camera.parent = this._parent;
if(Input3D.keyDown(Input3D.R))_parent.rotateY(1);
如此設(shè)置之后,若想要展示分子的結(jié)構(gòu),只需按住R鍵,整個(gè)場(chǎng)景便會(huì)圍繞Y軸以每秒一度的速度旋轉(zhuǎn)。
4 結(jié)束語(yǔ)
本文提出了一種基于Flare3D的DNA分子的模型模擬以及展示的功能,用于創(chuàng)建3D的DNA分子模型,并將其以旋轉(zhuǎn)的形式展現(xiàn)給用戶(hù)??捎糜诮虒W(xué)中對(duì)于DNA分子機(jī)構(gòu)更深刻的理解和認(rèn)識(shí)。在此研究基礎(chǔ)上,可以為模型添加更多互動(dòng)功能從而達(dá)到模擬實(shí)驗(yàn)室的功能,使得研究可以更全面的為科研工作提供便利。
參考文獻(xiàn)
[1]付偉忠,張運(yùn)陶,程正軍.基于Flash的無(wú)機(jī)晶體模型程序編制及其應(yīng)用[J].西華師范大學(xué)學(xué)報(bào),2009,30(2):169-174.
[2]崔波,王艷華.用flash制作三維分子模型[J].計(jì)算機(jī)與應(yīng)用化學(xué),2004,(4):623-626.
[3]李昌國(guó),朱福全,楊宇科.基于WEB的三維虛擬分子實(shí)驗(yàn)室的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2011,28(8):173-176.
[4]an open-source Java viewer for chemical structures in 3D: http://jmol.sourceforge.net/.