延長攪拌機-本科畢業(yè)論文外文資料翻譯_第1頁
延長攪拌機-本科畢業(yè)論文外文資料翻譯_第2頁
延長攪拌機-本科畢業(yè)論文外文資料翻譯_第3頁
延長攪拌機-本科畢業(yè)論文外文資料翻譯_第4頁
延長攪拌機-本科畢業(yè)論文外文資料翻譯_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

xx地質(zhì)大學(xué)xx學(xué)院本科畢業(yè)論文外文資料翻譯(如果類別為設(shè)計,將上面的“畢業(yè)論文”改為“畢業(yè)設(shè)計”,并將本行紅色字體刪去)系別:專業(yè):姓名:學(xué)號:年月日外文資料翻譯譯文延長攪拌機:摘要-在本文中,我們目前的工作是拓展一個眾所周知的三維圖形建模-攪拌機,來支持觸覺建模和繪制。這種延長攪拌機命名為HAMLAT(觸覺應(yīng)用標(biāo)記語言創(chuàng)作工具)。我們描述修改和添加攪拌器的源代碼,其中已使用創(chuàng)造HAMLAT此外,我們提出和討論設(shè)計的決定時所用的發(fā)展中的HAMLAT,也是一個“路線圖”的實施,其中描述了攪拌器的源代碼的改變。最后,我們的結(jié)論是討論我們未來的發(fā)展及研究途徑。關(guān)鍵詞-觸覺,HAM,圖形建模,攪拌器,虛擬環(huán)境。一.介紹A.動機越來越多的通過觸覺的方式在人類-電腦的互動方式的應(yīng)用造成了對新的工具的巨大的需求,這些新的工具可以幫助新手用戶寫作和編輯觸覺應(yīng)用。目前,觸覺的應(yīng)用發(fā)展過程是一個耗時的經(jīng)歷,它需要編程知識。觸覺應(yīng)用的復(fù)雜性,從一個事實,即觸覺應(yīng)用組件(如觸覺的空氣污染指數(shù),設(shè)備,該觸覺描寫算法等)需要互動圖形組件,以實現(xiàn)同步。此外,一個缺少應(yīng)用可能性,因為應(yīng)用是緊耦合到特定的裝置必須使用其相應(yīng)的空氣污染指數(shù)。因此,設(shè)備和空氣污染指數(shù)的異質(zhì)性,導(dǎo)致兩個研究人員和開發(fā)人員分裂和迷失方向。在檢查所有需要考慮的事時,有對創(chuàng)作工具明確的需要,可以建立觸覺的應(yīng)用,也可以隱藏在應(yīng)用程序建模的編程(如空氣污染指數(shù),裝置,或虛擬模型)。本文介紹了技術(shù)發(fā)展的觸覺應(yīng)用標(biāo)記語言創(chuàng)作工具(HAMLAT)。它的用意是解釋設(shè)計決定用于發(fā)展HAMLAT,還提供了執(zhí)行“路線圖”的一個應(yīng)用,描述該項目的源代碼。B攪拌器HAMLAT是以攪拌器[1]軟件套件為基礎(chǔ),這是一個開放源碼的三維建模套件擁有豐富的功能集。它有一個先進的用戶界面,它以它的高效率和靈活性,以及它的支援多種檔案格式,物理引擎,調(diào)制解調(diào)器等功能出名。由于攪拌器的開放式體系結(jié)構(gòu)和支持共同的基礎(chǔ),它被選定為發(fā)展ofhamlat平臺的首選。攪拌器開放資源的性質(zhì),意味著HAMLAT可以輕易地利用其現(xiàn)有的功能和集中討論相結(jié)合的特點,使其成為一個完整的觸覺-可視化建模工具,發(fā)展為一個三維建模平臺,從無到有,需要相當(dāng)多的發(fā)展時間和專門技術(shù),以便達到攪拌機水平的功能,。同時,我們可以利用由從它的源代碼到HAMLAT源代碼樹的合并的變化改善未來的攪拌器HAMLAT建立在現(xiàn)有攪拌器組件,如用戶界面和編輯工具,通過加入新組建,其中側(cè)重在一個三維場景用于代表修改和渲染觸覺特性的物體。HAMLAT用攪拌器并以此為基礎(chǔ),我們希望建立一個三維觸覺建模工具,它具有成熟等特點,并結(jié)合攪拌器與ofhaptic渲染的新穎性。在編寫本報告的時候,HAMLAT是基于攪拌器2.43版本的源代碼。C.項目目標(biāo)如前所述,HAMLAT項目的總體目標(biāo)是為了產(chǎn)生一個拋光應(yīng)用軟件,它結(jié)合了調(diào)制解調(diào)器圖形建模工具的特點與觸覺繪制技術(shù)。HAMLAT有三維圖形建模軟件包“外觀與感覺”,但是還有另外的功能,例如,作為觸覺渲染和觸覺直觀的描述。這個允許藝術(shù)家,建造家,和開發(fā)商產(chǎn)生逼真的三維觸覺-可視化虛擬環(huán)境。一個HAMLAT高層次的框圖結(jié)果,在圖1中表明。它說明了在觸覺模型的數(shù)據(jù)流,HAMLAT協(xié)助建模者,或應(yīng)用開發(fā)商,在建設(shè)觸覺-視覺應(yīng)用,可存儲在一個數(shù)據(jù)庫中供日后由另一觸覺的應(yīng)用檢索。由觸覺-視覺的應(yīng)用我們參考任何在視覺上顯示三維場景的軟件,haptically給一個用戶一個虛擬的設(shè)置。一個XML文件的格式,所謂HAML[2],是用來描述三維場景和儲存觸覺-視覺環(huán)境,通過興建一建模后播放給最終用戶。傳統(tǒng)上,建設(shè)觸覺-視覺環(huán)境已需要一個強有力的技術(shù)和方案的背景。繪制三維場景的任務(wù)是繁瑣的。所以在現(xiàn)場觸覺性能必須分配給個人,為完成這項任務(wù),目前有幾個問題。HAMLAT橋梁,這個差距通過融入haml框架和提供完整的解決方案,發(fā)展觸覺-視覺應(yīng)用,無需編程知識。其余的文件,組織情況如下:在第2部分中,我們目前建議的架構(gòu)擴展并討論設(shè)計的限制。在第3部分中介紹執(zhí)行的細節(jié),以及觸覺性使內(nèi)部的攪拌器框架能如何補充和拓展。第4部分我們討論工作中有關(guān)的問題和今后的工作途徑。二.編輯和可視化攪拌器的設(shè)計理念,是基于三個主要任務(wù):數(shù)據(jù)存儲,編輯和可視化。據(jù)遺留的文件[3],它沿襲了開發(fā)周期為三維建模數(shù)據(jù)管道可視-編輯。一個三維場景代表的是在該攪拌器結(jié)構(gòu)中使用數(shù)據(jù)結(jié)構(gòu)。該建模者觀看現(xiàn)場,進行更改,使用編輯界面直接修改底層的數(shù)據(jù)結(jié)構(gòu),然后循環(huán)重復(fù)。為了更好地了解這方面的發(fā)展周期,考慮在攪拌器中一個三維物體的代表體。一個三維物體可代表一個數(shù)組的頂點,其中有舉辦了作為一個多邊形網(wǎng)格。用戶可以選擇運作的任何數(shù)據(jù)集。編輯的任務(wù)可能包括行動,旋轉(zhuǎn),稱重和翻譯頂點,或者從四到三角拓撲結(jié)構(gòu),也許重新嚙合算法,“清理”多余的頂點和變換,。數(shù)據(jù)可視化使用圖形三維渲染這是能夠顯示的對象作為一個線框或作為一個陰影,固體表面可視化是必要的,就編輯整體而言便見影響,總而言之,這個例子定義設(shè)計背后是攪拌器的建筑理念。在攪拌機,數(shù)據(jù)是作為一個有組織的一系列名單和相應(yīng)的數(shù)據(jù)類型相結(jié)合,與項目之間的聯(lián)系在每份名單中,從簡單的結(jié)構(gòu)中創(chuàng)造復(fù)雜的場景,這使得數(shù)據(jù)元素,在每個清單都可以重復(fù)使用,從而減少整體的存儲需求。舉例來說,網(wǎng)格可能與多個現(xiàn)場的物體相連接,但位置和方向可能會改變,而每一個物件和拓撲結(jié)構(gòu)的網(wǎng)格保持不變。說明該組織的數(shù)據(jù)結(jié)構(gòu)和重用現(xiàn)場的要素是在如圖2中所示。一個現(xiàn)場物件連結(jié)三個對象,其中每個鏈接到兩個多邊形網(wǎng)格。該網(wǎng)格也都有一個共同的物質(zhì)財產(chǎn)。整個現(xiàn)場呈現(xiàn)的由數(shù)個可視化現(xiàn)場的屏幕到一個網(wǎng)絡(luò)上。我們采用攪拌器的設(shè)計方法,為我們創(chuàng)作工具。數(shù)據(jù)結(jié)構(gòu)用來代表物體在一個三維場景已擴大到包括該領(lǐng)域的觸覺特性(例如,剛度,阻尼);用戶界面組件(例如,按鈕面板)允許建模者改變對象屬性而得到更新,包括支持修改觸覺性能的一個對象。此外,互動觸覺-視覺渲染已實施,以顯示三維場景生動和haptically,反饋現(xiàn)場有關(guān)情況即時提供給建模者或藝術(shù)家。在現(xiàn)在的HAMLAT的版本中,攪拌機的框架的寫稿包括如下:*數(shù)據(jù)結(jié)構(gòu)代表觸覺性能,*編輯界面為了修改觸覺性能,*外部轉(zhuǎn)譯為展示及預(yù)覽啟用的場面,*腳本讓場面擬進口/出口以HAMLAT的檔案格式。概述了攪拌器框架的變化,在圖3中所示。與HAMLAT有關(guān)的組建是灰色的陰影。HAMLAT建立在現(xiàn)有攪拌器子系統(tǒng)上,延長他們是為了為觸覺建模。觸覺和動覺線索,顯示由于與虛擬物體互動,在通常提供的基礎(chǔ)上,幾何的網(wǎng)格,無損檢測存儲在此數(shù)據(jù)類型?,F(xiàn)場的其他部件,如燈光,照相機,或線條不能直觀地提供使用力反饋觸覺設(shè)備,但并不是現(xiàn)在觸覺設(shè)計的興趣所在。增強版的網(wǎng)格數(shù)據(jù)結(jié)構(gòu)如圖4所示。它包含的領(lǐng)域頂點和面對數(shù)據(jù),再加上一些特殊的自定義數(shù)據(jù)領(lǐng)域,允許數(shù)據(jù)被儲存到/來自磁盤和內(nèi)存。我們已修改這個數(shù)據(jù)類型,包括一個指針,以mhaptics數(shù)據(jù)結(jié)構(gòu),儲存觸覺性能如剛度,阻尼和摩擦,為網(wǎng)格元素(圖5)。A2.編輯網(wǎng)絡(luò)數(shù)據(jù)類型值得注意的是網(wǎng)絡(luò)數(shù)據(jù)類型由一個固定的數(shù)據(jù)類型,名字叫編輯網(wǎng)絡(luò),它在編輯網(wǎng)絡(luò)時使用,它包含了定點,邊緣,和全局網(wǎng)絡(luò)的面對數(shù)據(jù)的復(fù)件。當(dāng)用戶轉(zhuǎn)到編輯代碼時,攪拌機把數(shù)據(jù)從一個網(wǎng)絡(luò)復(fù)制到一個編輯網(wǎng)絡(luò),當(dāng)編輯結(jié)束,那么數(shù)據(jù)就復(fù)制回去。必須注意確保觸覺數(shù)據(jù)結(jié)構(gòu)在復(fù)制的過程中保持完整,編輯網(wǎng)絡(luò)沒有轉(zhuǎn)變成包含觸覺數(shù)據(jù)的復(fù)件,但是這個可以在未來的版本中改變(如果這個功能被要求的話),這個編輯方式主要應(yīng)用在修改地質(zhì)學(xué)和地理學(xué)網(wǎng)絡(luò),不是觸覺和圖像的拓展的特征。A3.觸覺特性在這個部分中,我們簡要的討論觸覺特性,這個可能用HAMLAT來進行模型化。建模者在應(yīng)用觸覺渲染了解這些特性和他們分布是重要的。一個堅硬的物體,決定了堅固程度。,例如一塊巖石或者一個桌子,都有非常高的堅硬度。軟物體,例如橡膠球,是有非常低的硬度。一個物體的這種硬度和軟度用在彈跳力公式:當(dāng)反作用力f呈現(xiàn)在用戶面前,計算是用物體的硬度系數(shù)Ks(變量名為硬度)和x滲透深度(轉(zhuǎn)移)。硬度系數(shù)的范圍是在0和1之間。0表示畸變沒有抵抗力。而1是最大值,它可以被觸覺設(shè)備測量到一個物體的抑制力,代表了它對畸變的抵抗力。它通常用公式:Kd是抑制系數(shù)(變量名是抑制),并且dx/dy是速度。這個抑制系數(shù)范圍也是在0和1之間。一系列的[0,1],并可能被用來模擬粘性行為的物質(zhì)。它還增加了穩(wěn)定性靜摩擦(變數(shù)名稱stjriction)和動態(tài)摩擦(變數(shù)名稱dyjriction)系數(shù)是用來摩擦力量的模型,在有經(jīng)驗的情況下,探索表面的三維對象。靜摩擦力在運行時,代理是不能移動超過物體表面的,初步的力量必須用來克服靜摩擦。動態(tài)摩擦是感覺的舉動,在整個表面,與摩擦相反。摩擦系數(shù)也有一個范圍【0,1】,值為0時,表面上的一個三維物體覺得“滑”,值為1時,感到非常粗糙的。摩擦力通常呈現(xiàn)在一方向上,切向碰撞點的觸覺在物體表面。B編輯攪拌器使用一組非重疊的窗口,也即是所謂的空間來修改各方面的三維場景和對象。每個空間分成了一套領(lǐng)域和背景。也就是,他們提供功能在選定對象的類型的基礎(chǔ)上。例如,如果一個相機選定的嵌板即將展出組件,允許建模者改變攝像機的焦距長度和視角,但如果對象的另一種類型是選定的,這些組件將不會出現(xiàn)。圖6顯示屏幕發(fā)射按鈕,它是用來編輯觸覺網(wǎng)格的屬性的。它包括用戶界面面板允許建模改變圖形遮光性能的網(wǎng)格,進行簡單的重新嚙合行為,并修改觸覺性能而選擇網(wǎng)格。HAMLAT沿襲了脈絡(luò)的敏感行為,當(dāng)攪拌器只顯示觸覺編輯小組時,多邊形網(wǎng)格對象被選中。在未來的日子,這個小組可能會重復(fù)支持觸覺建模的其他物體類型,例如NURB表面。攪拌器框架提供了許多用戶界面元件(例如,按鈕,滑塊,彈出式菜單),在可用于編輯的基本數(shù)據(jù)結(jié)構(gòu)。那個觸覺性能的網(wǎng)格對象是編輯的使用滑塊,或進入一個浮動值到一個文本框位于毗鄰的滑桿。當(dāng)價值滑塊/方塊值改變時,觸發(fā)一個事件,在攪拌器窗口會顯示一個獨特的識別標(biāo)志,表明窗分制度。這項活動是為觸覺和HAMLAT代碼應(yīng)稱為更新觸覺用于當(dāng)前選定的主題詞。C.觸覺視覺渲染攪拌器目前支持的圖形繪制場景使用內(nèi)部渲染或外部渲染(例如,[4])。本著這一精神,觸覺渲染所使用的HAMLAT已發(fā)展為一個外部渲染。它使用OpenGL和openhaptics工具箱[5]分別執(zhí)行圖形和觸覺的渲染。三維場景,正在建模的渲染應(yīng)用在兩個階段:第一個是圖像場景,第二個是觸覺。第二個是要求的,因為openhaptics工具包攔截命令傳送給OpenGL的管道和使用它們,以顯示現(xiàn)場用觸覺渲染技術(shù)。在此通過觸覺性能,使每個網(wǎng)格對象使用得多,在通過同樣的方式和顏色,照明所使用的圖形呈現(xiàn)給他們,界定這類材料為每個對象節(jié)省CPU周期,照明及圖形材料從觸覺繪制通過時被排除。圖7顯示的源代碼是用來適用材料性能在觸覺繪制通過。那個觸覺渲染是獨立的從攪拌機框架在它的存在以外的原始源代碼。然而,它仍然嚴重依賴于攪拌器的數(shù)據(jù)結(jié)構(gòu)和類型。D腳本攪拌器(bpy)包裝,暴露了許多內(nèi)部數(shù)據(jù)結(jié)構(gòu),使內(nèi)部的Python腳本引擎可能訪問它們類似的數(shù)據(jù)結(jié)構(gòu),用于代表網(wǎng)格物體在這個攪拌器的框架內(nèi)包裝,一個三維場景讓用戶定義的腳本訪問和修改的內(nèi)容。一個網(wǎng)格物體的觸覺特性可以通過網(wǎng)絡(luò)包裝來達到已添加到每個這些階段和通過訪問的Python腳本系統(tǒng)。圖8顯示原碼來讀取觸覺性能,從網(wǎng)格對象和出口到一個文件。類似的代碼是用來進口/出口HAML場景從到檔案。在HAMLAT的應(yīng)用,腳本允許從haml文件中讀和轉(zhuǎn)載進口的三維場景,出口腳本,允許三維場景要寫入到一個HAML文件中,并且應(yīng)用在另一個HAML應(yīng)用中該bpy封套也揭露攪拌器窗制度。圖9顯示了小組時,會出現(xiàn)用戶出口三維場景向haml檔案格式。它允許用戶指定的補充資料關(guān)于應(yīng)用程序,如描述,目標(biāo)硬件和系統(tǒng)需求。這些都是領(lǐng)域所定的haml規(guī)格[2],并已列入與執(zhí)筆的現(xiàn)場,作為部分的haml檔案格式。用戶界面組件上顯示的這個小組很容易擴展到未來修改的HAML。目前,HAMLAT支持基本功能建模和繪制觸覺-視覺應(yīng)用。場景可以創(chuàng)建,編輯,預(yù)覽,和出口的部分一個數(shù)據(jù)庫,以便使用在其他觸覺-視覺應(yīng)用。不過,還有很多方法,能夠讓我們繼續(xù)利用現(xiàn)有的攪拌器的功能。作為今后的工作中,我們的擴展計劃,以HAMLAT包括支持其他觸覺平臺和設(shè)備。目前,HAMLAT一系列的設(shè)備是支持自互動渲染,是依賴于該openhaptics工具箱[5]。為了支持其他設(shè)備,跨平臺的圖書館,如chai3d或haptik可能被用來執(zhí)行渲染。這些圖書館支持繪制大范圍的觸覺硬件。所幸的是,由于我們執(zhí)行中模塊化,只有互動觸覺渲染需要改變。此外,支持多種硬件平臺,用戶界面組件,使選拔和配置觸覺設(shè)備將是重要的。多數(shù)的可能,這將是,增加一條,作為用戶使用部分編好程序在攪拌器中。加入支持觸覺設(shè)備的一部分,編輯任務(wù)也是有計劃的功能。這將方便建模修改形狀,位置。和其他在現(xiàn)場的對象。舉例來說,多選擇方式在攪拌允許用戶操縱地理的三維物體用自然的界面,類似重塑一塊粘土。HAMLAT將在此基礎(chǔ)上讓建模操縱接口。外文原文HAVE'2007-IEEEInternationalWorkshoponHapticAudioVisualEnvironmentsandtheirApplicationsOttawa,ExtendingBlender:DevelopmentofaHapticAuthoringToolSheldonAndrews',MohamadEid2,AtifAlamri2,andAbdulmotalebElSaddik2MultimediaCommunicationsResearchLaboratory-MCRLabSchoolofInformationTechnologyandEngineering-UniversityofOttawaOttawa,Ontario,KIN6N5,Canada'sandrO71]@site.uottawa.ca,2teid,atifWabed]@mcrlab.uottawa.CaAbstract-Inthispaper,wepresentourworktoextendawellknown3Dgraphicmodeler-Blender-tosupporthapticmodelingandrendering.TheextensiontoolisnamedHAMLAT(HapticApplicationMarkupLanguageAuthoringTool).WedescribethemodificationsandadditionstotheBlendersourcecodewhichhavebeenusedtocreateHAMLATFurthermore,wepresentanddiscussthedesigndecisionsusedwhendevelopingHAMLAT,andalsoanimplementation"roadmap"whichdescribesthechangestotheBlendersourcecode.Finally,weconcludewithdiscussionofourfuturedevelopmentandresearchavenues.Keywords-Haptics,HAML,GraphicModelers,Blender,VirtualEnvironments.I.INTRODUCTIONA.MotivationTheincreasingadoptionofhapticmodalityinhuman-computerinteractionparadigmshasledtoahugedemandfornewtoolsthathelpnoviceuserstoauthorandedithapticapplications.Currently,thehapticapplicationdevelopmentprocessisatimeconsumingexperiencethatrequiresprogrammingexpertise.Thecomplexityofhapticapplicationsdevelopmentrisesfromthefactthatthehapticapplicationcomponents(suchasthehapticAPI,thedevice,thehapticrenderingalgorithms,etc.)needtointeractwiththegraphiccomponentsinordertoachievesynchronicity.Additionally,thereisalackofapplicationportabilityastheapplicationistightlycoupledtoaspecificdevicethatnecessitatestheuseofitscorrespondingAPI.Therefore,deviceandAPIheterogeneityleadtothefragmentationanddisorientationofbothresearchersanddevelopers.Inviewofalltheseconsiderations,thereisaclearneedforanauthoringtoolthatcanbuildhapticapplicationswhilehidingprogrammingdetailsfromtheapplicationmodeler(suchasAPI,device,orvirtualmodel).ThispaperdescribesthetechnicaldevelopmentoftheHapticApplicationMarkupLanguageAuthoringTool(HAMLAT).ItisintendedtoexplainthedesigndecisionsusedfordevelopingHAMLATandalsoprovidesanimplementation"roadmap",describingthesourcecodeoftheproject.B.BlenderHAMLATisbasedontheBlender[1]softwaresuite,whichisanopen-source3Dmodelingpackagewitharichfeatureset.Ithasasophisticateduserinterfacewhichisnotedforitsefficiencyandflexibility,aswellasitssupportsformultiplefileformats,physicsengine,modemcomputergraphicrenderingandmanyotherfeatures.BecauseofBlender'sopenarchitectureandsupportivecommunitybase,itwasselectedastheplatformofchoicefordevelopmentofHAMLAT.Theopen-sourcenatureofBlendermeansHAMLATcaneasilyleverageitsexistingfunctionalityandfocusonintegratinghapticfeatureswhichmakeitacompletehapto-visualmodelingtool,sincedevelopinga3DmodelingplatformfromscratchrequiresconsiderabledevelopmenttimeandexpertiseinordertoreachtheleveloffunctionalityofBlender.Also,wecantakeadvantageoffutureimprovementstoBlenderbymergingchangesfromitssourcecodeintotheHAMLATsourcetree.HAMLATbuildsonexistingBlendercomponents,suchastheuser-interfaceandeditingtools,byaddingnewcomponentswhichfocusontherepresentation,modification,andrenderingofhapticpropertiesofobjectsina3Dscene.ByusingBlenderasthebasisforHAMLAT,wehopetodevelopa3DhapticmodelingtoolwhichhasthematurityandfeaturesofBlendercombinedwiththenoveltyofhapticrendering.Atthetimeofwriting,HAMLATisbasedonBlenderversion2.43sourcecode.C.ProjectGoalsAspreviouslystated,theoverallgoalfortheHAMLATprojectistoproduceapolishedsoftwareapplicationwhichcombinesthefeaturesofamodemgraphicmodelingtoolwithhapticrenderingtechniques.HAMLAThasthe"lookandfeel"ofa3Dgraphicalmodelingpackage,butwiththeadditionoffeaturessuchashapticrenderingandhapticpropertydescriptors.Thisallowsartists,modelers,anddeveloperstogeneraterealistic3Dhapto-visualvirtualenvironments.Ahigh-levelblockdiagramofHAMLATisshowninFigure1.Itillustratestheflowofdatainthehapticmodeling.HAMLATassiststhemodeler,orapplicationdeveloper,inbuildinghapto-visualapplicationswhichmaybestoredinadatabaseforlaterretrievalbyanotherhapticapplication.Byhapto-visualapplicationwerefertoanysoftwarewhichdisplaysa3Dscenebothvisuallyandhapticallytoauserinavirtualsetting.AnXMLfileformat,calledHAML[2],isusedtodescribethe3Dscenesandstorethehapto-visualenvironmentsbuiltbyamodelerforlaterplaybacktoanenduser.Traditionally,buildinghapto-visualenvironmentshasrequiredastrongtechnicalandprogrammingbackground.Thetaskofhapticallyrenderinga3Dsceneistedioussincehapticpropertiesmustbeassignedtoindividualobjectsinthesceneandcurrentlytherearefewhigh-leveltoolsforaccomplishingthistask.HAMLATbridgesthisgapbyintegratingintotheHAMLframeworkanddeliveringacompletesolutionfordevelopmentofhapto-visualapplicationsrequiringnoprogrammingknowledge.Theremainderofthepaperisorganizedasfollows:inSection2,wepresenttheproposedarchitectureextensionsanddiscussdesignconstraints.Section3describestheimplementationdetailsandhowhapticpropertiesareaddedandrenderedwithintheBlenderframework.InSection4wediscussrelatedissuesandfutureworkavenues.II.SYSTEMOVERVIEWANDARCHITECTURETheBlenderdesignphilosophyisbasedonthreemaintasks:datastorage,editing,andvisualization.Accordingtothelegacydocumentation[3],itfollowsadata-visualize-editdevelopmentcycleforthe3Dmodelingpipeline.A3DsceneisrepresentedusingdatastructureswithintheBlenderarchitecture.Themodelerviewsthescene,makeschangesusingtheeditinginterfacewhichdirectlymodifiestheunderlyingdatastructures,andthenthecyclerepeats.Tobetterunderstandthisdevelopmentcycle,considertherepresentationofa3DobjectinBlender.A3Dobjectmayberepresentedbyanarrayofverticeswhichhavebeenorganizedasapolygonalmesh.Usersmaychoosetooperateonanysubsetofthisdataset.Editingtasksmayincludeoperationstorotate,scale,andtranslatethevertices,orperhapsare-meshingalgorithmto"cleanup"redundantverticesandtransformfromaquadtoatriangletopology.Thedataisvisualizedusingagraphical3Drendererwhichiscapableofdisplayingtheobjectasawireframeorasashaded,solidsurface.Thevisualizationisnecessaryinordertoseetheeffectsofeditingonthedata.Inanutshell,thisexampledefinesthedesignphilosophybehindBlender'sarchitecture.InBlender,dataisorganizedasaseriesoflistsandbasedatatypesarecombinedwithlinksbetweenitemsineachlist,creatingcomplexscenesfromsimplestructures.Thisallowsdataelementsineachlisttobereused,thusreducingtheoverallstoragerequirements.Forexample,ameshmaybelinkedbymultiplesceneobjects,butthepositionandorientationmaychangeforeachobjectandthetopologyofthemeshremainsthesame.AdiagramillustratingtheorganizationofdatastructuresandreuseofsceneelementsisshowninFigure2.Asceneobjectlinkstothreeobjects,eachofwhichlinktotwopolygonalmeshes.Themeshesalsoshareacommonmaterialproperty.Theentiresceneisrenderedononeofseveralscreens,whichvisualizesthescene.WeadopttheBlenderdesignapproachforourauthoringtool.Thedatastructureswhichareusedtorepresentobjectsina3Dscenehavebeenaugmentedtoincludefieldsforhapticproperties(e.g.,stiffness,damping);userinterfacecomponents(e.g.,buttonpanels)whichallowthemodelertochangeobjectpropertieshavealsobeenupdatedtoincludesupportformodifyingthehapticpropertiesofanobject.Additionally,aninteractivehapto-visualrendererhasbeenimplementedtodisplaythe3Dscenegraphicallyandhaptically,providingthemodelerorartistwithimmediatefeedbackaboutthechangestheymaketothescene.inthecurrentversionoftheHAMLAT.themodificationstotheBlenderframeworkinclude:datastructuresforrepresentinghapticproperties,aneditinginterfaceformodifyinghapticproperties,anexternalrendererfordisplayingandpreviewinghapticallyenabledscenes,scriptswhichallowscenestobeimported/exportedintheHAMLfileformat.AclassdiagramoutliningthechangestotheBlenderrameworkisshowninFigure3.ComponentswhichareertinenttoHAMLATareshadedingray.HAMLATbuildsonexistingBlendersub-systemsbyextendingthemorhapticmodelingpurposes.Datastructuresforrepresentingobjectgeometryandgraphicalrenderingareaugmentedtoincludefieldwhichencompassthetactilepropertiesnecessaryforhapticrendering.ToallowtheusertomodifyhapticpropertiesGUIComponentsareintegratedaspartoftheBlendereditingpanels.TheoperationstriggeredbythesecomponentsoperatedirectlyonthedatastructuresusedforrepresentinghaticcuesandmaybeconsideredpartoftheeditingstepoftheBlenderdesigncycle.Similarlytothebuilt-ingraphicalrenderer,HAMLATusesacustomrendlererfordisplaying3Dsscenesgrphcalandhaptcall,anisineednoftheBlenderrenderer.Thiscomponentisdevelopedindependentlysincehapticalandgraphicalrenderingmustbeperformedsimultaneouslyandsynchronously.Asimulationloopisusedtoupdatehapticrenderingforcesataratewhichmaintainsstabilityandquality.Adetaileddiscussionoftheimplementationoftheseclassesandtheirconnectivityisgiveninthenextsection.IIIIMLIEMENTATIONADataStructureA.1MeshDataTypeBlenderusesmanydifferentdatastructurestorepresentthevarioustypesofobjectsina3Dsceneavertices;alampcontainscolourandintensityvalues;andcameraaobjectcontainsintrinsicviewingparameters.TheMeshdatastructureiSusedbytheBlenderinframeworktodescribeapolygonalmeshobject.ItiSofparticularinterestforhapicrenderingsincemanysolidobjectsina3Dscenemayberepresentedusingthistypeofdatastructure.Thetactileandkinestheticcues,whicharedisplayedduetointeractionwithvirtualobjects,aretypicallyrenderedbasedonthegeometryofthemesh.Hpticrenderingisperformedbasedprimaryondatastoredinthisdatatype.Otherscenecomponentssuchaslamps,cameras,orlinesarenotintuitivelyrenderedusingforcefeedbackhapticdevicesandarethereforenotofcurrentinterestforhapticrendering.AnaugmentedversionoftheMeshdatastructureisshowninFigure4.Itcontainsfieldsforvertexandfacedata,plussomespecialcustomdatafieldswhichallowdatatobestoredto/retrievedfromdiskandmemory.WehavemodifiedthisdatatypetoincludeapointertoaMHapticsdatastructure,whichstoreshapticpropertiessuchasstiffness,damping,andfrictionforthemeshelements(Figure5).A.2EditMeshDataTypeItshouldbenotedthattheMeshdatatypehasacomPlimentarydatastructure,calledEditMesh,whichisusedwheneditingmeshdata.Itholdsacopyofthevertex,edge,andfacedataforapolygonalmesh.whentheuserswitchestoeditingmode,theBlendercopiesthedatafromaMeshintoanEditMeshandwheneditingiscompletethedataiscopiedback.Caremustbetakentoensurethatthehapicpropertydatastructureremainsintactduringthecopysequence.TheEditMeshdatastructurehasnotbeenmodifiedtocontainacopyofthehapicpropertydata,butthismaypropertiesineditmodeisrequired).Theeditingmodeismainlyusedtomodifymeshtopologyandgeometry,notthehapticandgraphicalrenderingcharacteristics,A.3HapticPropertiesInthissectionwe'llbrieflydiscussthehapticpropertieswhichmaycurrentlybemodeledusingHAMLAT.Itisimportantforthemodelertounderstandthesepropertiesandtheirbasisforuseinhapticrendering.Thestiffnessofanobjectdefineshowresistantitistodeformationbysomeappliedforce.Hardobjects,suchasarockortable,haveveryhighstiffness;softobjects,suchasrubberball,havelowstiffness.Thehardness-softnessofanobjectistypicallyrenderedusingthespring-forceequation:Wheretheforcefeedbackvectorfwhichisdisplayedtotheuseriscomputedusingksthestiffnesscoefficient(variablenamestiffness)fortheobjectandxthepenetrationdepth(displacement)ofthehapticproxyintoanobject.Thestiffnesscoefficienthasarangeof[0,1],where0representsnoresistancetodeformationand1representsthemaximumstiffnesswhichmayberenderedbythehapticdevice.Thedampingofanobjectdefinesitsresistancetotherateofdeformationduetosomeappliedforce.Itistypicallyrenderedusingtheforceequation:Wherekdisthedampingcoefficient(variablename}MHaptics;damping)anddepdtisthevelocityofthehapticproxyasit;penetratesanobject.Thedampingcoefficientalsohasarangeof[0,1]andmaybeusedtomodelviscousbehaviourofamaterial.Italsoincreasesthestabilityofthehapticrenderingloopfordstiffmaterials.Thestaticfriction(variablenamestjriction)anddynamicfriction(variablenamedyjriction)coefficientareusedtomodelthefrictionalforcesexperiencedwhileexploringthesurfaceofa3Dobject.Staticfrictionisexperiencedwhentheproxyisnotmovingovertheobject'ssurface,andaninitialforcemustbeusedtoovercomestaticfriction.Dynamicfrictionisfeltwhentheproxymovesacrossthesurface,rubbingagainstit.Frictionalcoefficientsalsohavearangeof/0,1],withavalueof0makingthesurfaceofa3Dobjectfeel"slippery"andavalueof1makingtheobjectfeelveryrough.Frictionalforcesaretypicallyrenderedinadirectiontangentialtothecollisionpointofthehapticproxyatanobject'ssurface.B.EditingBlenderusesasetofnon-overlappingwindowscalledspacestomodifyvariousaspectsofthe3Dsceneanditsobjects.Eachspaceisdividedintoasetofareasandpanelswhicharecontextaware.Thatis,theyprovidefunctionalitybasedontheselectedobjecttype.Forexample,ifacameraisselectedthepanelwilldisplaycomponentswhichallowthemodelertochangethefocallengthandviewingangleofthecamera,butthesecomponentswillnotappearifanobjectofanothertypeisselected.Figure6showsascreenshotofthebuttonspacewhichisusedtoeditpropertiesforahapticmesh.Itincludesuser-interfacepanelswhichallowamodelertochangethegraphicalshadingpropertiesofthemesh,performsimplere-meshingoperations,andtomodifythehapticpropertiesoftheselectedmesh.HAMLATfollowsthecontext-sensitivebehaviorofBlenderbyonlydisplayingthehapticeditingpanelwhenapolygonalmeshobjectisselected.Inthefuture,thispanelmaybeduplicatedtosupporthapticmodelingforotherobjecttypes,suchasNURBsurfaces.TheBlenderframeworkoffersmanyuser-interfacecomponents(e.g.,buttons,sliders,pop-upmenus)whichmaybeusedtoedittheunderlyingdatastructures.Thehapticpropertiesformeshobjectsareeditableusingslidersorbyenteringafloatvalueintoatextboxlocatedadjacenttotheslider.Whenthevalueoftheslider/textboxischanged,ittriggersaneventintheBlenderwindowsub-system.AuniqueidentifierthattheeventisforthehapticpropertypanelandtheHAMLATcodeshouldbecalledtoupdatehapticpropertiesforthecurrentlyselectedmesh.CHapto-VisualRenderingBlendercurrentlysupportgraphicalrenderingofscenesusinganinternalrenderoranexternalrenderer(e.g.,[4]).Inthisspirit,thehapticrendererusedbyHAMLAThasbeendevelopedasanexteralrenderer.ItusestheOpenGLandOpenHapticstoolkit[5]toperformgraphicandhapicrendering,respectively.The3Dscenewhichisbeingmodeledisrenderedusingtwopasses:thefirstpassrenderthescenegraphically,andthesecondpassrendersithaptically.ThesecondpassisrequiredbecausetheOpenHapticstoolkitinterceptscommandssendtotheOpenGLpipelineandusesthemtodisplaythesceneusinghapticrenderingtechniques.Inthispass,thehapticpropertiesofeachmeshobjectareusedmuchinthesamewaycolorandlightingareusedbygraphicalrenderingtheydefinethetypeofmaterialforeachobject.TosaveCPUcycles,thelightingandgraphicalmaterialpropertiesareexcludedfromthehapticrenderingpass.Figure7showssourcecodewhichisusedtoapplythematerialpropertiesduringthehapticrenderingpass.ThehapticrendererisindependentfromtheBlenderframeworkinthatitexistsoutsidetheoriginalsourcecode.However,itisstillheavilydependentonBlenderdatastructuresandtypes.D.ScriptingTheBlenderPython(BPy)wrapperexposesmanyoftheinternaldatastructures,givingtheinternalPythonscriptingenginemayaccessthem.SimilartothedatastructuresusedforrepresentingmeshobjectsinthenativeBlenderframework,wrappersallowuserdefinedscriptstoaccessandmodifytheelementsina3Dscene.ThehapicpropertiesofameshobjectmaybeaccessedthroughtheMeshwrapperclass.AhapticsattributehasbeenaddedtoeachoftheseclassesandaccessedthroughthePythonscriptingsystem.Figure8showsPythoncodetoreadthehapticpropertiesfromameshobjectandexporttoafile.Similarcodeisusedtoimport/exportHAMLscenesfrom/tofiles.Animportscriptallows3DscenestobereadfromaHAMLfileandreproducedintheHAMLATapplication;exportscriptallows3DscenestobewrittentoaHAMLfile,includinghapticproperties,andusedinotherHAMLapplications.TheBPywrappersalsoexposetheBlenderwindowingsystem.Figure9showsapanelwhichappearswhentheuserexportsa3DscenetotheHAMLfileformat.Itallowstheusertospecifysupplementaryinformationabouttheapplicationsuchasadescription,targethardware,andsystemrequirements.ThesearefieldsdefinedbytheHAMLspecification[2]andareincludedwiththeauthoredsceneaspartoftheHAMLfileformat.User-interfacecomponentsdisplayedonthispanelareeasilyextendedtoagreewiththefuturerevisionsofHAML.ThecurrentversionofHAMLATshowsthataunifiedmodelingtoolforgraphicsandhapticsispossible.Promisingly,thefeaturesformodelinghapticpropertieshavebeenintegratedseamlesslyintotheBlenderframework,whichindicatesitwasagoodchoiceasaplatformfordevelopmentofthistool.Blender'smodulararchitecturewillmakefutureadditionstoitsframeworkverystraightforward.Currently,HAMLATsupportsbasicfunctionalityformodelingandrenderinghapto-visualapplications.Scenesmaybecreated,edited,previewed,andexportedaspartofadatabaseforuseinbyotherhapto-visualapplications,suchastheHAMLplayer[6].However,thereisroomforgrowthandintherearemanymorewayswecancontinueleveragingexistingBlenderfunctionality.Asperfuturework,weplantoextendHAMLATTOincludesupportforotherhapticplatformsanddevices.Currently,onlythePHANTOMseriesofdevicesissupportedsincetheinteractiverendererisdependentontheOpenHapticstoolkit[5].Inordertosupportotherdevices,across-platformlibrarysuchasChai3DorHaptikmaybeusedtoperformrendering.Theselibrariessupportforcerenderingforalargerangeofhaptichardware.Fortunately,duetothemodularityofourimplementation,onlytheinteractivehapticrenderingcomponentneedbealteredforthesechanges.Inadditiontosupportmultiplehardwareplatforms,auserinterfacecomponentwhichallowstheselectionandconfigurationofhapticdeviceswillbeimportant.Mostlikely,thiswillbeaddedaspartoftheuserpreferencespanelinBlender.Addingsupportforhapticdevicesaspartofeditingasksisalsoaplannedfeature.Thiswillallowtheodelertomodifytheshape,location,andotherpropertiesonin-sceneobjects.Forexample,thesculptingodeinBlenderallowsausertomanipulatethegeometryfa3Dobjectusinganaturalinterface,similartoeshapingapieceofclay.HAMLATwillbuildonthisechnologybyallowingthemodelertomanipulatetheirtualclayusinghighDOFhapticinterfaces.基于C8051F單片機直流電動機反饋控制系統(tǒng)的設(shè)計與研究基于單片機的嵌入式Web服務(wù)器的研究MOTOROLA單片機MC68HC(8)05PV8/A內(nèi)嵌EEPROM的工藝和制程方法及對良率的影響研究基于模糊控制的電阻釬焊單片機溫度控制系統(tǒng)的研制基于MCS-51系列單片機的通用控制模塊的研究基于單片機實現(xiàn)的供暖系統(tǒng)最佳啟停自校正(STR)調(diào)節(jié)器單片機控制的二級倒立擺系統(tǒng)的研究\t

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論