王美麗,孫 鈺,牛曉靜,陳 偉,曾德興,金 陽,張宏鳴
(西北農(nóng)林科技大學信息工程學院,陜西楊凌712100)
目前通過使用Auto CAD 技術(shù)和3DS MAX 軟件可以建立機械設計基礎上應用的機械零件、標準件等的模型庫,使設計者可以從模型庫中調(diào)用三維模型,進行設計和裝配,對設計和制造工作具有很大的幫助,有關機械零件方面的三維模型庫已經(jīng)初步建立[4-6],針對這些模型庫的檢索工作也有了一定的進展[7]。國內(nèi)外建立的關于動物和人體三維模型及其各器官三維模型非常多,但是這些模型都比較分散,沒有建成完善、專門的動物模型數(shù)據(jù)庫,而且很少有關于動物內(nèi)部結(jié)構(gòu)的模型。因此,建立比較完善的常見家畜及其動物器官模型數(shù)據(jù)庫具有非常重要的意義,使用者能夠方便地檢索到自己需要的模型,提高其工作效率。尤其是近年來出現(xiàn)的虛擬手術(shù)系統(tǒng)是計算機技術(shù)、圖像處理技術(shù)和醫(yī)學物理等科學與醫(yī)學的交叉融合并應用于醫(yī)學領域產(chǎn)生的成果。動物模型數(shù)據(jù)庫的建立為動物虛擬手術(shù)的開發(fā)奠定了基礎[8],可以作為獸醫(yī)專業(yè)學生的術(shù)前培訓。
由于動物形體不規(guī)則,因此需要綜合運用多種建模方法來建立完整的動物模型,這里將分別介紹多種優(yōu)秀建模方法(細分、擠出、鏡像、組合建模等)在常見動物模型建立中的應用[9]。
細分建模主要針對較為規(guī)則的平面光滑曲面的物體。這種建模方法通過對子物體(頂點Vertex或面polygon等)的修改,形成造型物的形狀或大致輪廓,并加入MeshSmooth修改器,設定不同的參數(shù),3DS MAX 會自動插值,重新定義頂點,形成光滑的表面。以山羊的頭部建模為例,首先創(chuàng)建一個長方體,并將建立的長方體轉(zhuǎn)換為可編輯多邊形,增加分段數(shù),對長方體進行修改,使之生成山羊頭部的大概輪廓。圖1為使用細分建模分別建模的山羊、馬頭部模型以及山羊心臟模型。
圖1 細分建模實例Fig.1 Subdivide models for the head of goat and horse and the heart of goat
使用擠出建模建立山羊的軀干模型時,首先選擇頭部模型的背面,然后使用擠出命令擠出脖子,用細分的方法對擠出的脖子進行修改。修改完后再用擠出的方法擠出軀干的大概模型,對擠出的大概模型添加頂點、修改頂點位置和細分處理獲得軀干的最終模型。圖2為使用擠出建模制作的羊身體部分和馬尾巴部分模型。
圖2 擠出建模實例Fig.2 Extrude models for the body of goat and a horse tail
復制和鏡像建模針對有規(guī)則形態(tài)的形體,或排列具有一定的規(guī)律性的造型建模,這也是3DS MAX 建模中常用的方法。由于常見動物模型具有對稱性,對于模型的各個部位(腹部、腿部和頭部等等)均采用鏡像建模的方法。對于類似模型,可以采用復制建模(如腿部)。圖3為使用復制、鏡像建模方法建立的馬、牛腿部模型。
圖3 鏡像建模實例Fig.3 Mirror models for the legs of horse and cattle
動物是由多個相同或者不同的其他部分組成,要完成最終的目標物體,需要利用各種不同的坐標軸,經(jīng)常還需要改變部分的軸心,使用旋轉(zhuǎn)、移動、縮放、對齊、陣列等各種常用工具,通過切換各個視圖來方便的進行操作,最后組合成一個完整的有機部分。通過綜合使用各種建模方法,最終形成的山羊和馬的模型(圖4),可以看出,模型的整體形態(tài)完全接近動物的真實體型,體型結(jié)構(gòu)合理。
模型庫的建立和管理通過Microsoft Visual C++6.0和SQL SERVER2008[10]來實現(xiàn)。圖5為三維動物模型庫的總體框架圖,具體功能描述如下:
(1)模型信息錄入,包括模型文件的選擇,模型的編號,以及模型的名稱。
(2)模型信息修改,選中某一記錄,選擇修改,可修改選中記錄的模型文件、模型的編號和模型的名稱。
設定有m個處理器,主處理器已接收來自從處理器的最優(yōu)解,S={S1,S2,…,Sm},其中 Sm 代表第m個處理器求得的最優(yōu)解,接下來是使用雜交算子方法來分析和處理該最優(yōu)解。上述的算法中,結(jié)合路網(wǎng)的實際,使用了啟發(fā)式雜交算子,通過實驗案例來表達如下所示。
(3)模型信息的刪除,選中某一記錄,選擇刪除,即可將選中的記錄刪除。
(4)模型信息查找,在查找的文本框中輸入要查找的關鍵字,點擊搜索即可將匹配的記錄全部顯示出來??梢赃M行模糊搜索。
圖4 建模完成實例Fig.4 Completed models for goat and horse
圖5 系統(tǒng)總體框架圖Fig.5 The overall framing pipeline for generating animal 3D models database
2.2.1 配置環(huán)境
(1)下載OpenGL庫文件;
(2)將包里的.h文件(gl.h,glu.h,glaux.h)放到VC 的include/gl/目錄下(.../Microsoft Visual Studio/VC98/Include/GL/);
(3)將包里的.lib 文件(glu32.lib,glaux.lib,opengl32.lib)放到.../Microsoft Visual Studio/VC98/Lib/目錄下;
(4)將包里的.dll 文件(glu.dll,glu32.dll,opengl32.dll)放到C://WINDOWS/system32 目錄下;
(5)在每個VC創(chuàng)建的工程作如下設置:project->settings->link選項卡->object/library modules里添加OpenGL32.lib glu32.lib glaux.lib。
2.2.2 數(shù)據(jù)庫鏈接 在工程中導入ADO 動態(tài)鏈接庫msado15.dll,并添加代碼#import"c: Program Files Common Files System ado msado15.dll" no_namespace rename("EOF","adoEOF")rename("BOF","adoBOF"),這樣就可以進行數(shù)據(jù)庫操作。
2.2.3 系統(tǒng)運行 圖6為三維模型庫運行主界面,其中左側(cè)為模型庫信息,右側(cè)為模型顯示。該系統(tǒng)可對模型進行添加、修改和刪除操作,通過雙擊模型信息可以顯示模型,也可以通過查找關鍵字在模型庫中搜索所需模型,支持模糊查找。圖7為羊的前(a)后(b)左(c)右(d)模型,通過按下鼠標右鍵,可以調(diào)整模型的大小,按下鼠標左鍵,可以對模型進行平移和旋轉(zhuǎn)。
本文首先使用3DS MAX 軟件建立常見動物三維模型,針對動物模型的復雜性選取了細分曲面、組合建模技術(shù)來建立動物模型;模型庫的建立和管理通過Microsoft Visual C++6.0和SQL SERVER2008來實現(xiàn),可以實現(xiàn)模型添加、修改、刪除以及檢索等操作。三維模型庫可作為動物科學專業(yè)教學和實習的輔助工具,同時可為虛擬動物手術(shù)奠定基礎。
圖6 系統(tǒng)主界面Fig.6 The main page of animal 3D models database
圖7 不同角度模型顯示圖(以山羊為例)Fig.7 The goat 3D models from different angles
[1]張 華.現(xiàn)代技術(shù)在獸醫(yī)臨床教學中的優(yōu)勢[J].黑龍江畜牧獸醫(yī),2010(23):75.
[2]黎宗強.關于現(xiàn)代家畜解剖學教學的一些改進[J].廣西農(nóng)學報,2012,26(5):75-77.
[3]李春生,韓玉清.現(xiàn)代生物技術(shù)在內(nèi)蒙古鄂爾多斯市家畜改良工作中的應用[J].畜牧與飼料科學,2011(2):62-64.
[4]黃明聰,張樹生,張孝龍,等.一種基于二維草圖的三維CAD模型檢索方法[J].鍛壓裝備與制造技術(shù),2013,48(3):107-110.
[5]方 舟,張利娜,房亞東.云制造中的標準件三維模型庫技術(shù)[J].西安工業(yè)大學學報,2013,32(10):821-824.
[6]王占松,田凌.基于功能的三維模型檢索系統(tǒng)[J].計算機輔助設計與圖形學學報,2013,25(12):1 877-1 885.
[7]Eitz M,Richter R,Boubekeur T,et al.Sketch-based shape retrieval[J].ACM Trans Graph,2012,31(4):31.
[8]Kiefer P,Noack T,Vollroth M,et al.3D-rotational angiography(Dyna-CT)for mitral valve imaging in an acute animal model[C]//Cardiology.Allschwilerstrasse 10,Ch-4009 Basel,Switzerland:Karger,2012,121(2):111-111.
[9]鄭 艷,徐偉偉,李紹勇.3DS Max 2012 基礎教程[M].北京:清華大學出版社,2012.
[10]張 莉.SQL Server數(shù)據(jù)庫原理與應用教程[M].北京:清華大學出版社,2012.