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