三維仿真范文

時(shí)間:2023-03-28 08:30:32

導(dǎo)語:如何才能寫好一篇三維仿真,這就需要搜集整理更多的資料和文獻(xiàn),歡迎閱讀由公務(wù)員之家整理的十篇范文,供你借鑒。

三維仿真

篇1

【關(guān)鍵字】UG;五軸數(shù)控加工;加工仿真

現(xiàn)階段,使用的五軸數(shù)控仿真系統(tǒng)通常只有二維動(dòng)畫仿真,且整個(gè)仿真系統(tǒng)的幾何功能有所限制,加工零件和機(jī)床模型必須借助其他CAD軟件才能建模,整個(gè)模型的仿真精度不高。基于UG軟件創(chuàng)建五軸數(shù)控機(jī)床仿真模型,能夠準(zhǔn)確讀出數(shù)控代碼,并為機(jī)床的各個(gè)部件實(shí)施三維仿真,同時(shí)對(duì)零件加工環(huán)節(jié)機(jī)床各部件之間的干涉進(jìn)行檢查,為合理修改刀具軌跡提供可靠依據(jù),避免因文件格式轉(zhuǎn)化導(dǎo)致仿真精度降低的情況。

創(chuàng)建三維仿真系統(tǒng)的步驟

(一)仿真系統(tǒng)工作流程

三維仿真環(huán)境是基于計(jì)算機(jī)虛擬系統(tǒng)中,以不消耗能源和資源真實(shí)加工系統(tǒng)的映射,虛擬環(huán)境的操作應(yīng)于實(shí)際加工系統(tǒng)所具備的功能相互一致。五坐標(biāo)數(shù)控機(jī)床建立的仿真系統(tǒng)具體流程如圖1.五坐標(biāo)聯(lián)動(dòng)機(jī)床進(jìn)行加工的零件極為管飯干,可以綜合考慮工件、道具等物品的外形、參數(shù)的變化,通過裝配的形式把制作的CAD模型加入仿真系統(tǒng)內(nèi),從而提升仿真系統(tǒng)的靈活性。用戶依照實(shí)際加工操作基于UG環(huán)境下創(chuàng)建刀具、工件等模型,進(jìn)一步方便對(duì)這些模型的尺寸進(jìn)行修改,在仿真系統(tǒng)的操作直視下,用戶只要挑選最佳的部件和位置,

就能把工件、夾具等模型裝配至仿真系統(tǒng)的模板文件內(nèi)。

Y

N

N

Y

N

圖1 仿真系統(tǒng)程序具體流程圖

初始化仿真環(huán)境

建立合理的仿真模型之后,應(yīng)對(duì)UG環(huán)境展開初始化操作,隨之進(jìn)入運(yùn)動(dòng)分析模塊。為了方便在仿真系統(tǒng)內(nèi)合理控制機(jī)床的各個(gè)運(yùn)動(dòng)部件,在開展仿真操作前要對(duì)機(jī)床模型中的幾何體實(shí)施遍歷,隨后獲得相關(guān)幾何體的指針。

解釋NC代碼語義

基于NC代碼對(duì)整個(gè)機(jī)床加工環(huán)節(jié)進(jìn)行仿真操作,必須準(zhǔn)確解釋機(jī)床NC代表的意義,把代碼指令進(jìn)行轉(zhuǎn)化,從而得到機(jī)床不同軸的聯(lián)動(dòng)運(yùn)動(dòng)。機(jī)床NC代碼是由大量繁亂的機(jī)床運(yùn)動(dòng)指令組成,每次讀取的代碼都必須進(jìn)行語義解釋,從而把NC代碼內(nèi)有用的控制命令和數(shù)據(jù)轉(zhuǎn)換為機(jī)床各個(gè)軸的位移。

基于三維造型仿真加工過程

使用三維實(shí)體造型的辦法,能在仿真環(huán)境內(nèi)更改不同的視角并無需重新進(jìn)行計(jì)算,準(zhǔn)確表示刀具與工件之間的幾何關(guān)系和位置。把NC代碼予以轉(zhuǎn)化成各個(gè)軸的位移,并對(duì)其運(yùn)動(dòng)情況實(shí)施仿真操作。在三維造型中把動(dòng)畫一幀幀的展示出來,并保存到UG后臺(tái)數(shù)據(jù)庫(kù)內(nèi)。經(jīng)過存儲(chǔ)的仿真動(dòng)畫能夠反復(fù)回放,可以根據(jù)各行的NC代碼依次顯示,實(shí)際顯示時(shí)可以進(jìn)行放大、縮小及變換視角等操作?;谌S造型對(duì)整個(gè)加工環(huán)節(jié)進(jìn)行仿真操作,能夠準(zhǔn)確展現(xiàn)出空間內(nèi)實(shí)體之間的位置關(guān)系,三維效果非常好。

干涉檢查仿真過程

對(duì)仿真過程進(jìn)行干涉和檢查操作,主要是對(duì)加工操作中刀具、夾具、刀柄與工件之間進(jìn)行干涉。因整個(gè)仿真過程采用三維實(shí)體造型的模式,因此干涉檢查就是對(duì)機(jī)床模型運(yùn)動(dòng)時(shí)是否相交進(jìn)行判斷。采用模型的幾何體指針,對(duì)加工環(huán)節(jié)內(nèi)可能出現(xiàn)的干涉部件其位置關(guān)系展開檢查計(jì)算。如果運(yùn)動(dòng)部件遭到干涉,創(chuàng)建干涉產(chǎn)生的實(shí)體,并通過UG系統(tǒng)獲取干涉部位的深度、體積等相關(guān)信息,并輸出形成干涉效果的NC代碼,為合理修改刀具軌跡提供可靠依據(jù)。

五坐標(biāo)機(jī)床仿真系統(tǒng)實(shí)現(xiàn)

文中以五坐標(biāo)聯(lián)動(dòng)機(jī)床為研究對(duì)象,為該機(jī)床建立仿真模型,同時(shí)為三元葉輪的銑削加工環(huán)節(jié)實(shí)施仿真操作。整體式三元葉輪形狀非常復(fù)雜,具有大量的約束條件,因此加工難度較大,這是五軸數(shù)控加工操作中獨(dú)具代表性的零件。根據(jù)數(shù)控機(jī)床具體的傳動(dòng)尺寸,基于UG環(huán)境創(chuàng)建仿真模型,對(duì)機(jī)床各個(gè)軸的運(yùn)動(dòng)方向及副作性質(zhì)進(jìn)行設(shè)定,同時(shí)把建立的模型存儲(chǔ)為模板文件。五坐標(biāo)聯(lián)動(dòng)機(jī)床的運(yùn)動(dòng)軸是由2個(gè)轉(zhuǎn)動(dòng)軸,和三個(gè)移動(dòng)軸組合而成。根據(jù)實(shí)際機(jī)床部件的具體尺寸,使用UG/Modeling模塊為機(jī)床部件創(chuàng)建各自的實(shí)體模型,隨后使用UG/Assemblies模塊把不同部件進(jìn)行裝配操作,從而形成完整的實(shí)體模型。在UG/Motion運(yùn)動(dòng)分析模塊挑選工作臺(tái)等機(jī)床部件定義成連桿,移動(dòng)副由機(jī)床的X、Y、Z軸定義,B、C軸表示轉(zhuǎn)動(dòng)副,根據(jù)設(shè)定的機(jī)床傳動(dòng)軸運(yùn)動(dòng)方向進(jìn)行操作,同時(shí)設(shè)定運(yùn)動(dòng)副其驅(qū)動(dòng)方式是Articulation。對(duì)仿真完成的機(jī)床模型進(jìn)行保存,就能加載各類工件、刀具及夾具,如此采用同個(gè)機(jī)床對(duì)各類工件進(jìn)行加工時(shí),不需要反復(fù)創(chuàng)建仿真模型。通過UF_UI_FILENAME函數(shù)彈出的對(duì)話框,挑選應(yīng)該裝配的部件,同時(shí)輸入待裝部件的位置,采用UF_ASSEM_assembly函數(shù)對(duì)部件進(jìn)行裝配,并把部件實(shí)體指針設(shè)置為運(yùn)動(dòng)副。若裝配部件有必須隱藏的地方,可通過UG中Blank命令對(duì)其進(jìn)行隱藏操作。

【結(jié)束語】:總之,基于UG建立的數(shù)控加工仿真模型,可以對(duì)整個(gè)加工過程機(jī)床干涉情況進(jìn)行檢查,為合理修改刀位提供有效依據(jù),提升整個(gè)數(shù)據(jù)加工的工作效率,具有優(yōu)良的實(shí)用性。

【參考文獻(xiàn)】

[1] 范蓉.整體葉輪曲面造型及數(shù)控加工仿真研究[J].中國(guó)機(jī)械,2013,(6):102-103.

[2] 章芳芳.基于Vericut的車削中心仿真系統(tǒng)研究[J].科技視界,2013,(28):180-180.

[3] 丁剛強(qiáng).整體葉輪五軸數(shù)控加工技術(shù)的研究[J].制造技術(shù)與機(jī)床,2013,(4):100-103.

篇2

關(guān)鍵詞:數(shù)控機(jī)床;仿真系統(tǒng);三維建模

0 引言

所謂數(shù)控,是數(shù)字控制的簡(jiǎn)稱,其指的是就是建立在數(shù)字化信息技術(shù)的基礎(chǔ)上,完成對(duì)機(jī)械運(yùn)動(dòng)設(shè)備以及加工設(shè)備的數(shù)字控制,實(shí)現(xiàn)自動(dòng)化操作和管理。而數(shù)控仿真系統(tǒng),其就是通過在數(shù)控技術(shù)的基礎(chǔ)上,完成對(duì)真實(shí)數(shù)控機(jī)床的作業(yè)的流程和操作環(huán)節(jié)進(jìn)行模擬,并結(jié)合編程技術(shù)實(shí)現(xiàn)對(duì)數(shù)控機(jī)床實(shí)現(xiàn)全自動(dòng)化操作,并在構(gòu)建數(shù)控仿真系統(tǒng)的基礎(chǔ)上提高操作人員或者編程人員的工作效率。

1 建模思路

在三維建模的過程中,其具體對(duì)象為數(shù)控機(jī)床,通過利用幾何原理、空間點(diǎn)離散原理以及數(shù)控仿真系統(tǒng)的構(gòu)建原理,來整理出如下建模思路:

第一,數(shù)控機(jī)床的本體建立三維模型。以基本硬件設(shè)備為基礎(chǔ),從宏觀構(gòu)建到微觀零部件的角度完成建模思路的規(guī)劃,并結(jié)合旋轉(zhuǎn)模型對(duì)數(shù)控機(jī)床的真實(shí)操作狀態(tài)進(jìn)行規(guī)則化比對(duì),從而能夠更加清晰和直觀地描述出數(shù)控機(jī)床的本體。第二,數(shù)控機(jī)床加工過程中的動(dòng)態(tài)建模。利用NC碼進(jìn)行實(shí)施監(jiān)控與描寫,提取每個(gè)時(shí)間點(diǎn)的運(yùn)動(dòng)軌跡和幾何定位點(diǎn)[1]。

2 建模過程

2.1 數(shù)控機(jī)床本體的三維建模

在數(shù)控機(jī)床仿真系統(tǒng)的構(gòu)建過程中,通過利用三維建模中的CSG建模理念,使數(shù)控機(jī)床仿真系統(tǒng)的總體構(gòu)建趨于多層次化和多結(jié)構(gòu)化。并在三維建模的基礎(chǔ)上將復(fù)雜、繁瑣建模過程轉(zhuǎn)化為更加清晰、更加明了的簡(jiǎn)易結(jié)構(gòu),從而在簡(jiǎn)易結(jié)構(gòu)的基礎(chǔ)上完成簡(jiǎn)單形體的建模組合,實(shí)現(xiàn)數(shù)控機(jī)床仿真系統(tǒng)的模型構(gòu)建。在數(shù)控機(jī)床本文的三維建模中,其具體的建模方法為[3]:

首先,以數(shù)控機(jī)床的操作規(guī)則為基本原則,以實(shí)際具體的工作狀態(tài)進(jìn)行真實(shí)模擬。在理想狀態(tài)的環(huán)境中忽略數(shù)控機(jī)床內(nèi)部的傳動(dòng)裝置與后備服務(wù)裝置,從而在最大程度的簡(jiǎn)化內(nèi)部要素的結(jié)構(gòu),實(shí)現(xiàn)三維模型構(gòu)建的程序化。其次,利用三維理念對(duì)數(shù)控機(jī)床的幾何結(jié)構(gòu)與物理結(jié)構(gòu)進(jìn)行區(qū)分和劃分,對(duì)每種結(jié)構(gòu)的內(nèi)部構(gòu)造層層細(xì)分,在宏觀環(huán)境下對(duì)微觀因素按照相似性規(guī)則進(jìn)行詳細(xì)區(qū)分,并利用三維維度進(jìn)行簡(jiǎn)化處理,降低數(shù)控機(jī)床仿真系統(tǒng)構(gòu)建的難度和復(fù)雜度。最后,通過利用三維建模數(shù)據(jù)庫(kù)中的幾何實(shí)體進(jìn)行模型構(gòu)建,將具體的立方體、圓柱體以及圓環(huán)體等做種幾何立體模型與數(shù)據(jù)庫(kù)中的具體數(shù)據(jù)進(jìn)行比對(duì)和配對(duì),在數(shù)控技術(shù)的基礎(chǔ)上實(shí)現(xiàn)最優(yōu)化組合。與此同時(shí),采用方差計(jì)算的方式使組合的計(jì)算結(jié)果更加精確,立足于OpenGL軟件內(nèi)部強(qiáng)大的三維圖型庫(kù),找到最符合數(shù)控機(jī)床本體的最佳三維模型,從而完成機(jī)床本體的三維建模工作。

2.2 加工過程的動(dòng)態(tài)仿真三維建模

在數(shù)控機(jī)床的加工過程中,為了使數(shù)控仿真系統(tǒng)的動(dòng)態(tài)性能實(shí)現(xiàn)最優(yōu)化發(fā)展,通過利用三維建模中的空間離散法,來促使數(shù)控機(jī)床在加工過程中的數(shù)控仿真系統(tǒng)構(gòu)建的更為精確和高效。在空間離散法的運(yùn)用下,要將數(shù)控機(jī)床內(nèi)部的空間物體轉(zhuǎn)換為不同三維位置的“空間點(diǎn)”,并對(duì)這些“點(diǎn)”進(jìn)行均勻布陣,按照這些“點(diǎn)”分布的具體線條關(guān)系連結(jié)成三角片矩陣,從而形成了初步的三維建模。當(dāng)程序處于運(yùn)行的過程中,要不斷按照真實(shí)的路徑進(jìn)行重新描寫,并對(duì)這些“點(diǎn)”的真實(shí)屬性進(jìn)行程序化渲染,從而保證數(shù)控仿真系統(tǒng)運(yùn)作狀態(tài)的自身“分析”能力更加準(zhǔn)確無誤[4]。

在空間離散法的應(yīng)用下,對(duì)數(shù)控機(jī)床的車削和三軸銑削進(jìn)行三維建模并做出進(jìn)一步加工。首先,數(shù)控機(jī)床的車削毛坯呈現(xiàn)為圓柱形的狀態(tài),且其多利用在打磨和加工機(jī)床的回轉(zhuǎn)表面。其次,三軸銑削的毛坯多呈現(xiàn)出長(zhǎng)方體的形狀,其只有在毛坯體的表面進(jìn)行加工,因此只具備了獨(dú)立的加工面。通過在數(shù)控機(jī)床的毛坯體上進(jìn)行離散化和三維建模,來構(gòu)建屬于數(shù)據(jù)機(jī)床的仿真系統(tǒng)。下圖為數(shù)控機(jī)床中車削和三軸銑削毛坯的三維立體離散圖:

在該圖中,以獨(dú)立面為中心構(gòu)建三維函數(shù)軸,即X軸、Y軸與Z軸,那么在該三維函數(shù)軸基礎(chǔ)上對(duì)車削進(jìn)行空間點(diǎn)離散化,使其形成三點(diǎn)共面的狀態(tài),作為三維建模的基本模型。與此同時(shí),針對(duì)數(shù)控機(jī)床中的三軸銑削設(shè)立A、B、C、D四個(gè)點(diǎn),以四個(gè)點(diǎn)形成的不同三維空間模型進(jìn)行細(xì)細(xì)劃分,比如ABD之間的三角網(wǎng)格、BCD之間的三角網(wǎng)格等,從而以網(wǎng)格為單位進(jìn)行三維建模。當(dāng)前使用的數(shù)控仿真系統(tǒng)多是建立在windows系統(tǒng)基礎(chǔ)上,那么在windows的環(huán)境下通過利用Visual、OpenGL以及C++6.0技術(shù)軟件,使數(shù)控機(jī)床的毛坯體離散化過程得到細(xì)節(jié)分析,結(jié)合數(shù)據(jù)結(jié)構(gòu)和各個(gè)節(jié)點(diǎn)的具體數(shù)據(jù)構(gòu)建三維模型,實(shí)現(xiàn)數(shù)控機(jī)床仿真系統(tǒng)的多元化建設(shè)。

2.3 粒子系統(tǒng)的建模

為了更加真實(shí)的模擬數(shù)控機(jī)床在冷卻液噴出狀態(tài)下的具體工作細(xì)節(jié),需要立足于粒子系統(tǒng),完成細(xì)致環(huán)節(jié)的三維建模,體現(xiàn)液體粒子的冷卻狀態(tài)與運(yùn)動(dòng)狀態(tài)。在粒子三維建模的過程中,要周而復(fù)始的完成以下四個(gè)環(huán)節(jié)的工作:母粒子源產(chǎn)生新粒子;準(zhǔn)確計(jì)算、復(fù)核并實(shí)時(shí)性更新新粒子的基本屬性;定位刪除死亡(淘汰)粒子;繪制粒子的具體運(yùn)動(dòng)線路,從而構(gòu)成源源不斷、持續(xù)運(yùn)作的粒子流。在以上四個(gè)環(huán)節(jié)的循環(huán)運(yùn)動(dòng)下,完成了更加具體的三維建模工作,這樣在粒子系統(tǒng)的基礎(chǔ)上,構(gòu)建了更為清晰、細(xì)致化和高度仿真性的數(shù)控機(jī)床仿真系統(tǒng)。

結(jié)論:

綜上所述,本文以上通過圍繞三維建模的過程進(jìn)行分析,并結(jié)合三維建模技術(shù)進(jìn)行展開探討。通過結(jié)合三維建模技術(shù)對(duì)數(shù)控仿真系統(tǒng)進(jìn)行真實(shí)還原與模擬,形成的三維圖示更加具有真實(shí)感,并且形成的三維立體Flash實(shí)時(shí)性與可視性都很強(qiáng),實(shí)現(xiàn)了數(shù)控仿真系統(tǒng)研發(fā)與運(yùn)用的高效化與集約化發(fā)展。

參考文獻(xiàn):

[1]陸寶春,徐開蕓,等人.數(shù)控仿真教學(xué)系統(tǒng)的研究與開發(fā)[J].中國(guó)制造業(yè)信息化,2013,19:30-33+37.

[2]張?zhí)炱?,于忠海,等?數(shù)控機(jī)床三維建模與加工仿真技術(shù)研究[J].機(jī)械工程師,2014,01:62-63.

[3]邢吉利,李翔龍,等人.數(shù)控銑削仿真系統(tǒng)關(guān)鍵技術(shù)的研究[J].機(jī)械設(shè)計(jì)與制造,2015,06:170-172.

[4]唐宇鴻,高麗娜,等人.仿真系統(tǒng)中三維建模技術(shù)的研究[J].電子制作,2014,19:48-49.

篇3

關(guān)鍵詞:自升式拋石整平船;3ds Max;三維仿真;粒子系統(tǒng)

中圖分類號(hào):TP391.9 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2013)19-4496-03

1 概述

港珠澳大橋位于珠江口處,跨越伶仃洋海域,是連接香港、珠海、澳門的世界級(jí)跨海通道。島隧工程是港珠澳大橋的核心工程,其長(zhǎng)達(dá)5664米的沉管隧道,施工難度居世界前列,它采用碎石墊層作為沉管基礎(chǔ),不僅鋪設(shè)整平總方量巨大,而且施工水深、鋪設(shè)寬度、整平精度都前所未有[1]。由于工期緊張,當(dāng)時(shí)世界上沒有合適的拋石整平船能完成此施工任務(wù),上海振華重工自主研發(fā)的自升式拋石整平船應(yīng)運(yùn)而生,為了讓船東在短期內(nèi)對(duì)該工程船的布局及作業(yè)流程有個(gè)全面、直觀的了解,同時(shí)方便設(shè)計(jì)人員進(jìn)行方案交流,以發(fā)現(xiàn)潛在的設(shè)計(jì)問題,避免發(fā)生重大經(jīng)濟(jì)損失,該文運(yùn)用三維仿真技術(shù)開發(fā)了自升式拋石整平船作業(yè)流程三維仿真,以系統(tǒng)的展示該工程船的整體布置、設(shè)計(jì)思路、作業(yè)流程等。

2 建立數(shù)字模型

自升式拋石整平船的建模是整個(gè)三維仿真制作過程中最重要的環(huán)節(jié)??紤]到本三維仿真由多個(gè)軟件配合完成,所建立的數(shù)字模型要求有較好的兼容性,模型的坐標(biāo)系、信息、數(shù)據(jù)能夠正確快速的轉(zhuǎn)換。為此,船體部分由AVEVA公司的Tribon M3建模,設(shè)備部分則由Inventor建模。將兩種三維建模軟件制作的數(shù)字模型導(dǎo)入到三維仿真軟件3ds Max中,構(gòu)建場(chǎng)景模型[2]。導(dǎo)入的流程圖見圖1。

模型導(dǎo)入后,使用“成組”命令對(duì)模型進(jìn)行分組,使用“移動(dòng)”以及“對(duì)齊”命令對(duì)模型進(jìn)行裝配定位。最后根據(jù)船東要求,對(duì)模型賦予顏色材質(zhì)。圖2所示為自升式拋石整平船的仿真模型。

3 三維仿真制作過程

3.1 仿真步驟及方法分析

在建立數(shù)字模型之后,制作仿真動(dòng)畫之前,需要對(duì)自升式拋石整平船的作業(yè)流程進(jìn)行分析,以確定仿真動(dòng)畫的制作步驟及方法。

自升式拋石整平船的作業(yè)流程如下:

1)拋石船拖航到位后,拋6只定位錨,通過6臺(tái)定位錨機(jī)將船體定位在施工工位上;

2)樁腿插入海底站穩(wěn)后,通過對(duì)角線壓載的方式兩兩對(duì)樁腿施加載荷;

3)預(yù)壓載完成后,將船體頂升離開水面;

4)碎石通過石料傳送系統(tǒng)從取料漏斗輸送到拋石管;

5)通過大小車的聯(lián)合移動(dòng)完成拋石整平作業(yè);

6)由拋石管頭部油缸的伸縮來對(duì)拋石作業(yè)中的各種因素造成精度誤差進(jìn)行補(bǔ)償,保證拋石整平精度;

7)當(dāng)一個(gè)船位的拋石整平和檢查驗(yàn)收作業(yè)完成后,下降船體,抬升樁腿,拋石船移到下一個(gè)船位,重復(fù)拋石整平作業(yè);

8)重復(fù)完成7個(gè)船位的拋石整平作業(yè)即可鋪設(shè)完一個(gè)標(biāo)準(zhǔn)沉管隧道的碎石墊層。

通過對(duì)整個(gè)作業(yè)流程的分析,建立動(dòng)畫仿真的步驟及方法如下:

1)使用3ds Max的關(guān)鍵幀動(dòng)畫技術(shù)制作拖航、拋錨、樁腿插入海底、船體抬升、大小車聯(lián)合移動(dòng)、拋石管頭部油缸伸縮以及移動(dòng)船位等動(dòng)作;

2)通過控制子物體頂點(diǎn)級(jí)別,選擇需要移動(dòng)的點(diǎn),實(shí)現(xiàn)石料傳送系統(tǒng)上的皮帶跟隨大小車移動(dòng)以及碎石墊層隨著拋石管的移動(dòng)而出現(xiàn);

3)碎石在石料傳送系統(tǒng)上的輸送以及石料的拋灑采用3ds Max的粒子系統(tǒng)[3]進(jìn)行模擬。

3.2 仿真動(dòng)畫制作過程

1)拋石船拖航、拋錨、樁腿插入海底、船體抬升、大小車聯(lián)合移動(dòng)、拋石管頭部油缸伸縮以及移動(dòng)船位等動(dòng)作的動(dòng)畫制作。采用3ds Max的關(guān)鍵幀動(dòng)畫技術(shù),使用“選擇并移動(dòng)” 工具選擇之前建立的各分組來實(shí)現(xiàn)其運(yùn)動(dòng)過程。整個(gè)動(dòng)畫的總幀數(shù)為3400幀(設(shè)定每秒25幀)。

2)皮帶、碎石墊層的動(dòng)畫制作。在進(jìn)行拋石作業(yè)時(shí),大車帶著拋石管縱向移動(dòng),小車帶動(dòng)拋石管橫向移動(dòng),石料傳送系統(tǒng)上的部分皮帶也需隨著大小車作相應(yīng)移動(dòng)(見圖3),常規(guī)在制作物體運(yùn)動(dòng)的動(dòng)畫時(shí),是整個(gè)物體做運(yùn)動(dòng),而此時(shí)僅需皮帶的部分地方作移動(dòng),為此,通過進(jìn)入皮帶的頂點(diǎn)級(jí)別,選擇需要移動(dòng)的點(diǎn)來做動(dòng)畫,實(shí)現(xiàn)皮帶的部分地方根據(jù)需要跟隨大小車移動(dòng),而其余地方則保持不動(dòng)。同樣,碎石墊層隨著拋石管的移動(dòng)而逐步出現(xiàn)的動(dòng)畫也通過控制頂點(diǎn)來實(shí)現(xiàn)。

3)粒子系統(tǒng)的建立。碎石在石料傳送系統(tǒng)上的輸送以及石料的拋灑采用粒子系統(tǒng)來實(shí)現(xiàn)。在本項(xiàng)目中,碎石經(jīng)過3條皮帶機(jī)投入拋石管進(jìn)料口,因此,需分別建立3個(gè)“暴風(fēng)雪”粒子發(fā)射器,模擬石料在皮帶機(jī)上進(jìn)行輸送的效果。為了使粒子呈現(xiàn)出碎石的效果,將粒子類型設(shè)為“實(shí)例幾何體”,對(duì)粒子進(jìn)行碎石的取樣。圖4為取樣后的粒子效果。設(shè)定3個(gè)“暴風(fēng)雪”粒子發(fā)射器的“粒子運(yùn)動(dòng)”、“粒子計(jì)時(shí)”和“粒子大小”參數(shù),特別是“粒子計(jì)時(shí)”參數(shù),應(yīng)使得3個(gè)“暴風(fēng)雪”粒子發(fā)射器的發(fā)射時(shí)間正好首尾銜接上(見圖5)。另外建立一個(gè)“暴風(fēng)雪”粒子發(fā)射器,調(diào)節(jié)相應(yīng)的參數(shù),并將其綁定到拋石管頭部,使其隨著拋石管運(yùn)動(dòng),模擬拋石管拋灑石料的效果。

4 渲染及合成

選用3ds Max自帶的MentalRay渲染器進(jìn)行渲染。Mental Ray是一個(gè)專業(yè)的渲染系統(tǒng),它可以生成令人難以置信的高質(zhì)量真實(shí)感圖像。選擇輸出分辨率為高清電視的“1280x720”,同時(shí),采用TGA圖片序列為最終渲染結(jié)果,方便視頻編輯軟件來合成三維動(dòng)畫視頻,最后添加字幕、音樂、配音等完成整個(gè)自升式拋石整平船作業(yè)流程的三維仿真動(dòng)畫。

5 結(jié)束語

三維仿真因能幫助人們建立一個(gè)具有身臨其境的沉浸感、促進(jìn)構(gòu)想與創(chuàng)造的環(huán)境,而成為社會(huì)各個(gè)應(yīng)用領(lǐng)域發(fā)展中不可或缺的高科技手段。研究表明,利用三維仿真技術(shù),在自升式拋石整平船的設(shè)計(jì)階段就能直觀展現(xiàn)其整體布局及實(shí)際的作業(yè)流程,使抽象的技術(shù)問題形象化,大大方便了船東和設(shè)計(jì)人員對(duì)項(xiàng)目方案進(jìn)行交流,并提前發(fā)現(xiàn)潛在的設(shè)計(jì)問題,使得拋石船的設(shè)計(jì)更合理、設(shè)備布局更科學(xué),從而避免發(fā)生重大經(jīng)濟(jì)損失。

參考文獻(xiàn):

[1] 王吉云.港珠澳大橋島隧工程沉管隧道施工新技術(shù)介紹[J].地下工程與隧道,2011(1).

篇4

關(guān)鍵詞:仿真;旋轉(zhuǎn)算法;XNA;四元數(shù);矩陣

中圖分類號(hào):TP391.41文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2012)27-6576-03

The Research of Rotating Algorithms in 3D Simulation System

PAN Jun1, SUN Shao-bin2, ZHANG Shi-nan2

(1.Postgraduate Team, Armored Force Academy of PLA, Bengbu 233050, China; bat Experimental Center, Armored Force Academy of PLA, Bengbu 233050, China)

Abstract: Although rotation is the basic operation of 3D emulational system, its accuracy and efficiency are vital for emulational system. Firstly, this article analyzes the principle of rotating algorithms and evaluate its efficiency.And then,according to the advan? tage of the algorithms and the characteristics of current developing platform, synthetical application of the rotating algorithms im? prove the efficient of emulational system. The proof-test of the algorithmic efficiency is carried out in XNA eventually.

Key words: emulation; rotating algorithm; XNA; equaternion; Matrix

三維仿真系統(tǒng)中旋轉(zhuǎn)的方法通常有三種:歐拉角法、矩陣變換法和四元數(shù)法。這些方法在具體的應(yīng)用中各有優(yōu)勢(shì),可根據(jù)實(shí)際情況進(jìn)行選擇。本文通過對(duì)這三種算法的分析,發(fā)揮各自優(yōu)勢(shì),提出了一種更為高效的旋轉(zhuǎn)算法。本文所有算法均使用右手坐標(biāo)系。 2.1歐拉角法

歐拉角的基本思想是將角位移分解為繞三個(gè)互相垂直軸的三個(gè)旋轉(zhuǎn)序列的復(fù)合,用這三個(gè)序列來描述任意軸的旋轉(zhuǎn)。為了方便計(jì)算,通常將這三個(gè)互相垂直的軸設(shè)置為與物體坐標(biāo)系一致。繞X軸旋轉(zhuǎn)的角稱為俯仰角(pitch),繞Y軸旋轉(zhuǎn)的角稱為偏航角

(yaw),繞Z軸旋轉(zhuǎn)的角稱為翻滾角(roll)。在三維空間中,旋轉(zhuǎn)可以通過三個(gè)歐拉角(α,β,γ)來定義。依據(jù)"z-x-z"歐拉角,在坐標(biāo)系中的主動(dòng)旋轉(zhuǎn)矩陣可表達(dá)為:

R(α,β,γ)=Rz(α)Rx(β)Rz(γ)

進(jìn)行乘法運(yùn)算生成:

歐拉角容易使用,它比矩陣和四元數(shù)簡(jiǎn)單得多,這是因?yàn)闅W拉角中的數(shù)都是角度,符合人們思考方位的方式。當(dāng)需要為世界中的物體指定方位時(shí),歐拉角能大大的簡(jiǎn)化人機(jī)交互,包括直接的鍵盤輸入方位、在代碼中指定方位以及在調(diào)試中測(cè)試。但歐拉角表示也有它的局限性。因?yàn)樾D(zhuǎn)矩陣是不可交換的,基于歐拉角的旋轉(zhuǎn)一定要按某個(gè)特定的次序進(jìn)行;此外,等量的歐拉角變化不一定引起等量的旋轉(zhuǎn)變化,從而導(dǎo)致旋轉(zhuǎn)的不均勻;歐拉角還有可能導(dǎo)致自由度的喪失,出現(xiàn)令人頭痛的“萬向節(jié)死鎖”現(xiàn)象。

在三維仿真系統(tǒng)的開發(fā)過程中,為了達(dá)到更加真實(shí)的效果,增加用戶的沉浸感,三維模型做得非常精細(xì),三維動(dòng)畫效果也很細(xì)膩。由于模型是基于頂點(diǎn)創(chuàng)建的,在模型運(yùn)動(dòng)過程中,將會(huì)有更多的頂點(diǎn)進(jìn)行旋轉(zhuǎn);不僅如此,為了提高系統(tǒng)的連續(xù)性,用戶還可以自己定義刷新頻率。這些都對(duì)旋轉(zhuǎn)算法提出了更高的要求。而在此前的系統(tǒng)開發(fā)過程中,程序員使用的算法相對(duì)單一。

目前,由于顯卡技術(shù)的不斷進(jìn)步,GPU已經(jīng)有了較快的運(yùn)算速度和較強(qiáng)的運(yùn)算能力,可以用于分擔(dān)CPU圖形處理方面的工作,例如:渲染、光照、場(chǎng)景的虛擬變化等等。不僅如此,GPU中集成的矩陣運(yùn)算邏輯還可以幫助編程者更方便的進(jìn)行坐標(biāo)變換,可將大量的附屬變換操作通過HLSL傳遞給GPU進(jìn)行運(yùn)算,從而減少CPU的運(yùn)算壓力。因此,在三維仿真系統(tǒng)的開發(fā)過程中,針對(duì)CPU和GPU各自特點(diǎn),筆者認(rèn)為有必要將四元數(shù)法與矩陣變換法進(jìn)行綜合運(yùn)用。下面是使用XNA對(duì)3D模型運(yùn)動(dòng)進(jìn)行設(shè)計(jì)的例子。

在3D模型的設(shè)計(jì)中,為了提高動(dòng)畫效果,可使用骨骼進(jìn)行連接。而在3D模型的驅(qū)動(dòng)過程中,可在CPU中對(duì)骨骼的旋轉(zhuǎn)使用四元數(shù)法進(jìn)行運(yùn)算;將運(yùn)算所得的四元數(shù)轉(zhuǎn)換為骨骼的最終變換矩陣,而后將骨骼的最終旋轉(zhuǎn)矩陣及附著在骨骼上的頂點(diǎn)的通過HLSL傳遞給GPU進(jìn)行矩陣變換運(yùn)算及渲染,最后在CPU中對(duì)模型進(jìn)行繪制。

篇5

關(guān)鍵詞:五軸機(jī)床;三維建模;運(yùn)動(dòng)仿真

0 引言

五軸加工的建模和運(yùn)動(dòng)仿真一般應(yīng)用在較復(fù)雜的曲面加工技術(shù)上,如大型船用螺旋槳。五軸機(jī)床加工中心采用了直流電動(dòng)機(jī)、高速旋轉(zhuǎn)電主軸,結(jié)合了機(jī)電、通信的優(yōu)勢(shì)。一臺(tái)機(jī)器就可以對(duì)付各類加工模式,這是未來“加工中心”全能設(shè)備的體現(xiàn),將能成為真正實(shí)用意義上的加工中心。

1 五軸機(jī)床的概述和優(yōu)勢(shì)

1.1 五軸機(jī)床

五軸聯(lián)動(dòng)機(jī)床是在傳統(tǒng)三個(gè)線性坐標(biāo)(X,Y,Z)軸的基礎(chǔ)上增加兩個(gè)可旋轉(zhuǎn)坐標(biāo)軸,工件一次夾裝即可以對(duì)五個(gè)面的同時(shí)加工,也可以完成復(fù)雜空間曲面的高精度加工[1]。五軸機(jī)床通常有三種結(jié)構(gòu):(1)單轉(zhuǎn)臺(tái)單擺頭五軸聯(lián)動(dòng)機(jī)床;(2)雙轉(zhuǎn)臺(tái)結(jié)構(gòu)五軸聯(lián)動(dòng)機(jī)床;(3)雙擺頭五軸聯(lián)動(dòng)機(jī)床。

1.2 五軸機(jī)床的優(yōu)勢(shì)

(1)適應(yīng)范圍廣 程序是可編寫式的,因此當(dāng)加工不同零件時(shí),只需改變程序,不改動(dòng)其他設(shè)備。(2)加工效率高 數(shù)控設(shè)備加工時(shí)可采用較大的切削量,能縮短零件加工所需要的時(shí)間。(3)產(chǎn)品有穩(wěn)定的加工精度,提高了加工質(zhì)量。(4)勞動(dòng)強(qiáng)度較低 數(shù)控設(shè)備的自動(dòng)化程度高,無需工人進(jìn)行繁重的作業(yè)操作。

2 五軸機(jī)床的三維建模

對(duì)于vericut軟件,由于軟件本身帶有三維建模的功能,能創(chuàng)建方塊、圓柱、旋轉(zhuǎn)面輪廓等模型,但是這些只能創(chuàng)建一些簡(jiǎn)單的機(jī)床,對(duì)于五軸機(jī)床,由于結(jié)構(gòu)形式的復(fù)雜性,采用vericut創(chuàng)建不能實(shí)現(xiàn),需要在Proe中創(chuàng)建機(jī)床模型,然后在導(dǎo)入到vericut中。在vericut中機(jī)床部件一般都是相對(duì)于機(jī)床坐標(biāo)系創(chuàng)建的。在Proe的機(jī)床模型上創(chuàng)建合適的坐標(biāo)系,將會(huì)降低導(dǎo)入過程可能出現(xiàn)的仿真模型的錯(cuò)誤。還應(yīng)該注意在Proe中創(chuàng)建完模型之后,保存文件的格式,應(yīng)該是vericut能夠識(shí)別的格式。

2.1 新建一個(gè)項(xiàng)目文件

選擇“文件”-“新項(xiàng)目”-“毫米”,寫入你要建立的文件的名字。根據(jù)加工的仿真要求,在項(xiàng)目樹文件中對(duì)項(xiàng)目樹寫的各項(xiàng),如數(shù)控系統(tǒng)、坐標(biāo)系統(tǒng)、加工刀具等進(jìn)行相應(yīng)的設(shè)置。

2.2 定義機(jī)床運(yùn)動(dòng)構(gòu)件

(1)定義Base部件。由于底座已經(jīng)在Proe中畫好了,只需要導(dǎo)入到VERICUT軟件就可以了。首先在菜單欄中點(diǎn)擊顯示機(jī)床組件按鈕,則所有的節(jié)點(diǎn)就顯示在項(xiàng)目樹中了。然后在Base(0,0,0)節(jié)點(diǎn),點(diǎn)擊鼠標(biāo)右鍵,選擇“添加模型”,選擇“模型文件”,然后導(dǎo)出已畫底座模型。(2)右擊Base,點(diǎn)擊添加X線性軸-在“位置”文本中定義X軸零點(diǎn)。在X軸上,右擊添加Y線性軸-在“位置”文本中定義Y軸零點(diǎn)。(3)跟 X線性軸并行的位置,定義線性Z軸-在“位置”文本中定義Z軸零點(diǎn)。(4)定義B旋轉(zhuǎn)軸。在Y軸下,右擊添加B旋轉(zhuǎn)軸(Spindle),在“快速速度”中定義B速度。然后添加模型。右擊B旋轉(zhuǎn)軸,點(diǎn)擊主軸,定義模型,完成操作。定義C旋轉(zhuǎn)軸。在Z軸節(jié)點(diǎn)下添加C軸,(5)定義Tool軸。在Spindle軸節(jié)點(diǎn)下添加Tool軸。(6)移動(dòng)“附屬”組件。在“附屬”右擊選擇剪切,粘貼在C軸下。按照上述步驟定義完成主要機(jī)床部件。調(diào)入各軸組件之前,為使裝配位置不變,在添加軸組件模型時(shí)讓其向方向移動(dòng)相同的距離。

2.3 機(jī)床配置

在機(jī)床運(yùn)動(dòng)結(jié)構(gòu)定義完成后,需要進(jìn)行機(jī)床初始化設(shè)置。打開“配置”-“機(jī)床設(shè)定”命令,彈出機(jī)床設(shè)定對(duì)話框。

(1)加載機(jī)床文件:選擇配置--機(jī)床--打開機(jī)床文件命令,選擇在Proe中畫好的模型的存儲(chǔ)位置,就可以把畫好的機(jī)床模型導(dǎo)入vericut里面了。(2)控制系統(tǒng)的導(dǎo)入:配置-控制--打開控制文件,也可以在項(xiàng)目樹中“控制”節(jié)點(diǎn)下打開“機(jī)床庫(kù)”,在文件列表框中選擇“hei530.ctl”便將此系統(tǒng)加載到機(jī)床文件中(3)安裝圓形毛坯:在組件樹中選stock(0,0,0),在添加模型中,選擇圓柱。然后在“配置模型”對(duì)話框中,選擇“模型”,進(jìn)而輸入圓柱的高、半徑。(4)新建刀具:在項(xiàng)目樹中雙擊“加工刀具”選項(xiàng),彈出“刀具管理器”對(duì)話框,然后選取“添加”--“銑刀向?qū)А睂?duì)話框。由于一把完整的銑刀是由刀夾、引伸、切刀三部分組成,設(shè)置完刀具之后,要進(jìn)行刀夾的設(shè)置,根據(jù)提示,完成一系列的刀具設(shè)置。(5)加工程序?qū)耄涸陧?xiàng)目樹中,雙擊”數(shù)控程序”,在“配置NC程序”添加“NC程序文件”按鈕,然后根據(jù)提示選擇,根據(jù)編寫的加工工藝過程添加的相應(yīng)加工程序。(6)G代碼偏置:在項(xiàng)目樹中雙擊“G代碼偏置”,將偏置名由“機(jī)床零點(diǎn)”改為“工作偏置”,將寄存器中的值由“1”改為“54”,單擊“添加”按鈕,完成 G代碼的添加。

2.4 碰撞干涉檢查的設(shè)定

(1)確定已選中的“開機(jī)床仿真”復(fù)選框。在碰撞檢測(cè)標(biāo)簽中,選中“碰撞檢測(cè)”復(fù)選框。在“忽略在切刀和毛料間的碰撞”下拉列表框中選擇否。在“碰撞間隙文本框”中輸入2.0。(2)在機(jī)床設(shè)定對(duì)話框中,單擊“表”標(biāo)簽,單擊“添加”按鈕。在“位置名”下拉列表框中選擇初始機(jī)床位置。在“子系統(tǒng)”名下拉列表框中選擇1。在“值”文本框(3)在機(jī)床設(shè)定對(duì)話框中,單擊行程極限標(biāo)簽,選中超程錯(cuò)誤復(fù)選框。

2.5 加工仿真

利用Vericut對(duì)葉輪零件進(jìn)行加工仿真。在仿真之前,通過面板設(shè)定碰撞檢查和行程檢查值,結(jié)合信息欄對(duì)仿真進(jìn)行分析和檢測(cè)[2]。

3 結(jié)束語

本文對(duì)五軸機(jī)床的發(fā)展做了簡(jiǎn)單闡述,提出了五軸機(jī)床的概念,對(duì)比出了五軸機(jī)床的獨(dú)特地位和優(yōu)勢(shì)。另外,還整理出五軸機(jī)床建模和仿真的開發(fā)思路和研發(fā)成果。該五軸機(jī)床以其方便快捷和強(qiáng)大的功能獲得了一致好評(píng)。

參考文獻(xiàn):

[1]何志偉.數(shù)控加工過程建模和仿真的研究與應(yīng)用[J].組合機(jī)床與自動(dòng)加工技術(shù),2004(03):5-7.

篇6

【關(guān)鍵詞】離散元法;泥石流;三維流態(tài);PFC3D

中圖分類號(hào):K92文獻(xiàn)標(biāo)識(shí)碼A文章編號(hào)1006-0278(2015)11-137-01

泥石流是由多種因素激發(fā)含有大量泥沙、石塊等的松散土體與水體混合的特殊洪流,是介于崩塌、滑坡等塊體運(yùn)動(dòng)和高含沙水流運(yùn)動(dòng)之間的一系列流動(dòng)過程,具有迸發(fā)突然、來勢(shì)兇猛,毀壞性強(qiáng)等特點(diǎn)。我國(guó)長(zhǎng)期受到泥石流災(zāi)害的困擾,泥石流災(zāi)害分布范圍很廣,發(fā)生頻繁,造成巨大的損失。2010年8月7日甘肅舟曲發(fā)生的特大山洪泥石流造成1748人遇難,直接經(jīng)濟(jì)損失超過14.1多億元;2012年5月10日甘肅岷縣發(fā)生特大冰雹山洪泥石流災(zāi)害共造成49人死亡,35.8萬人受災(zāi),直接經(jīng)濟(jì)損失超過68億元;2015年8月9日溫州市因臺(tái)風(fēng)“蘇迪羅”引發(fā)山洪泥石流造成12人死亡,5人失蹤。

泥石流運(yùn)動(dòng)屬于非定常的復(fù)雜多相流流動(dòng),其研究?jī)?nèi)容屬于多學(xué)科交叉復(fù)合。當(dāng)前對(duì)泥石流的研究注重于流動(dòng)機(jī)理的理論研究,提出了賓漢體模型、膨脹流模型、粘塑流模型等泥石流運(yùn)動(dòng)模型。但這些模型無法全面描述泥石流的運(yùn)動(dòng),并且很難得到解析解,因此數(shù)值計(jì)算仿真顯得很重要。本文基于離散元法對(duì)泥石流的三維流動(dòng)形態(tài)進(jìn)行數(shù)值仿真,對(duì)泥石流的理論研究和實(shí)際應(yīng)用都有重要的價(jià)值和意義。

一、離散元法及PFC3D程序

離散單元法(Discrete Element Method, DEM)是一種研究非連續(xù)性顆粒物質(zhì)結(jié)構(gòu)和運(yùn)動(dòng)規(guī)律的一種數(shù)值方法,由Cundall和Strack于1979年最先提出。其基本思想是把不連續(xù)體或者連續(xù)體離散為具有一定物理意義的獨(dú)立“微元”或“粒子”,相鄰單元之間存在一種或幾種作用力,單元的運(yùn)動(dòng)受牛頓第二運(yùn)動(dòng)定律支配,得到各個(gè)離散單元的運(yùn)動(dòng)方程,用時(shí)步迭代的方法求解各單元的運(yùn)動(dòng)方程,更新單元節(jié)點(diǎn)的速度、位移等物理量,進(jìn)而得到整體模型的形變和運(yùn)動(dòng)形態(tài)。

PFC3D是由1979年Cundall和Strack推出的三維圓球程序TRUBAL發(fā)展而來,通過離散元方法來模擬球形顆粒介質(zhì)的運(yùn)動(dòng)及其相互作用,既可直接模擬球形顆粒的運(yùn)動(dòng)與相互作用問題,也可以通過兩個(gè)或多個(gè)顆粒與其直接相鄰的顆粒連接形成任意形狀的組合體來模擬塊體結(jié)構(gòu)問題。顆粒單元的直徑可以是一定的,也可按高斯分布規(guī)律分布,單元生成器根據(jù)所描述的單元分布規(guī)律自動(dòng)進(jìn)行統(tǒng)計(jì)并生成單元。PFC3D既可解決靜態(tài)問題也可解決動(dòng)態(tài)問題;既可用于參數(shù)預(yù)測(cè),也可用于在原始資料詳細(xì)情況下的實(shí)際模擬;還可以用PFC3D模擬試驗(yàn)代替室內(nèi)試驗(yàn)。PFC3D在模擬顆粒間的相互作用、大變形、斷裂等方面應(yīng)用廣泛。

二、泥石流模型的建立

以甘肅省永靖縣境內(nèi)某一條泥石流溝為模擬研究對(duì)象,根據(jù)文獻(xiàn)[3]中提供的泥石流溝地表數(shù)據(jù)點(diǎn)在3dsMAX中建立樣條曲線,再通過樣條曲線生成較為光滑的溝壑曲面,最后導(dǎo)出PFC3D支持的STL三角網(wǎng)格模型(圖1),限于計(jì)算規(guī)模,僅取溝壑段長(zhǎng)100m,溝壑寬度為20m。3dsMAX生成的網(wǎng)格較為粗糙,不能滿足計(jì)算要求,再到HyperMesh中細(xì)化網(wǎng)格(圖2),通過節(jié)點(diǎn)耦合排除網(wǎng)格模型中存在的裂隙、孤立邊等幾何缺陷保證STL模型的有效性,并統(tǒng)一三角網(wǎng)格的方向確保能正確計(jì)算顆粒跟網(wǎng)格之間的接觸問題。最后編寫FISH函數(shù)將細(xì)化后的、有效的STL模型讀入PFC3D程序中(圖3)。

編制顆粒生成FISH子程序,生成大小不一的顆粒,并根據(jù)文獻(xiàn)[4]中直剪試驗(yàn)結(jié)果設(shè)置顆粒的摩擦系數(shù)為0.25,密度2.147,法向接觸黏接強(qiáng)度、剪切黏接強(qiáng)度均為6.7Kpa。假設(shè)墻體靜止不動(dòng),并賦予其相應(yīng)的接觸剛度和剪切剛度。

三、泥石流流動(dòng)形態(tài)仿真

顆粒在重力的作用下下落,并受建立在山體上的一個(gè)壁面約束,堆積在山體上,不沿溝壑流下,模擬泥石流爆發(fā)前,顆粒的堆積和所建立的攔擋壩對(duì)泥石流的攔擋作用。

刪除溝壑模型上加的約束壁面(相當(dāng)于攔擋壩在地震、暴雨沖刷等外力的影響下發(fā)生破壞,失去攔擋作用),顆粒流啟動(dòng),開始在溝壑中流動(dòng)。顆粒顏色代表顆粒速度,從深藍(lán)色到紅色,速度從0 m/s逐一遞增到14 m/s。

由結(jié)果可見,初始3s時(shí),開始流動(dòng)的顆粒流頂部的顆粒勢(shì)能大,并且受到約束較少,釋放能量快,速度較大;圖a、b中,同一高度,不同尺寸的顆粒速度基本一致,但圖c-e中,同一高度,小顆粒速度明顯高于大顆粒速度,且跑在最前線的是小顆粒,這是由于小顆粒的相對(duì)接觸面積小,能量損耗少;顆粒從較為陡峭的坡面流下來后,幾乎在水平面上前行,由于能量的耗散,速度逐漸減慢;最終有少數(shù)顆粒停留在第一個(gè)臺(tái)階處。

四、結(jié)語

本文將泥石流體簡(jiǎn)化為相互之間有粘接效應(yīng)的顆粒,通過PFC3D模擬泥石流的三維流態(tài)。本文先在3ds Max中建立山體溝壑STL模型并導(dǎo)入HyperMesh中細(xì)化,再導(dǎo)入到PFC3D中,然后生成大小不同的顆粒模型,最后模擬泥石流的堆積、啟動(dòng)和流動(dòng)等過程。本文采用離散元分析特定情況下的泥石流流態(tài)具有一定的研究?jī)r(jià)值,是后續(xù)模擬泥石流防護(hù)措施的基礎(chǔ)。

參考文獻(xiàn):

[1]袁道先,謝云鶴.巖溶與人類生存、環(huán)境、資源和災(zāi)害[M].桂林:廣西師范大學(xué)出版社,1996.

[2]孫其誠(chéng),王光謙.顆粒物質(zhì)力學(xué)導(dǎo)論[M].北京:科學(xué)出版社,200

篇7

關(guān)鍵詞:DEM;Vega Prime;MetaFlight數(shù)據(jù);作戰(zhàn)模擬

中圖分類號(hào):TP391文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2008)20-30377-02

Three Dimensional Virtual Scene Real-time Simulation of Large Area terrain Based on MultiGen Vega Prime

XING Ying, ZHAO Zhen-nan

(People's Liberation Army University of Science & Technology, Nanjing 210007,China)

Astract:This article bases on the simulation of battlefield to create the three dimensional terrain with CTS and analysis the theory that the data of large area terrain how to be organized and transferred and realize Virtual Scene Real-time Simulation.

Key words: DEM; Vega Prime; MetaFlight Dataset; Campaign Simulation

1 引言

通常數(shù)字高程模型DEM數(shù)據(jù)越精確,衛(wèi)星遙感數(shù)據(jù)分辨率越高,場(chǎng)景就越真實(shí)。但仿真區(qū)域越大,DEM數(shù)據(jù)量也就越大;真實(shí)感越高,需要的多邊形就越多;紋理越精細(xì),需要的紋理內(nèi)存就越多。如何實(shí)時(shí)處理這些海量的數(shù)據(jù),就成了實(shí)現(xiàn)大場(chǎng)景的漫游的關(guān)鍵。目前在視景仿真領(lǐng)域用于視景場(chǎng)景管理的軟件種類很多,比較流行的有MultiGen VegaPrime、OpenGVS、Vtree、WTK、Open Invetor等。其中VegaPrime作為當(dāng)前實(shí)時(shí)視景仿真領(lǐng)域的主流高層開發(fā)平臺(tái),是一種高性能的場(chǎng)景管理軟件,用于實(shí)時(shí)視景仿真、虛擬現(xiàn)實(shí)、科學(xué)計(jì)算可視化等。本文從分析大地形數(shù)據(jù)組織調(diào)用原理入手,最后基于VegaPrime實(shí)現(xiàn)三維大場(chǎng)景地形的調(diào)用、管理及實(shí)時(shí)動(dòng)態(tài)操作。

2 數(shù)據(jù)的準(zhǔn)備

本文采用覆蓋范圍為117°-E125°E,22°N-30°N 的衛(wèi)星圖片和1:250000DEM數(shù)據(jù),對(duì)紋理及各類數(shù)據(jù)進(jìn)行優(yōu)化預(yù)處理,依據(jù)所選工具軟件CTS的要求,根據(jù)紋理所覆蓋的區(qū)域和衛(wèi)星影像分辨率,確定地表采樣間距、虛擬紋理的層數(shù)以及相應(yīng)地形的LoD個(gè)數(shù) ,對(duì)原始衛(wèi)星影像進(jìn)行融合、拼接、分割等處理,制作滿足地形要求的映射紋理。

3 基于VP的大地形管理調(diào)度原理

Vega Prime是MultiGen-Paradigm公司推出的實(shí)時(shí)視景仿真軟件環(huán)境,主要包括兩個(gè)方面:一是可視化的圖形編程環(huán)境Lynx;二是完整的C++語言應(yīng)用程序接口API。

3.1 大地形管理與調(diào)度的方法

如圖1 DEM數(shù)據(jù)通過專業(yè)地制作軟件CTS生成Vega prime所識(shí)別Metaflight(*.mft)文件,Lynx prime場(chǎng)景編輯器和Vega Prime LADBM(大規(guī)模數(shù)據(jù)庫(kù)管理)對(duì)其進(jìn)行加載管理,通過大地形管理接口函數(shù)對(duì)場(chǎng)景實(shí)施實(shí)時(shí)動(dòng)態(tài)操作。

Vega Prime首先把地形數(shù)據(jù)分割,將大面積地形分割成若干地形單元文件。在調(diào)用的過程中,根據(jù)觀察者當(dāng)前的位置及視線方向確定感興趣區(qū)域(AOI),近距離區(qū)域裝載高精度的地形單元文件,遠(yuǎn)距離區(qū)域裝載低精度的地形單元文件。最后,把相應(yīng)的紋理與地形單元匹配,就生成了地景庫(kù)。在對(duì)地景進(jìn)行處理的基上,系統(tǒng)還需要建立子線程對(duì)地景庫(kù)進(jìn)行管理和動(dòng)態(tài)調(diào)度,首先根據(jù)觀察者的位置,確定感興趣的區(qū)域AOI,映射相應(yīng)的地形文件;當(dāng)觀察者位置改變時(shí),帶動(dòng)興趣區(qū)域AOI的變化,當(dāng)變化超過設(shè)定的臨界值時(shí),將不再感興趣區(qū)域AOI內(nèi)的地形文件取消其映射關(guān)系,使其從物理內(nèi)存中消失。將新出現(xiàn)的在感興趣區(qū)域范圍內(nèi)的地形文件映射到物理內(nèi)存,而且那些一直在感興趣區(qū)域內(nèi)的地形文件保留原有映射關(guān)系;當(dāng)新舊地形文件的數(shù)據(jù)融合后,通知主線程,進(jìn)行繪制。

3.2 MetaFlight文件

Metaflight 文件類型采用了XML (extensible Markup Language)語言來描述地形數(shù)據(jù)庫(kù)。XML語言是一種有嚴(yán)格語法要求的元標(biāo)記語言,其最大優(yōu)點(diǎn)是允許自定義一套標(biāo)記來開發(fā)與自己領(lǐng)域相關(guān)的標(biāo)記語言。MetaFlight 就是用XML來將整個(gè)地形數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)、組織形式、文件命名方式、坐標(biāo)系統(tǒng)所構(gòu)成的復(fù)雜數(shù)據(jù)庫(kù)進(jìn)行描述的。(如圖2)

采用XML語言描述地形數(shù)據(jù)庫(kù)的Metaflight文件本身并不包含具體的幾何形狀數(shù)據(jù),它主要描述了構(gòu)成數(shù)據(jù)庫(kù)的眾多文件(flt格式、fst格式和pfb格式文件等)的組織形式。采用XML語言描述地形數(shù)據(jù)庫(kù)的Metaflight文件在地形是數(shù)據(jù)庫(kù)生成工具CTS和實(shí)時(shí)應(yīng)用軟件Vega Prime之間起到橋梁的作用,傳達(dá)地形數(shù)據(jù)庫(kù)以及地形任意子部分的信息,方便有效地實(shí)現(xiàn)數(shù)據(jù)的轉(zhuǎn)換、載入和使用。采用XML還可以方便地被Vega Prime、Sitebuilder 3d 或其它含有XML 文檔編輯器的軟件所讀取和編輯,適用范圍比較大。

本文將衛(wèi)星圖片切分成分辨率為1600*1600的小塊,經(jīng)計(jì)算制作紋理12層,地形為3 LOD,采樣為8*8。

4 場(chǎng)景調(diào)度管理實(shí)現(xiàn)

用Creator軟件工具制作場(chǎng)景中的重點(diǎn)目標(biāo)、機(jī)場(chǎng)及機(jī)場(chǎng)三維建筑物10 ∶ 1實(shí)物模型,將模型以及CTS生成的地景數(shù)據(jù)庫(kù)導(dǎo)入到Vega Prime中,使用大地形管理模塊LADBM進(jìn)行管理,可使用Vega Prime的GUI和進(jìn)行二次開發(fā)來完成場(chǎng)景的調(diào)度漫游。

運(yùn)用Vega Prime進(jìn)行場(chǎng)景的驅(qū)動(dòng)與渲染

UINT runvpApp( LPVOID pParam )

// 實(shí)例化Vega Prime的應(yīng)用實(shí)例

result = vp::initialize(__argc, __argv); // 初始化vega prime

vsgu::initialize(__argc, __argv);

pOwner->setVpInitted( true );result=vpKernel::instance()->define(pOwner->getAcfName());

// 加載acf文件

result=vpKernel::instance()->configure();

// 參數(shù)配置

pOwner->setVpConfiged(true); pOwner->postConfig();

while ( pOwner->getContinueRunning() // 仿真循環(huán)

int frameNum = vpKernel::instance()->beginFrame();

pOwner->postSync();// 幀同步

pOwner->vpUpdate();

result = vpKernel::instance()->endFrame();

pOwner->postFrame();

vpKernel::instance()->unconfigure();

pOwner->unref(); // 取消實(shí)例引用

vpKernel::instance()->breakFrameLoop();

vp::shutdown(); //關(guān)閉Vega prime

5 結(jié)束語

平臺(tái)使用英特爾雙核處理器,CPU 2.0 GHz ,內(nèi)存為1G,顯卡為ATI HD 2400,顯存128 MB計(jì)算機(jī)。在大地形的漫游過程中,禎畫面比較流暢,基本上達(dá)到仿真的效果(如圖3)。使用Vega Prime實(shí)現(xiàn)場(chǎng)景管理調(diào)用基于線程的。線程作為基本的執(zhí)行單元,劃分較小且共享內(nèi)存單元,一定程度上提高了執(zhí)行效率。本文基本解決了大場(chǎng)景調(diào)用的問題,但在地形精細(xì)度和紋理的精確度上還有待改進(jìn)。

參考文獻(xiàn):

[1] 汪連棟,張德峰,聶孝亮,馬孝尊.電子戰(zhàn)視景仿真技術(shù)與應(yīng)用[M].北京:國(guó)防工業(yè)出版社.

[2] MetaFlight Concept Guide Version 1.2January 2005MultiGen-Paradigm, Inc.

[3] 楊麗,李光耀。城市仿真建模工具-Creator軟件教程[M].上海:同濟(jì)大學(xué)出版社.

[4] 周建龍。計(jì)算機(jī)圖形學(xué)理論與OpenGl編程實(shí)踐[M].廣州:華南理工大學(xué)出版社.

篇8

一、三維仿真人像攝影模型與攝影教學(xué)改革

(一)什么是三維仿真人像攝影模型

三維仿真人像攝影模型,是基于攝影的形式,對(duì)被攝者相貌和神態(tài)進(jìn)行不同角度的拍攝,獲得一組18-33張的人像圖片集,使用專業(yè)三維平臺(tái)建立數(shù)字模型及全景工具軟件制作而成的,360°旋轉(zhuǎn)效果的高品質(zhì)立體人像攝影文件,制作完成后可以使用IE瀏覽器或播放軟件觀看,并操作鼠標(biāo)控制改變角度及大小。

(二)三維仿真人像攝影模型在教學(xué)改革中的作用

三維仿真人像攝影模型在教學(xué)改造中主要有兩大作用:(1)能夠建構(gòu)靈活的自主學(xué)習(xí)方式。學(xué)生的實(shí)踐訓(xùn)練可以從目前的依靠印象到具體技法的反復(fù)觀察、反復(fù)對(duì)比,從抽象模糊的學(xué)習(xí)到具體精確的學(xué)習(xí),大大提高人像攝影課程的學(xué)習(xí)質(zhì)量和效率。(2)能夠及時(shí)更新教學(xué)內(nèi)容和方法?;跀?shù)字?jǐn)z影高質(zhì)量、低成本及后期制作便捷的特點(diǎn),可以使三維仿真人像的實(shí)物模型更新快,使多年不變的教學(xué)方法日新月異,跟上攝影技法的變革,為培養(yǎng)適應(yīng)未來社會(huì)的發(fā)展培養(yǎng)具有創(chuàng)新能力的人才奠定基礎(chǔ)。

二、三維仿真人像攝影教學(xué)模型的拍攝與制作

(一)三維仿真人像攝影教學(xué)模型的拍攝

1.拍攝準(zhǔn)備。模特;條件完備的攝影棚;專業(yè)數(shù)碼單反相機(jī);單反專業(yè)廣角至中長(zhǎng)焦變焦鏡頭;三腳架;云臺(tái);快門線;可以360°自由旋轉(zhuǎn)的高腳凳;一張圓形的硬紙板。

2.拍攝方法及步驟。(1)選擇一位膚色白皙、五官端正的模特,簡(jiǎn)單裸妝,露出臉部部分,表情自然生動(dòng),眼睛均向斜上方45°的狀態(tài),體現(xiàn)自然感。(2)在攝影棚內(nèi)使用四盞大型閃光燈布平光及背景光。(3)讓模特坐在可以360度旋轉(zhuǎn)的高腳凳上,并在凳子下方放上標(biāo)注刻度的圓形硬紙板。(4)相機(jī)固定在三角架上,放置在圓形紙板的中軸位置,固定不變,按照紙板的刻度旋轉(zhuǎn)高腳凳,拍攝10-16張照片,此時(shí),模特要保持身體重心不能偏移。

(二)三維仿真人像攝影教學(xué)模型的制作

后期制作需要采用Adobe Photoshop(PS)圖像處理軟件及Object2VR 2.0三維圖像拼合軟件。制作方法和步驟:

1.色彩影調(diào)控制。用PS軟件調(diào)整每張照片的色彩、曝光及中軸線,使所有拍攝照片的這三個(gè)因素都保持統(tǒng)一。

2.三維合成。用Object2VR 2.0對(duì)處理好的圖片進(jìn)行三維合成,一般情況下選用12張圖片進(jìn)行合成比較適合人眼的觀看方式,較為流暢、自然(具體的操作方法因篇幅有限省略)。

3.生成文件。針對(duì)Flash、HTML5、Quicktime等播放模式生成不同的格式文件,例如用Flash就生成swf文件,該文件可以用鼠標(biāo)拖動(dòng)旋轉(zhuǎn)并放大和縮小。

三、三維仿真人像攝影教學(xué)模型的教學(xué)作用

將三維仿真人像攝影教學(xué)新模型應(yīng)用到課程中,主要從以下幾個(gè)方面進(jìn)行實(shí)踐探索,并取得了一定的效果。

(一)課堂教學(xué)從“填鴨式”轉(zhuǎn)變?yōu)椤白灾健?/p>

改變了以往PPT為主的課堂教學(xué)模式,形成了多視點(diǎn)、立體化、互動(dòng)式的課堂教學(xué),更好地實(shí)現(xiàn)了以學(xué)生為中心的教學(xué)方式,從而使課程教學(xué)從‘填鴨式’順利轉(zhuǎn)變?yōu)椤灾健?,加?qiáng)了學(xué)生基礎(chǔ)知識(shí)的掌握。

(二)實(shí)現(xiàn)學(xué)習(xí)成果實(shí)時(shí)參照對(duì)比

學(xué)生可以通過教學(xué)模型與拍攝的實(shí)際照片進(jìn)行對(duì)比,也可以把模型存入電腦或手機(jī)與現(xiàn)場(chǎng)拍攝操作進(jìn)行對(duì)比,從而控制實(shí)際拍攝的角度、光線等因素,加強(qiáng)拍攝的精準(zhǔn)性,大幅度提升了專業(yè)技術(shù)的學(xué)習(xí)效率及質(zhì)量。

(三)提高學(xué)生對(duì)模型的開發(fā)能力、創(chuàng)新能力

課程教學(xué)過程通過運(yùn)用新的教學(xué)模型并結(jié)合分小組、項(xiàng)目式教學(xué)方法,讓學(xué)生在運(yùn)用新教學(xué)模型的同時(shí)研究及制作除更多、更精美的教學(xué)模型,為今后的課程‘自助式’教學(xué)提供更多、更有效的模型資源。

篇9

關(guān)鍵詞:OpenGL;高仿真;貼圖技術(shù)

一 問題的提出

(1),營(yíng)銷手段的進(jìn)步,對(duì)商品模擬軟件的需求

技術(shù)的發(fā)展已經(jīng)慢慢進(jìn)入了人們的生活,以前買東西,你可能在猶豫這個(gè)東西是否適合自己家的氛圍,購(gòu)買時(shí)猶豫不決,現(xiàn)在的營(yíng)銷模式改變了這一現(xiàn)狀,很多廠家將三維仿真技術(shù)用到了商業(yè)促銷上,提高了成交率。例如你要為自己家里選擇木地板,但你不知道選擇什么顏色和花紋適合自己家,商家通過計(jì)算機(jī)將鋪裝后的效果展現(xiàn)出來,供消費(fèi)者決策。

(2),商品模擬軟件開發(fā)可以使用OpenGL技術(shù)

OpenGL技術(shù)完全可以勝任仿真物體的任務(wù),OpenGL 是最早出現(xiàn)的圖形接口標(biāo)準(zhǔn),它以動(dòng)態(tài)庫(kù)的方式提供給軟件開發(fā)者所有圖形繪制接口函數(shù)。OpenGL易學(xué)易用,開發(fā)方便,本文重點(diǎn)就是討論OpenGL技術(shù)中比較關(guān)鍵技術(shù)之一,即貼圖技術(shù),選用DELPHI 7做了演示程序。

二 相關(guān)概念和實(shí)現(xiàn)工具

(1),建模

現(xiàn)實(shí)世界中,固體物體正常狀態(tài)下都有固定的形狀,仿真物體,首先要對(duì)物體建立模型,任何物體的表面都可以用無數(shù)個(gè)小三角形或者多邊形去逼近,這些三角形和多邊形都有各自的頂點(diǎn)坐標(biāo),根據(jù)這些坐標(biāo)與OpenGL坐標(biāo)系之間的對(duì)照關(guān)系,就可以將物體置放到虛擬世界中。

(2),OpenGL紋理與貼圖

現(xiàn)實(shí)世界中的物體表面往往有各種紋理,仿真時(shí)需要給物體加上紋理,同時(shí)結(jié)合光照和材質(zhì)參數(shù)的設(shè)置,使物體看起來更真實(shí)。OpenGL編程的重點(diǎn)是圖形的生成和如何逼近真實(shí)效果。紋理貼圖技術(shù)貫穿于整個(gè)OpenGL技術(shù)體系紋理和貼圖時(shí)兩個(gè)并行的概念,物體有紋理,而紋理是通過貼圖技術(shù)來實(shí)現(xiàn)的。 

(3),單片貼圖和重復(fù)貼圖

貼圖最基本的方式有兩種,一種方式是單片貼圖,比如對(duì)一扇門來講,我們就應(yīng)該用單片貼圖方式。如果是目地板或者瓷磚,因?yàn)樾枰枚嗟匕寤蛘呤谴纱u,就需要重復(fù)的貼圖。貼圖的方向需要注意,圖片的頂點(diǎn)和物體的頂點(diǎn)要一一對(duì)應(yīng)否則,圖片就會(huì)顛倒,下圖就是圖片和物體表面頂點(diǎn)的對(duì)照關(guān)系。

                  圖 1

(4),貼圖的右手法則

在實(shí)際的開發(fā)工程中,經(jīng)常發(fā)現(xiàn)貼上去的圖,無論如何顯示不出來,坐標(biāo)都是正確的,但是無論如何貼圖無法顯示。所以一定要注意貼圖遵循右手法則:即面對(duì)你要觀看的物體,深處右手,大拇指對(duì)向你的臉,手指的方向就是貼圖的次序。

(5),陰影

陰影的實(shí)現(xiàn)過程的操作可以說是一條深度比較指令。根據(jù)場(chǎng)景物體像素在光源視覺下的深度得到的陰影圖,在視圖轉(zhuǎn)換階段對(duì)應(yīng)相機(jī)視覺中的像素判斷是否屬于陰影圖中的像素,這本來就是一個(gè)TRUE OR FALSE的判斷,若TRUE證明非陰影,像素顏色值不變;若FALSE則涂黑,以表明該處陰影,例如,當(dāng)門打開時(shí),我們需要實(shí)現(xiàn)陰影。或者當(dāng)放置物體時(shí),我們需要在地板或者地板瓷磚上建立陰影。

三,以家裝中貼圖為例,說明三維物體貼圖技術(shù)具體實(shí)現(xiàn)過程

1, 編程實(shí)現(xiàn)貼圖的一般過程

(1),定義紋理

有兩種方法定義紋理:連續(xù)法和離散法。連續(xù)法把紋理定義為一個(gè)二元函數(shù),函數(shù)的定義域就是紋理空間。而離散法則是把紋理定義在一個(gè)二維數(shù)組中,該數(shù)組表示紋理空間中行間隔和列間隔固定的一組網(wǎng)格點(diǎn)上的紋理值。網(wǎng)格點(diǎn)之間的其它點(diǎn)的紋理值可以通過對(duì)相鄰網(wǎng)格點(diǎn)上紋理值進(jìn)行插值來獲得。通過紋理空間與物體空間之間的坐標(biāo)變換,可以把紋理映射到物體表面。

(2)紋理貼圖方式

OpenGL用于紋理貼圖方式的函數(shù)為glTex~v(),該函數(shù)的原型(以glTexEnvf形式為例)為:voi  dglTexEnv(Gl_enum  target,Gl_enum  pname,GLfloat  param)其中target參數(shù)必須為GL_TEXTURE_ENV,pname參數(shù)必須為GL_TEXTURE_ENV_MODE,而參數(shù)parmn為GL_MODULATE、GL_DECAL或GL_BLEND。紋理坐標(biāo)可以是1、2、3、4維的,通常用齊次坐標(biāo)來表示,即(5,t,r,q)。OpenGL定義紋理坐標(biāo)的函數(shù)為xCoord()。

2, 程序貼圖后的效果

   

                                圖 2

3,關(guān)鍵代碼與技術(shù)

(1)建立模型。

  房屋的模型可以通過如下代碼設(shè)置頂點(diǎn)坐標(biāo),與紋理坐標(biāo)和頂點(diǎn)坐標(biāo)對(duì)應(yīng)。類似于如下代碼實(shí)現(xiàn)。

glBegin(GL_QUADS);

glTexCoord2f(0.0f, 0.0f); glVertex3f(-1.0f, -1.0f,  1.0f);  glTexCoord2f(1.0f, 0.0f); glVertex3f( 1.0f, -1.0f,  1.0f);  glTexCoord2f(1.0f, 1.0f); glVertex3f( 1.0f,  1.0f,  1.0f);  glTexCoord2f(0.0f, 1.0f); glVertex3f(-1.0f,  1.0f,  1.0f); 

glEnd();

(2)確保貼圖不顛倒

在程序中,窗戶和門,墻壁,頂棚和地板都是通過繪制矩形的方式來實(shí)現(xiàn)的,然后對(duì)這個(gè)矩形四個(gè)頂點(diǎn)分別和紋理的四個(gè)頂點(diǎn)相對(duì)應(yīng),使圖像能正常顯示出來不會(huì)顛倒,具體形式如下。 

    glBegin(GL_POLYGON);

    【代碼含義】定義及即將繪制矩形

for F:=0 to FaceCount-1 do

    【代碼含義】對(duì)三維物體中存在多少平面進(jìn)行逐個(gè)處理

    for iVertex:=0 to 3 do

    【代碼含義】對(duì)每個(gè)平米的四個(gè)坐標(biāo)進(jìn)行逐一的處理

    begin

        glNormal3f(Normals[iVertex].X, Normals[iVertex].Y, Normals[iVertex].Z);

    【代碼含義】定義光照的法向量

        if Material.HasTexture then

【代碼含義】如果物體定義了貼圖,則用下面的代碼定義紋理的坐標(biāo)

          glTexCoord2f(TexVerts[iVertex].X, TexVerts[iVertex].Y)

        else

    【代碼含義】否則用下面的顏色代碼,顯示顏色。

          glColor(Material.Diffuse.Vector.Red,Material.Diffuse.Vector.Green, Material.Diffuse.Vector.Blue);

        glVertex3f(Verts[iVertex].X , Verts[iVertex].Y , Verts[iVertex].Z );

      end;

    glEnd;

      這里有三個(gè)OpenGL 的關(guān)鍵函數(shù), glNormal3f,glTexCoord2f glVertex3f。

分別定義了這個(gè)頂點(diǎn)的法向量位置,紋理坐標(biāo)的位置,和頂點(diǎn)坐標(biāo)。

如果法向量的位置設(shè)置錯(cuò)誤,那么光照將不能很好的表現(xiàn)出貼圖的效果,會(huì)使物體看上去沒有真實(shí)的感覺。紋理坐標(biāo)決定該坐標(biāo)點(diǎn)對(duì)應(yīng)于圖片的哪個(gè)角。頂點(diǎn)坐標(biāo) 就是物體的某個(gè)頂點(diǎn)的空間位置了。

(3) 重復(fù)和單片貼圖技術(shù)實(shí)現(xiàn)。

篇10

關(guān)鍵詞:MAXSript;勾線效果;暈染效果;合成效果;彩墨效果

中圖分類號(hào):TP391.41 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9599 (2012) 21-0000-03

近幾年是中國(guó)不平凡的幾年,“中國(guó)熱”現(xiàn)象持續(xù)升溫,中國(guó)特色動(dòng)畫形式——水墨動(dòng)畫經(jīng)歷輝煌、沉寂之后,以三維技術(shù)的形式再次吸引了大家的眼球。

傳統(tǒng)水墨動(dòng)畫曾因難度大、耗時(shí)耗力而難以為繼,三維水墨技術(shù)將水墨動(dòng)畫的難度一再降低,但水墨動(dòng)畫并沒有普及,而水墨效果的模擬已經(jīng)成為制約水墨三維動(dòng)畫發(fā)展的攔路虎。

水墨風(fēng)格效果仿真的處理方式主要為兩類:一類是基于物理原理的模擬,另一類是基于圖像特征提取的模擬,以及再現(xiàn)。第1類方法的特點(diǎn)是繪制,以原畫繪制為主體,水墨效果以位圖為材質(zhì)基本元素,效果好,但缺點(diǎn)是非常耗時(shí)。第2類方法的特點(diǎn)是更加快速,但繪制效果不如前者逼真,且開發(fā)技術(shù)難度大。

從制作動(dòng)畫的角度考慮:使用第1類方法需要大量原畫人員,且只能進(jìn)行離線渲染;使用第2類方法渲染速度快,適合應(yīng)用于網(wǎng)絡(luò)游戲及動(dòng)畫領(lǐng)域。

如何更好的擁有渲染速度快及技術(shù)難度低一點(diǎn)的水墨效果設(shè)計(jì)方法,是一個(gè)值得研究的問題。

1 MAXScript腳本開發(fā)技術(shù)

3ds Max作為國(guó)內(nèi)用戶最多的三維動(dòng)畫設(shè)計(jì)軟件,大受用戶歡迎,然而其三維腳本插件技術(shù)卻鮮為人知。近幾年各高校動(dòng)漫專業(yè)遍地開花,動(dòng)漫學(xué)習(xí)者人數(shù)每年逐次增加,而知道或者聽說過MAXScript的卻寥寥無幾。對(duì)于熟悉3ds Max的人來說,腳本絕對(duì)可以帶給大家全新的理念。

1.1 藝術(shù)設(shè)計(jì)群體腳本開發(fā)技術(shù)分析

一部動(dòng)畫片是否“好”,不在于其所使用的是什么技術(shù),技術(shù)故事畫面和情節(jié)能否打動(dòng)人才最關(guān)鍵。真正好的動(dòng)畫片,靠的是故事本身的感染力和情感訴求與觀眾產(chǎn)生共鳴。作為其表達(dá)情感的一種方式,如何更好地利用現(xiàn)有技術(shù)來為展現(xiàn)畫面感染力服務(wù),是設(shè)計(jì)者最關(guān)注的。動(dòng)畫藝術(shù)設(shè)計(jì)者可以沒有很好的“高深”技術(shù)編程能力,但一定需要具備發(fā)現(xiàn)美、展現(xiàn)美的能力。因此,藝術(shù)設(shè)計(jì)者往往會(huì)將更多的精力用于后者的培養(yǎng),應(yīng)用編程技術(shù)來開發(fā)作品的能力則一般較低。

而三維動(dòng)畫或?yàn)榱诉_(dá)到更真實(shí)更具美感的效果,或?yàn)榱烁焖俣行У耐瓿赡骋惶匦В枰喙δ軓?qiáng)大的應(yīng)用軟件或插件來實(shí)現(xiàn)。

然而CG設(shè)計(jì)行業(yè)的現(xiàn)狀是,插件設(shè)計(jì)者與一線的藝術(shù)作品設(shè)計(jì)者交集較少。尤其國(guó)內(nèi),插件開發(fā)者一般從事圖形學(xué)和三維重建等的研究,而作品設(shè)計(jì)者一般是藝術(shù)設(shè)計(jì)專業(yè)人才[1]。如何將藝術(shù)創(chuàng)作和需求的插件設(shè)計(jì)結(jié)合起來,使基于插件開發(fā)的群體更好地把握所需特效的精髓,是需要解決的一大問題。

1.2 MAXScript腳本特征分析

MAXScript腳本語言最大的優(yōu)勢(shì)——易學(xué)易用。MAXScript非常適合沒有編程基礎(chǔ)的大眾用戶特別是藝術(shù)設(shè)計(jì)類用戶學(xué)習(xí)。因?yàn)樗恼Z法格式和規(guī)則非常少。MAXScript腳本語言除了能把腳本做成工具欄的按鈕以外,還可以通過命令行窗口將用戶在3ds max用戶界面中的操作轉(zhuǎn)化為MAXScript腳本。

腳本語言必須具備的特點(diǎn)——功能強(qiáng)大。MAXScript語言具備一般程序語言的普遍特點(diǎn),而且?guī)缀蹩梢詫?shí)現(xiàn)所有3ds max界面下的交互操作。MAXScript完全基于OpenGL以及VC核心制作,功能強(qiáng)大。如果能好好利用MAXScript,完全可以在3ds max里實(shí)現(xiàn)許多MAYA等工具的優(yōu)勢(shì)功能。

與國(guó)內(nèi)應(yīng)用最廣的三維動(dòng)畫軟件3ds max——融合最好。MAXScript是3ds max內(nèi)置腳本語言,是3ds max軟件最好的表達(dá)式和插件編寫工具。MAXscript很好地融入到了3ds max用戶界面中,可以將腳本集成為程序面板、卷展欄、浮動(dòng)窗口或者工具欄中的一個(gè)按鈕,也可以用來擴(kuò)展或替代對(duì)象、修改器、材質(zhì)、貼圖、渲染效果和大氣效果的默認(rèn)設(shè)置界面。

1.3 MAXScript腳本開發(fā)技術(shù)應(yīng)用

3ds max中的插件又稱作外掛濾鏡(Plug_in),3ds max允許用戶對(duì)軟件功能進(jìn)行重新卡發(fā),對(duì)軟件功能進(jìn)行擴(kuò)展和完善。因此,3ds max中已有的外掛濾鏡,大部分可以重新被擴(kuò)展,或重新定義——在MAXScript腳本語言中這種能力被稱為“規(guī)劃移植”[2]。

MAXScript并不能對(duì)所有的插件進(jìn)行新對(duì)象的擴(kuò)展,部分插件類型限制只能對(duì)已有的插件進(jìn)行功能性擴(kuò)展,如本插件中需要用到的貼圖插件。還有個(gè)別插件類型暫時(shí)還被限制擴(kuò)展。在編寫MAXScript插件時(shí)必須指定對(duì)應(yīng)的插件類型,才能調(diào)用該插件類型的相關(guān)屬性。

MAXScript腳本文件大致可分為3種類型:程序型腳本(.ms)、插件型腳本(.ms或.dlx)和宏腳本(.mcr)。

根據(jù)類型的不同,文件名和所使用的方式也有所不同。3ds max軟件本身提供了很多腳本范例,都可以直接使用,有些非常優(yōu)秀。另外,國(guó)外的一些腳本網(wǎng)站也提供了大量的免費(fèi)或收費(fèi)腳本。

3ds max腳本擴(kuò)展名為*.ms,可以使用記事本來編輯腳本另保存為*.ms,3ds max內(nèi)置有一腳本編輯器,通常使用這種方式來編寫腳本。

MAXScript腳本語言因其語法格式和規(guī)則非常少,操作相對(duì)簡(jiǎn)單,適合沒有編輯基礎(chǔ)的用戶。國(guó)外有不少免費(fèi)學(xué)習(xí)網(wǎng)站,同時(shí)還有不少優(yōu)秀的免費(fèi)插件開源,對(duì)于學(xué)習(xí)MAXScript腳本語言有較大的幫助。

2 基于MAXScript的水墨效果仿真

水墨筆觸的特點(diǎn)遵循了中國(guó)特色藝術(shù)特點(diǎn),所謂“大音希聲,大象無形”,描述的是一種和自然融為一體的境界[3]。水墨筆觸就是一種墨水與宣紙融為一體,墨的濃淡、宣紙不同位置對(duì)墨水的吸收自然呈現(xiàn),仿佛自然存在于宣紙上,沒有刻畫痕跡的特殊筆觸,對(duì)水墨筆觸的模擬難度是可想而知的。

ChineseMaterials水墨材質(zhì)插件是對(duì)水墨暈染[4]與勾線效果[3]的仿真設(shè)計(jì)。通過MAXScript腳本語言對(duì)3ds Max的標(biāo)準(zhǔn)材質(zhì)插件進(jìn)行擴(kuò)展,得到本插件。插件功能模塊如圖1。插件功能結(jié)構(gòu)表如表2。

由于兩部分功能是獨(dú)立存在的,所以,對(duì)造型的筆觸描述可以根據(jù)實(shí)際場(chǎng)景進(jìn)行部分效果的模擬,如有些造型不需要勾線效果,只注重內(nèi)部墨水的自然暈開,就可以只應(yīng)用“暈染效果”功能直接設(shè)計(jì)對(duì)應(yīng)材質(zhì)。

3 仿真效果算法設(shè)計(jì)

ChinesePainter插件主要實(shí)現(xiàn)了對(duì)水墨筆觸的模擬,通過材質(zhì)實(shí)現(xiàn)模塊的“勾線效果”、“暈染效果”、“合成效果”、“彩墨效果”四個(gè)子模塊,實(shí)現(xiàn)了對(duì)水墨效果和彩墨效果的模擬。

3.1 “暈染效果”效果仿真

水墨材質(zhì)插件ChinesePainter 的“暈染效果”模塊是本插件的核心部分。主要用來調(diào)制水墨材質(zhì)的內(nèi)部墨水暈開的效果。具體設(shè)計(jì)算法如下:

Step1 設(shè)置材質(zhì)的不透明度貼圖為衰減貼圖。通過設(shè)置衰減貼圖的顏色、類型、衰減方向并調(diào)整混合曲線,得到衰減效果。

Step2 設(shè)置衰減貼圖1為漸變坡度貼圖。通過指定漸變坡度貼圖參數(shù)的標(biāo)志1、2、3及漸變類型、噪波相關(guān)參數(shù),得到漸變效果。

3.2 “勾線效果”效果仿真

“勾線效果”模塊主要用來模擬外部輪廓線。水墨動(dòng)畫中也有不描繪外部輪廓的造型,所以“勾線效果”模塊為可選項(xiàng)。

本程序段的編寫具體對(duì)材質(zhì)進(jìn)行的設(shè)置與“暈染效果”類似,不同之處在于參數(shù)值的變化。

3.3 “合成效果”效果仿真

“合成效果”部分主要實(shí)現(xiàn)“勾線效果”和“暈染效果”兩種效果的混合效果,用戶需要先設(shè)置“勾線效果”和“暈染效果”兩種材質(zhì),通過“合成效果”按鈕指定合成材質(zhì)的基礎(chǔ)材質(zhì)為“勾線效果”材質(zhì),再指定材質(zhì)1為“暈染效果”材質(zhì),即可實(shí)現(xiàn)兩者的合成效果。

當(dāng)然,在不同的用戶需求下,合成效果的使用情況會(huì)有所不同,對(duì)于不同動(dòng)畫造型,可能出現(xiàn)部分使用合成效果,部分只取勾線效果或暈染效果一種效果的情況。因此,合成功能當(dāng)根據(jù)實(shí)際情況使用。

3.4 “彩墨效果”仿真

“彩墨效果”部分主要實(shí)現(xiàn)用戶對(duì)彩色對(duì)象的設(shè)置需求,如水墨荷花中的荷花等,自然界的許多動(dòng)植物都可以調(diào)制彩墨效果。

Step1設(shè)置材質(zhì)的不透明度貼圖為衰減貼圖。設(shè)置衰減貼圖的color1、color2和curve曲線,并指定衰減貼圖的map1為漸變坡度貼圖,實(shí)現(xiàn)衰減效果。

Step2 設(shè)置漸變坡度的漸變參數(shù),如:flag1、2、3的位置和顏色,并設(shè)置漸變類型和對(duì)應(yīng)噪波參數(shù),實(shí)現(xiàn)漸變效果。

4 實(shí)驗(yàn)結(jié)果

本文使用上述方法,利用MAXScript設(shè)計(jì)了Chinese painter水墨材質(zhì)插件,對(duì)多個(gè)靜態(tài)造型進(jìn)行測(cè)試,均達(dá)到較真實(shí)仿真水墨效果。為了驗(yàn)證將其應(yīng)用于動(dòng)畫、游戲及其他數(shù)字娛樂產(chǎn)業(yè)的可行性,而進(jìn)行了實(shí)時(shí)動(dòng)畫的制作。本文使用3ds max設(shè)計(jì)了一個(gè)簡(jiǎn)單茶壺模型,對(duì)茶壺模型分別進(jìn)行了三種水墨效果的渲染。并制作了一部水墨效果動(dòng)畫短片,對(duì)其中的花朵應(yīng)用彩墨效果進(jìn)行了渲染,渲染窗口大小為800*600(pixel),模型水墨效果仿真如圖4,其中圖4(a)為暈染效果仿真,圖4(b)為勾線效果仿真、圖4(c)為合成效果仿真,圖4(d)為彩墨效果仿真。

5 結(jié)束語

水墨動(dòng)畫作為極具中國(guó)特色的動(dòng)畫形式,在經(jīng)過三維技術(shù)重構(gòu)以后,以全新的形式再次吸引世界的眼球,然而三維水墨技術(shù)的開發(fā)難度大,本文提出一種基于MAXScript腳本的水墨材質(zhì)設(shè)計(jì)方法,操作簡(jiǎn)單易學(xué),并開發(fā)對(duì)應(yīng)的設(shè)計(jì)插件,可以快速自動(dòng)生成默認(rèn)的水墨效果,同時(shí)提供自定義模塊,供廣大藝術(shù)設(shè)計(jì)工作者參考使用。

參考文獻(xiàn):

[1]何芳.基于GPU的3D水墨動(dòng)畫技術(shù)研究[D].天津大學(xué)碩士學(xué)位論文.2008.

[2]王華.3ds MAXScript腳本語言完全學(xué)習(xí)手冊(cè)[M].北京:北京科海電子出版社.2006:755-759.

[3] 鮑海燕.從3DS MAX軟件到三位動(dòng)畫產(chǎn)業(yè)[J].硅谷.2008,(24):194-195.

[4] Bousseau A, kaplanM,Thollot J,et al.Interactive watercolor rendering with temporal coherence and abstraction[C]//Proceedings of the 4th International Symposium on Non-photprealistic Animation and Rendering.New York:ACM Press,2006:141-149.

[5] Luft T,Kobs F,Zinser W,et al.Watercolor illustrations of CAD data [C]//International Symposium on Computational Aesthetics in Graphics,Visualization and Imaging.Lisbon:Eurographics Association,2008:57-63