欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種面向三維建模的人機(jī)交互框架的制作方法

文檔序號(hào):6631697閱讀:299來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):一種面向三維建模的人機(jī)交互框架的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種三維建模工具,特別是一種面向三維建模的人機(jī)交互框架。
背景技術(shù)
面向三維建模工具主要作用是三維場(chǎng)景顯示及通訊三維模型與用戶(hù)的交互。目前,三維建模工具主要是美國(guó)Computer Associates(CA)公司的三維建模工具M(jìn)ultiGen Creator,它是針對(duì)虛擬實(shí)時(shí)系統(tǒng)而產(chǎn)生的軟件,具有很多專(zhuān)用于建立面向?qū)崟r(shí)渲染的模型的功能,其中,LOD可以使模型遠(yuǎn)離視點(diǎn)是使用低精度顯示,Switch可以交互環(huán)境中產(chǎn)生變形、毀傷效果等等。另外,MultiGenCreator中還有關(guān)于模型三角形數(shù)目、紋理數(shù)目、占用內(nèi)存及渲染速度等的統(tǒng)計(jì)與報(bào)告功能,這些功能也為在實(shí)時(shí)系統(tǒng)中應(yīng)用模型提供了不少的方便。但是,MultiGen Creator在提供強(qiáng)大的交互式建模功能的同時(shí),缺少方便、完整的編程接口,以使用戶(hù)自己的程序可以插入到其中的任意位置,從而實(shí)現(xiàn)建模過(guò)程的自動(dòng)化;同時(shí),MultiGen Creator具有高昂的價(jià)格,使一般用戶(hù)對(duì)其望而卻步。

發(fā)明內(nèi)容
本發(fā)明的技術(shù)解決問(wèn)題是克服現(xiàn)有技術(shù)的不足,提供一種用于實(shí)時(shí)、高效率編輯三維模型,且價(jià)格低廉的面向三維建模的人機(jī)交互框架,它支持業(yè)界標(biāo)準(zhǔn)OpenFlight格式模型數(shù)據(jù)庫(kù)文件,提供瀏覽、模型建造、模型修改、添加紋理等各種功能整個(gè)系統(tǒng)具有用戶(hù)友好的、可視化的圖形界面,以替代MultiGen Creator。
本發(fā)明的技術(shù)解決方案面向三維建模的人機(jī)交互框架,其特點(diǎn)在于它分為五層自底向上的層級(jí)關(guān)系為硬件層、2D事件層、3D事件層、交互層、顯示層,其中交互層和3D事件層構(gòu)成應(yīng)用層,層與層之間聯(lián)系緊密,分工明確,每一層都會(huì)制定自身的交互需求,對(duì)交互內(nèi)容進(jìn)行定義而不干涉其它各層,這樣既能體現(xiàn)出交互過(guò)程中的多樣性又可以保持其一般的共性,保證了建模工具的兼容性和穩(wěn)定性。
硬件層由交互設(shè)備組成,用戶(hù)可以通過(guò)交互設(shè)備產(chǎn)生交互動(dòng)作,以達(dá)到交互的目的。在建模工具中,用戶(hù)主要是通過(guò)鼠標(biāo)和鍵盤(pán)設(shè)備,產(chǎn)生不同的交互動(dòng)作。
2D事件層用來(lái)捕捉操作者發(fā)出的交互動(dòng)作,并轉(zhuǎn)化為2D交互信息。
3D事件層把與3D交互信息有關(guān)聯(lián)的2D交互信息轉(zhuǎn)化為3D交互信息,其中的純2D交互信息,則直接傳給2D交互層。2D交互信息到3D交互信息地轉(zhuǎn)化方法是首先把二維坐標(biāo)轉(zhuǎn)化為三維坐標(biāo),然后再通過(guò)映射方法將三維坐標(biāo)轉(zhuǎn)化為符合需要的三維目的坐標(biāo)。二維坐標(biāo)轉(zhuǎn)化為三維坐標(biāo)首先是2D屏幕鼠標(biāo)位置信息轉(zhuǎn)化為三維坐標(biāo)信息(中間過(guò)渡),最后將三維坐標(biāo)信息轉(zhuǎn)化為符合需要的三維目的坐標(biāo)信息,主要采用四種映射方法基于Baseplane(Baseplane是建模過(guò)程中的輔助面)映射法、基于模型被選擇面映射法、基于過(guò)被選擇面中心點(diǎn)且垂直于被選擇面的直線映射法、或基于視平面映射法。
交互層主要分為2D交互層和3D交互層,2D交互層接收2D交互信息,分析生成相應(yīng)的2D交戶(hù)任務(wù)。2D交互任務(wù)包括模型樹(shù)顯示面板、顏色面板、紋理面板、各種對(duì)話框以及各種按鈕,模型樹(shù)顯示面板是把系統(tǒng)處理的三維模型節(jié)點(diǎn)信息以樹(shù)的結(jié)構(gòu)顯示,紋理面板給用戶(hù)創(chuàng)造從紋理庫(kù)選擇紋理的環(huán)境,顏色面板提供一個(gè)供用戶(hù)選擇的顏色庫(kù)。
3D交互層接收3D交互信息,分析生成相應(yīng)的3D交互任務(wù)。3D交互層分為場(chǎng)景瀏覽交互層和模型編輯交互層。場(chǎng)景瀏覽交互層由Baseplane對(duì)象和camera對(duì)象構(gòu)成,場(chǎng)景瀏覽交互層并不創(chuàng)建模型或者修改模型,僅僅改變場(chǎng)景對(duì)象中的Baseplane對(duì)象和camera對(duì)象。BasePlane對(duì)象是一個(gè)二維平面,二維平面的大小可以改變。在這個(gè)二維平面里,相互垂直的u軸和v軸組成一個(gè)二維坐標(biāo)系,中心點(diǎn)為o點(diǎn),在交互環(huán)境里起到輔助面的作用。電腦屏幕是一個(gè)二維平面,構(gòu)建三維圖形時(shí),需要在二維平面中加一個(gè)輔助面,形成三維效果,給用戶(hù)一種直觀真實(shí)的立體感。不僅如此,這個(gè)輔助面在創(chuàng)建復(fù)雜圖形的時(shí)候還有其他作用。比如在交互過(guò)程中使用Fac命令,目的是把BasePlane移動(dòng)到指定的面上,此時(shí)操作者選取物體上的一個(gè)面,把三個(gè)點(diǎn)的坐標(biāo)信息傳遞給交互模塊,交互模塊根據(jù)這三個(gè)點(diǎn)的信息,分析得到Baseplane中心點(diǎn)坐標(biāo)、x軸方向以及Baseplane的法線方向(可理解為空間中z軸的方向),這樣就可以把Baseplane移動(dòng)到指定位置上。Camera對(duì)象的建立引入ArcBall技術(shù),使其可以在空間xy平面,yz平面,zx平面三個(gè)自由度方向上任意旋轉(zhuǎn),使用戶(hù)可以從任意角度觀察創(chuàng)建的模型,另外Camera對(duì)象不僅支持旋轉(zhuǎn)功能,還支持zoom功能,通過(guò)鍵盤(pán)的z鍵和a鍵,可以把視點(diǎn)推近或者拉遠(yuǎn),這樣既可以很仔細(xì)的觀察模型某一局部特征,也可以瀏覽整個(gè)模型。
模型編輯交互層主要由模型創(chuàng)建和編輯、模型選取、模型釋放和添加紋理和顏色構(gòu)成,模型編輯交互層根據(jù)交互信息創(chuàng)建和編輯模型、選取模型,產(chǎn)生模型對(duì)象。模型對(duì)象種類(lèi)繁多,分為三類(lèi)基本模型對(duì)象、輔助模型對(duì)象和其他模型對(duì)象?;灸P蛯?duì)象主要包括點(diǎn)、直線、多面體、矩形、圓和球。輔助模型對(duì)象主要包括輔助線、輔助點(diǎn)和輔助面,在創(chuàng)建其他模型對(duì)象的過(guò)程中,用戶(hù)會(huì)借助這些輔助對(duì)象。比如在一面墻的中心點(diǎn)打一個(gè)孔,這個(gè)中心點(diǎn)就可以通過(guò)輔助點(diǎn)得到,其他模型對(duì)象都可以由這兩類(lèi)模型對(duì)象接受不同的3D交互任務(wù)組合生成。其他模型對(duì)象的涵蓋面很廣,大到日常生活中所見(jiàn)到的諸如飛機(jī)、汽車(chē)、房子、樹(shù)木甚至是人,小到一個(gè)螺絲釘,一塊磚頭在建模過(guò)程中都屬于其他模型對(duì)象,而建模工具主要的目的就是創(chuàng)建其他模型對(duì)象。比如說(shuō)如何創(chuàng)建一個(gè)圓柱體,首先創(chuàng)建一個(gè)圓,然后執(zhí)行wall操作,會(huì)在圓面的法線方向上升起相應(yīng)的高度,形成需要的圓柱體。因此,盡管其他模型對(duì)象的種類(lèi)繁多復(fù)雜,但是只要清楚如何使用基本模型對(duì)象和輔助模型對(duì)象就可以創(chuàng)建出不同類(lèi)型的其他模型對(duì)象。
顯示層根據(jù)2D交互層和3D交互層分別生成的2D交互任務(wù)和3D交互任務(wù),完成交互操作,把交互操作后的效果反饋給用戶(hù)。
本發(fā)明的五個(gè)主要部分,圍繞著人機(jī)交互中的基本原則,既聯(lián)系緊密又內(nèi)容獨(dú)立,實(shí)現(xiàn)系統(tǒng)的主要功能。
本發(fā)明與現(xiàn)有的技術(shù)相比的有益效果是(1)本發(fā)明針對(duì)三維模型構(gòu)造過(guò)程中交互操作的復(fù)雜性,采用自底向上的分層設(shè)計(jì)將交互框架分成5層硬件層、2D事件層、3D事件層、交互層、應(yīng)用層。對(duì)于不同的交互層部署相應(yīng)的交互任務(wù),處理交互對(duì)象,層與層之間的通信采用消息機(jī)制,交互框架的分層結(jié)構(gòu)使得交互處理過(guò)程條理清晰,有利于交互的管理。
(2)本發(fā)明中的四種交互映射的給出,可以滿足用戶(hù)完成不同的三維交互操作所需要的坐標(biāo)變換。
(3)本發(fā)明交互框架中采取的交互消息-任務(wù)機(jī)制,有效地提高了交互過(guò)程中前臺(tái)界面操作和后臺(tái)功能處理的配合效率。


圖1為本發(fā)明的結(jié)構(gòu)示意圖;圖2為本發(fā)明的2D事件層的結(jié)構(gòu)示意圖;圖3為本發(fā)明的2D事件層的實(shí)現(xiàn)流程圖;圖4為本發(fā)明的3D事件層的結(jié)構(gòu)示意圖;圖5為本發(fā)明的3D事件層的實(shí)現(xiàn)流程圖;圖6為本發(fā)明的交互層的結(jié)構(gòu)示意圖;圖7為本發(fā)明的交互層的實(shí)現(xiàn)流程圖;圖8為本發(fā)明的顯示層的結(jié)構(gòu)示意圖;圖9為本發(fā)明的顯示層的實(shí)現(xiàn)流程圖;圖10為本發(fā)明實(shí)施例1創(chuàng)建一個(gè)圓形、三角形、矩形和圓的模型示意圖;圖11為本發(fā)明實(shí)施例2創(chuàng)建復(fù)雜模型示意圖。
具體實(shí)施例方式
如圖1所示,本發(fā)明自底向上分為五層,它們是硬件層、2D事件層、3D事件層、交互層、顯示層。硬件層由交互設(shè)備組成,用戶(hù)通過(guò)交互設(shè)備產(chǎn)生交互動(dòng)作送至2D事件層;2D事件層用來(lái)捕捉操作者發(fā)出的交互動(dòng)作,并轉(zhuǎn)化為2D交互信息;3D事件層把與三維交互相關(guān)的2D交互信息轉(zhuǎn)化為3D交互信息,2D信息到3D信息的轉(zhuǎn)化主要是鼠標(biāo)點(diǎn)取二維坐標(biāo)到三維目的坐標(biāo)的轉(zhuǎn)化,首先把二維坐標(biāo)轉(zhuǎn)化為三維坐標(biāo)(通過(guò)Opengl或者DirectX自帶的方法),然后再通過(guò)四種不同的映射方式將三維坐標(biāo)轉(zhuǎn)化為符合需要的三維目的坐標(biāo)。在處理過(guò)程中采取了四種映射方式是基于Baseplane(即基準(zhǔn)面)映射、基于模型被選擇面映射、基于過(guò)被選擇面中心點(diǎn)且垂直于被選擇面的直線映射、或基于視平面映射?;贐aseplane映射法為首先獲得視點(diǎn)到轉(zhuǎn)化后三維坐標(biāo)的直線,然后檢查該直線與之前確定的Baseplane是否有交點(diǎn),如果有則該交點(diǎn)即是三維坐標(biāo)在Baseplane上的映射點(diǎn),例如,用戶(hù)如果想要?jiǎng)?chuàng)建一個(gè)圓,首先選擇circle命令,然后把鼠標(biāo)在二維屏幕上選擇的兩個(gè)二維點(diǎn)坐標(biāo)轉(zhuǎn)化為三維點(diǎn)坐標(biāo),通過(guò)該種映射模式將該三維點(diǎn)坐標(biāo)轉(zhuǎn)化為需要的目標(biāo)點(diǎn)坐標(biāo)——在Baseplane的圓心點(diǎn)坐標(biāo)和圓周上的一點(diǎn)的坐標(biāo);基于模型被選擇面映射法為首先獲得視點(diǎn)到轉(zhuǎn)化后三維坐標(biāo)的直線,然后檢查該直線與之前確定的模型被選擇面是否有交點(diǎn),如果有則該交點(diǎn)即是三維坐標(biāo)在模型被選擇面上的映射點(diǎn),例如,用戶(hù)如果想要使Baseplane的位置移動(dòng)到被選擇面的位置上,則首先選擇fac命令,把鼠標(biāo)在二維屏幕上點(diǎn)取在被選擇面上的二維點(diǎn)坐標(biāo)轉(zhuǎn)化為三維點(diǎn)坐標(biāo),通過(guò)該種映射模式將該三維點(diǎn)坐標(biāo)轉(zhuǎn)化為需要的目標(biāo)點(diǎn)坐標(biāo)——在模型被選擇面上的點(diǎn),然后把Baseplane的原點(diǎn)以及坐標(biāo)軸的位置替換維被選擇面上的點(diǎn)位置,最后完成Baseplane的移動(dòng);基于過(guò)被選擇面中心點(diǎn)且垂直于被選擇面的直線映射,首先獲得視點(diǎn)到轉(zhuǎn)化后三維坐標(biāo)點(diǎn)的直線,然后檢查該直線與之前確定的被選擇面中心點(diǎn)且垂直于被選擇面的直線是否有交點(diǎn),如果有則該交點(diǎn)即是三維坐標(biāo)在過(guò)被選擇面中心點(diǎn)且垂直于被選擇面的直線映射點(diǎn),例如,如果用戶(hù)希望在剛才創(chuàng)建圓的基礎(chǔ)上,創(chuàng)建一個(gè)正圓錐,首先選擇這個(gè)圓面,然后選擇peak操作(此時(shí)選擇normallize模式可得到正圓錐),接著通過(guò)鼠標(biāo)在2D屏幕上選擇一個(gè)二維坐標(biāo)點(diǎn)轉(zhuǎn)化為三維坐標(biāo)點(diǎn),然后通過(guò)該種映射模式將該三維點(diǎn)坐標(biāo)轉(zhuǎn)化為需要的目標(biāo)點(diǎn)坐標(biāo)——在過(guò)被選擇面中心點(diǎn)且垂直于被選擇面的直線上的圓錐頂點(diǎn)坐標(biāo),最后繪制出正圓錐;基于視平面映射,首先獲得視點(diǎn)到轉(zhuǎn)化后的三維點(diǎn)坐標(biāo)的直線,然后檢查該直線與之前確定的視平面是否有交點(diǎn),如果有則該交點(diǎn)即是三維坐標(biāo)在視平面上的映射點(diǎn),例如,如果用戶(hù)希望在剛才創(chuàng)建圓的基礎(chǔ)上,創(chuàng)建一個(gè)斜圓錐,首先選擇這個(gè)圓面,然后選擇peak操作(此時(shí)選擇free模式可得到斜圓錐),接著通過(guò)鼠標(biāo)在2D屏幕上選擇一個(gè)二維坐標(biāo)點(diǎn)轉(zhuǎn)化為三維坐標(biāo)點(diǎn),然后通過(guò)該種映射模式將該三維點(diǎn)坐標(biāo)轉(zhuǎn)化為需要的目標(biāo)點(diǎn)坐標(biāo)—在視平面上的圓錐頂點(diǎn)坐標(biāo),最后繪制出斜圓錐。其中的純2D交互信息,如按一下按鈕、打開(kāi)面板或在面板上選擇功能鍵等2D交互信息,則直接傳給2D交互層;交互層主要分為2D交互層和3D交互層,2D交互層接收2D交互信息,生成相應(yīng)的2D交戶(hù)任務(wù),3D交互層接收3D交互信息,生成相應(yīng)的3D交戶(hù)任務(wù);顯示層根據(jù)2D交互層和3D交互層生成的2D交互任務(wù)和3D交互任務(wù),完成交互操作,把交互操作后的效果反饋給用戶(hù)。
如圖2所示,本發(fā)明中的2D事件層根據(jù)用戶(hù)的二維操作生成2D交互消息,2D交互消息包括模型樹(shù)顯示面板消息、紋理面板消息、顏色面板消息、各種對(duì)話框消息及各種按鈕消息等。
如圖3所示,2D事件層中的作用就是將2D交互動(dòng)作轉(zhuǎn)變?yōu)?D交互消息,其過(guò)程是首先判讀2D交互操作的類(lèi)型,對(duì)不同的2D交互對(duì)象產(chǎn)生的交互動(dòng)作稱(chēng)為2D交互操作,2D交互操作包括瀏覽樹(shù)型結(jié)構(gòu)、在紋理面板打開(kāi)紋理數(shù)據(jù)庫(kù)上選擇紋理、在顏色面板上選擇顏色、使用各種對(duì)話框、使用各種按鈕等等,被操作的2D交互對(duì)象,產(chǎn)生了不同的交互消息響應(yīng)2D交互操作,并把所產(chǎn)生的交互消息傳送給下一層。比如說(shuō)打開(kāi)一個(gè)顏色面板,則當(dāng)鼠標(biāo)觸發(fā)顏色面板,則面板產(chǎn)生一個(gè)響應(yīng)消息,傳遞給后臺(tái)模塊,則完成了一次2D交互動(dòng)作到2D交互消息地轉(zhuǎn)化。
如圖4所示,3D事件層根據(jù)2D交互層傳來(lái)的2D交互消息轉(zhuǎn)化成3D交互消息,3D交互消息主要分為三維瀏覽消息和模型操作消息兩部分,其中三維瀏覽包括Baseplane消息和Camera消息,模型操作包括模型創(chuàng)建編輯消息、模型選取消息、模型釋放消息及添加紋理和顏色消息等等。
如圖5所示,3D交事件層將與三維相關(guān)的2D交互消息轉(zhuǎn)化為3D交互消息。首先判斷三維相關(guān)的2D交互消息表達(dá)的三維意思是什么,如果是場(chǎng)景瀏覽,則判斷是場(chǎng)景瀏覽的哪種方式,根據(jù)判斷結(jié)果將2D交互消息轉(zhuǎn)化為改變Baseplane位置和角度的3D交互消息或者改變Camera位置和角度的3D交互消息。如果是模型操作,則判斷是哪種方式的模型操作,根據(jù)判斷結(jié)果將2D交互消息轉(zhuǎn)化為通過(guò)circle、polygon、rectangle、sphere、peak、wall、tansform等操作創(chuàng)建和編輯模型或者通過(guò)將模型放入選擇列表選擇模型或者通過(guò)從選擇列表中提出模型釋放功能或者通過(guò)紋理庫(kù)和顏色庫(kù)中選擇的紋理和顏色數(shù)據(jù)添加紋理和顏色等。
如圖6所示,交戶(hù)層根據(jù)2D事件層和3D事件層傳來(lái)的2D和3D交互消息生成2D交互任務(wù)和3D交互任務(wù)。2D交互任務(wù)包括模型樹(shù)顯示面板任務(wù)、紋理面板任務(wù)、顏色面板任務(wù)、各種對(duì)話框任務(wù)及各種按鈕任務(wù)等等;3D交戶(hù)任務(wù)包括三維瀏覽任務(wù)和模型操作任務(wù)兩部分,其中三維瀏覽任務(wù)包括Baseplane任務(wù)和Camera任務(wù),模型操作任務(wù)包括模型創(chuàng)建編輯任務(wù)、模型選取任務(wù)、模型釋放任務(wù)及添加紋理和顏色任務(wù)等等。
如圖7所示,交互層流程具體是首先判斷接收到的交互消息是什么類(lèi)型的,如果是二維交互消息,則判斷二維交互消息的類(lèi)型,根據(jù)判斷結(jié)果形成不同的二維交互任務(wù)模型樹(shù)顯示面板任務(wù)、紋理面板任務(wù)、顏色面板任務(wù)、各種對(duì)話框任務(wù)及各種按鈕任務(wù)等。如果是三維交互消息,則判斷三維交互消息的類(lèi)型,并根據(jù)結(jié)果如果是場(chǎng)景瀏覽消息,則判斷具體是場(chǎng)景瀏覽中的哪種類(lèi)型消息,根據(jù)結(jié)果形成Baseplane任務(wù)和Camera任務(wù)。如果結(jié)果是模型操作消息,則判斷具體是模型操作中的哪種類(lèi)型消息,并根據(jù)結(jié)果形成模型創(chuàng)建編輯任務(wù)、模型選取任務(wù)、模型釋放任務(wù)及添加紋理和顏色任務(wù)等。
如圖8所示,顯示層主要處理顯示任務(wù),主要包括二維顯示和三維顯示。二維顯示內(nèi)容包括繪制模型樹(shù)顯示面板、紋理面板、顏色面板、各種對(duì)話框及各種按鈕等。三維顯示內(nèi)容包括繪制模型,添加紋理,模型著色,調(diào)節(jié)光照等。
如圖9所示,顯示層流程具體是首先判斷接收到的交互任務(wù)是什么類(lèi)型的,如果是二維交互任務(wù),則根據(jù)二維交互任務(wù)中的具體內(nèi)容,創(chuàng)建相應(yīng)的二維控件(模型樹(shù)顯示面板、紋理面板、顏色面板、各種對(duì)話框及各種按鈕等),提供給用戶(hù)。如果是三維交互任務(wù),則根據(jù)三維交互任務(wù)的具體內(nèi)容,設(shè)置Camera和Baseplane的位置,并且設(shè)置需要用到得各種矩陣(世界矩陣、映射矩陣、視矩陣等等),然后設(shè)置燈光的參數(shù),比如燈源數(shù)目、光照強(qiáng)度等等,接著根據(jù)輸入的模型坐標(biāo)點(diǎn)集和繪制模型,再下來(lái)根據(jù)輸入的紋理和顏色信息,給已繪制的模型進(jìn)行紋理貼圖和著色,最后創(chuàng)建的完整模型將展示給用戶(hù)。
如圖10所示為本發(fā)明的一個(gè)具體實(shí)施例創(chuàng)建示意圖,用戶(hù)需最終創(chuàng)建出一個(gè)圓、一個(gè)三角、一個(gè)矩形和一個(gè)球。首先用戶(hù)畫(huà)圓通過(guò)鼠標(biāo)進(jìn)行二維操作,在屏幕上輸入兩個(gè)二維坐標(biāo)點(diǎn)(圓心和圓周上一點(diǎn)),在2D事件層形成二維交互消息傳遞給3D事件層,3D事件層首先調(diào)用OPENGL自帶的函數(shù)將二維坐標(biāo)點(diǎn)轉(zhuǎn)化成三維坐標(biāo)點(diǎn),并通過(guò)映射方式,將三維坐標(biāo)點(diǎn)轉(zhuǎn)化為三維目標(biāo)坐標(biāo)點(diǎn),并形成3D交互消息傳遞給交互層。交互層根據(jù)得到3D交互消息,分析交互消息,判斷其對(duì)應(yīng)的3D交互任務(wù)種類(lèi),通過(guò)輸入的交互信息,根據(jù)圓的構(gòu)造公式,計(jì)算出圓其他點(diǎn)坐標(biāo)集合以及紋理顏色數(shù)值形成3D交互任務(wù),最終3D交互任務(wù)傳遞給顯示層,顯示層根據(jù)交互任務(wù)中的內(nèi)容,進(jìn)行三維顯示,繪制出圓反饋給用戶(hù)。三角形、矩形和球的繪制過(guò)程同圓類(lèi)似。
如圖11所示為本發(fā)明的另一個(gè)實(shí)施例的創(chuàng)建示意圖,用戶(hù)需最終創(chuàng)建出一個(gè)復(fù)雜的幾何體。首先用戶(hù)畫(huà)圓通過(guò)鼠標(biāo)進(jìn)行二維操作,在屏幕上輸入兩個(gè)二維坐標(biāo)點(diǎn)(圓心和圓周上一點(diǎn)),在2D事件層形成二維交互消息傳遞給3D事件層,3D事件層首先調(diào)用OPENGL自帶的函數(shù)將二維坐標(biāo)點(diǎn)轉(zhuǎn)化成三維坐標(biāo)點(diǎn),并通過(guò)映射方式,將三維坐標(biāo)點(diǎn)轉(zhuǎn)化為三維目標(biāo)坐標(biāo)點(diǎn),并形成3D交互消息傳遞給交互層。交互層根據(jù)得到3D交互消息,分析交互消息,判斷其對(duì)應(yīng)的3D交互任務(wù)種類(lèi),通過(guò)輸入的交互信息,根據(jù)圓的構(gòu)造公式,計(jì)算出圓其他點(diǎn)坐標(biāo)集合以及紋理顏色數(shù)值形成3D交互任務(wù)。最終3D交互任務(wù)傳遞給顯示層,顯示層根據(jù)交互任務(wù)中的內(nèi)容,進(jìn)行三維顯示,繪制出圓。然后用戶(hù)在現(xiàn)有圓面的基礎(chǔ)上,進(jìn)行PEAK操作,大體的過(guò)程和圓相似,只不過(guò)PEAK操作用戶(hù)需要輸入的是圓錐的頂點(diǎn),而且如圖11所示,該圓錐是正圓錐,然后再對(duì)現(xiàn)有的圓錐進(jìn)行WALL操作,使圓錐的每一個(gè)面沿著面的法線方向凸起一定的高度,形成一個(gè)幾合體。其次繪制一個(gè)球,大體流程與圓相似,區(qū)別是球輸入的是球心和球面上的一點(diǎn),繪制完成的球根據(jù)TRANSFORM操作移動(dòng)到如圖所示幾合體中間的位置,形成最終的復(fù)雜集合體。
下面對(duì)上述本發(fā)明的兩個(gè)實(shí)施例進(jìn)一步說(shuō)明。
實(shí)施例1,創(chuàng)建一個(gè)圓形、三角形、矩形和圓的模型。
(1)首先,下面是需要用到的命令Commands

(2)其次,下面是創(chuàng)建模型的流程首先new一個(gè)新的場(chǎng)景,然后創(chuàng)建一個(gè)圓,然后創(chuàng)建一個(gè)三角形,接著創(chuàng)建一個(gè)矩形,最后創(chuàng)建一個(gè)球,最后把創(chuàng)建出來(lái)的模型保存到d盤(pán)。Detailed Commands


實(shí)施例2,創(chuàng)建復(fù)雜模型。
(1)首先,下面是需要用到的命令Commands

(2)其次,下面是創(chuàng)建模型的流程首先new一個(gè)新的場(chǎng)景,然后創(chuàng)建一個(gè)有13條邊組成的圓,對(duì)該圓進(jìn)行peak操作,獲得一個(gè)圓錐,然后在對(duì)新生成的圓錐進(jìn)行wall操作,生成一個(gè)復(fù)雜的幾何模型,接著,在場(chǎng)景中創(chuàng)建一個(gè)球,通過(guò)鼠標(biāo)左鍵選取球面上的一點(diǎn),通過(guò)move操作,把該點(diǎn)移動(dòng)到指定點(diǎn)(剛才生成復(fù)雜幾何體上的一點(diǎn)),同時(shí),整個(gè)球模型隨著這個(gè)點(diǎn)的移動(dòng)而移動(dòng)到新的位置,至此模型創(chuàng)建完成,保存到d盤(pán)。
Detailed Commands

權(quán)利要求
1.一種面向三維建模的人機(jī)交互框架,其特征在于它分為五層自底向上的層級(jí)關(guān)系為硬件層、2D事件層、3D事件層、交互層、顯示層,硬件層由交互設(shè)備組成,用戶(hù)通過(guò)交互設(shè)備產(chǎn)生交互動(dòng)作送至2D事件層;2D事件層用來(lái)捕捉操作者發(fā)出的交互動(dòng)作,并轉(zhuǎn)化為2D交互信息;3D事件層把與3D交互信息有關(guān)聯(lián)的2D交互信息轉(zhuǎn)化為3D交互信息,其中的純2D交互信息,則直接傳給2D交互層;交互層主要分為2D交互層和3D交互層,2D交互層接收2D交互信息,生成相應(yīng)的2D交戶(hù)任務(wù),3D交互層接收3D交互信息,生成相應(yīng)的3D交戶(hù)任務(wù);顯示層根據(jù)2D交互層和3D交互層生成的2D交互任務(wù)和3D交互任務(wù),完成交互操作,把交互操作后的效果反饋給用戶(hù)。
2.根據(jù)權(quán)利要求1所述的面向三維建模的人機(jī)交互框架,其特征在于所述的與3D交互信息有關(guān)聯(lián)的2D交互信息轉(zhuǎn)化為3D交互信息的轉(zhuǎn)化方法是首先把二維坐標(biāo)轉(zhuǎn)化為三維坐標(biāo),然后再通過(guò)映射方法將三維坐標(biāo)轉(zhuǎn)化為符合需要的三維目的坐標(biāo)。
3.根據(jù)權(quán)利要求2所述的面向三維建模的人機(jī)交互框架,其特征在于所述的將三維坐標(biāo)轉(zhuǎn)化為符合需要的三維目的坐標(biāo),即映射到三維場(chǎng)景中的方法有四種基于Baseplane映射法、或基于模型被選擇面映射法、或基于過(guò)被選擇面中心點(diǎn)且垂直于被選擇面的直線映射法、或基于視平面映射法。
4.根據(jù)權(quán)利要求3所述的面向三維建模的人機(jī)交互框架,其特征在于所述的基于Baseplane映射法為首先獲得視點(diǎn)到轉(zhuǎn)化后三維坐標(biāo)的直線,然后檢查該直線與之前確定的Baseplane是否有交點(diǎn),如果有則該交點(diǎn)即是三維坐標(biāo)在Baseplane上的映射點(diǎn)。
5.根據(jù)權(quán)利要求3所述的面向三維建模的人機(jī)交互框架,其特征在于所述的基于模型被選擇面映射法為首先獲得視點(diǎn)到轉(zhuǎn)化后三維坐標(biāo)的直線,然后檢查該直線與之前確定的模型被選擇面是否有交點(diǎn),如果有則該交點(diǎn)即是三維坐標(biāo)在模型被選擇面上的映射點(diǎn)。
6.根據(jù)權(quán)利要求3所述的面向三維建模的人機(jī)交互框架,其特征在于所述的基于過(guò)被選擇面中心點(diǎn)且垂直于被選擇面的直線映射法為首先獲得視點(diǎn)到轉(zhuǎn)化后三維坐標(biāo)點(diǎn)的直線,然后檢查該直線與之前確定的被選擇面中心點(diǎn)且垂直于被選擇面的直線是否有交點(diǎn),如果有則該交點(diǎn)即是三維坐標(biāo)在過(guò)被選擇面中心點(diǎn)且垂直于被選擇面的直線映射點(diǎn)。
7.根據(jù)權(quán)利要求3所述的面向三維建模的人機(jī)交互框架,其特征在于所述的基于視平面映射法,首先獲得視點(diǎn)到轉(zhuǎn)化后的三維點(diǎn)坐標(biāo)的直線,然后檢查該直線與之前確定的視平面是否有交點(diǎn),如果有則該交點(diǎn)即是三維坐標(biāo)在視平面上的映射點(diǎn)。
8.根據(jù)權(quán)利要求1所述的面向三維建模的人機(jī)交互框架,其特征在于所述的3D交互層分為場(chǎng)景瀏覽交互層和模型編輯交互層,場(chǎng)景瀏覽交互層由Baseplane對(duì)象和camera對(duì)象構(gòu)成,場(chǎng)景瀏覽交互層并不創(chuàng)建模型或者修改模型,僅僅改變場(chǎng)景對(duì)象中的Baseplane對(duì)象和camera對(duì)象;模型編輯交互層主要由模型創(chuàng)建和編輯、模型選取、模型釋放和添加紋理和顏色構(gòu)成,它根據(jù)交互信息創(chuàng)建和編輯模型,產(chǎn)生模型對(duì)象。
全文摘要
一種面向三維建模的人機(jī)交互框架,自底向上的層級(jí)關(guān)系為硬件層、2D事件層、3D事件層、交互層、顯示層;硬件層由交互設(shè)備組成;2D事件層用來(lái)捕捉操作者發(fā)出的交互動(dòng)作,并轉(zhuǎn)化為2D交互信息;3D事件層把2D交互信息有選擇的轉(zhuǎn)化為3D交互信息;交互層分為2D交互層和3D交互層,2D交互層接收2D交互信息,生成相應(yīng)的2D交戶(hù)任務(wù),3D交互層接收3D交互信息,生成相應(yīng)的3D交戶(hù)任務(wù);顯示層根據(jù)2D交互層和3D交互層生成的2D交互任務(wù)和3D交互任務(wù),完成交互操作,把交互操作后的效果反饋給用戶(hù)。本發(fā)明支持業(yè)界標(biāo)準(zhǔn)Open Flight格式模型數(shù)據(jù)庫(kù)文件,提供瀏覽、模型建造、模型修改、添加紋理等各種功能整個(gè)系統(tǒng)具有用戶(hù)友好的、可視化的圖形界面,可高效率編輯三維模型,且價(jià)格低廉。
文檔編號(hào)G06T11/80GK1753030SQ20051008666
公開(kāi)日2006年3月29日 申請(qǐng)日期2005年10月20日 優(yōu)先權(quán)日2005年10月20日
發(fā)明者郝愛(ài)民, 關(guān)鵬, 劉賢梅 申請(qǐng)人:北京航空航天大學(xué)
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
威远县| 永吉县| 体育| 隆尧县| 甘南县| 洛宁县| 深泽县| 汉沽区| 瑞昌市| 漳浦县| 宁国市| 文成县| 乌兰县| 瑞昌市| 定南县| 涟水县| 平和县| 洞口县| 北辰区| 绥中县| 汨罗市| 甘肃省| 乌兰察布市| 昭苏县| 龙里县| 晋宁县| 陇川县| 武鸣县| 洪江市| 修武县| 汝南县| 锡林郭勒盟| 古田县| 绵阳市| 朝阳县| 靖边县| 喀喇沁旗| 顺义区| 秦安县| 东丽区| 温州市|