freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于directx的三維人體建模與運動仿真結題報告(更新版)

2025-09-05 03:19上一頁面

下一頁面
  

【正文】 .X文件時,首先定義一個用于識別 .X文件中數(shù)據(jù)類型的ID3DXFileEnumObject類型的 枚舉對象 pDXEnum,由 pDXEnum統(tǒng)計 .X文件中ID3DXFileData類型數(shù)據(jù)對象的個數(shù);然后調(diào)用 ParseObject()和 ParseChildObject()功能函數(shù)依次解析每一個數(shù)據(jù)對象。所有繪制方式的參數(shù)都體現(xiàn)在了 4 4 的變換矩陣 WorldMatrix 中。 蒙皮網(wǎng)格模型的控制原理 相比于標準網(wǎng)格模型的控制,蒙皮網(wǎng)格模型的控制將采取稍有不同的方法,這是由蒙皮網(wǎng)格模型的繪制方式所決定的。在標準網(wǎng)格模型中,要實現(xiàn)這個控制目的,只需找到直接包含上臂網(wǎng)格信息的子框架,然后對該框架中變換矩陣在垂直于上臂方向的比例分量上做一個縮減就可以做到。三維模型運動仿真在這一模式下的控制可由以下方式實現(xiàn):首先用組合整體模式的變換方式對控制部位做一個控制變換,然后同樣用組合整體模式的變換方式對控制部位直接連接的部位做一個旋轉反變換控制, 將所有下層部位旋轉到原來的朝向,得到的效果便像是只對一個部位做一個控制,而其他連接部位只是隨之移動以保持連接關系了。時的變換矩陣即可,而不必考慮原來的臉部朝向是什么。由此便得到了與絕對控制形式中得到的 45176。在實時模型控制的應用中,相對控制方式就會更實用一些。 而相對控制形式下,對模型的控制則要參考變換矩陣的當前值。 所謂絕對控制形式,是指不考慮原有的變換矩陣如何,重新為變換矩陣賦值而得到新的變換矩陣,再使新矩陣作用到模型上,從而獲取控制模型運動的效果。這就是為什么在 XSSFRAME_EX 框架容器的定義中添加了三個 matSeparate 矩 陣。 在蒙皮網(wǎng)格的繪制過程中,首先調(diào)用 ID3DXMESH::CloneMeshFVF()方法將原始人體網(wǎng)格做一個備份;然后將骨骼變換矩陣作用到備份的人體網(wǎng)格上,得到被放置在世界坐標中心位置的各塊骨骼,接著將重組變換矩陣分別作用在這些骨骼上,得到一個新的人體網(wǎng)格整體,并將新網(wǎng)格數(shù)據(jù)覆蓋原始的人體網(wǎng)格數(shù)據(jù),這一過程由 ::UpdateSkinnedMesh() 方 法 實 現(xiàn) ; 最 終 直 接 調(diào) 用ID3DXMesh::DrawSubset()方法,一次性將整個人體 網(wǎng)格繪制出來。 由此可知,對模型的控制體現(xiàn)在對變換矩陣 matCombined 的設置上。當然,在解析數(shù)據(jù)對象的同時,根據(jù)應用的需求應將框架容器與網(wǎng)格容器中的框架索引、網(wǎng)格索引 、層次關系等填充清楚。 ~CXInternalParser()。 // Flags for which data to load // 1 = mesh, 2 = frames, 3= both DWORD m_Flags。 }XSSD3DXMESHCONTAINER_EX, *LPXSSD3DXMESHCONTAINER_EX。 DWORD nMeshRangeIndex。 從 XSSD3DXFRAME_EX 的定義中可以看到,我們?yōu)榭蚣苋萜魈砑恿擞糜诓檎业乃饕畔?、表現(xiàn)框架層次的深度信息、記錄與其他框架連接關系的指針變量以及一系列用于控制模型的變換矩陣。 // Reset transformation matrices to original feature only 信息科學與技術學院 電子工程與信息科學系 ( EEIS) 18 void ResetToOriginalFeature()。 XSSD3DXFRAME_EX()。 // Translation Transformation to control the dummy D3DXMATRIX matControlR。 // Combined matrix D3DXMATRIX matOriginal。 包括以下幾個部分: ① 骨骼的名字 ② 有多少個權重值 ③ 頂點的索引列表 ④ 相對應的影響頂點索引列表 ⑤ 本地轉換矩陣,轉換到骨骼空間 數(shù)據(jù)對象 數(shù)據(jù)對象是 .X 文件中,按照上述模板規(guī)定的數(shù)據(jù)組織形式所定義的一系列被具體化的數(shù)據(jù)信息。 } 用于 定義框架的本地轉換矩陣,是一個 4X4 矩陣( Matrix4x4 類型),共 16個浮點數(shù)據(jù) (注意這里的 4X4 矩陣 是行主的 )。 因此當解析 .X 文件時,我們是通過這些定義的模板的 GUID 來識別模板的類型,從而依模板的不同用不同的方式來讀取模板中的數(shù)據(jù)信息。它由“ template”關鍵字、模板名稱、一個 GUID( Globally Unique Identification Number 全局唯一標識號)以及數(shù)據(jù)變量的定義幾個部分組成。 .X 文件中的模型及其讀取方法 X 文件則是由 Microsoft 為 DirectX 量身定制的一種用于存儲數(shù)據(jù)的文件格式類型,其文件擴展名為 .X。更一般地,一個頂點所有受骨骼影響的 權重值之和為 1。 頂點坐在骨骼的權重矩陣為 H,頂點最初始的 Mesh 局部坐標為 X0。骨骼的權重矩陣就是在 .X 文件中各個骨骼的 Skin Weights 對象中的偏移矩陣,用來反響求出頂點在所屬骨骼的坐標系下的坐標。鼠標的首次點擊位置就是該骨骼的首關節(jié)點,尾關節(jié)點由再次點擊鼠標選定子骨骼時確定,尾關節(jié)點則是子骨骼的首關節(jié)點。當矩陣 Bn 為矩陣 An 的逆矩陣時,模型可以完全還原到原來的模樣,當矩陣 Bn 有別于矩陣 An 的逆矩陣時,便得到有別于原始模型的新模型。而在蒙皮網(wǎng)格模型中,采用了另外一種存儲方式,其中規(guī)定了一系列的骨骼,每個骨骼對應整個人體模型中一組特定的頂點,比如手掌骨骼對應模型中手掌上的一系列頂點;同樣的,相應于標準網(wǎng)模型中的頂點集合,在蒙皮網(wǎng)格中頂點也按照歸屬的骨骼的不同而被分配到不同的頂點集合中。似乎作用在某一個關節(jié)上的控制都向下傳遞給了與之相連接的關節(jié),同時接收到簡介控制的關節(jié)又將控制信息傳遞給與 它連接的下一個關節(jié),直到底層的關節(jié)。 在應用程序中要實現(xiàn)對三維模型的編輯以及運動仿真控制功能,首先要解決模型讀取的問題;其次是根據(jù)模型控制原理 ,實現(xiàn)相應的模型控制算法;最后完成模型控制的人機交互界面。通過對變換矩陣的解析、重建,便可以改變相應頂點的位置,對應的模型部位便在空間位置上做出改變,整體上看,便像是模型做出了某一個動作一般。當然前者是后者的 基礎,有了對模型的靈活控制技術,才能夠使之應對于不同的力學條件,更趨于真實地做運動仿真。 本文所介紹的三維人體建模與運動仿真主要使用其中的 Direct3D 組件。 DirectInput 主要支持輸入服務(包括鼠標、鍵盤、游戲桿等),同時支持輸出設備。 信息科學與技術學院 電子工程與信息科學系 ( EEIS) 4 在開發(fā)中, DirectX 分為兩個部分,一個是運行庫,通過 DirectX 編譯出來的程式必須要有運行庫的支持; 另外一個是開發(fā)庫,也就是常說的 SDK,這部分是在編譯 DirectX程序中是必需的。它們分別都有各自的設計標準和文件格式定義,在需要通過外部接口控制某一特定模型時,便遇到軟件接口以及通用性的問題,在信息處理領域尤為如此。 涉密論文按學校規(guī)定處理。對本研究提供過幫助和做出過貢獻的個人或集體,均已在文中作了明確的說明并表示了謝意。除了文中特別加以標注引用的內(nèi)容外,本論文不包含任何其他個人或集體已經(jīng)發(fā)表或撰寫的成果作品。同時本文特別講述骨骼動畫的原理和 4x4 特定變換矩陣的剖析問題。在某些信息處理領域已經(jīng)可以滿足需求。DirectX 又是 圖形及媒體加速接口,只有安裝了它,系統(tǒng)中軟件才能比較直接的利用硬件加速資源(高速訪問硬件),目前該軟件最高版本為 DirectX 。 DirectMusic 主要支持 MIDI 音樂合成和播放功能。然而在精細建模以及使用、操作便捷程度方面,DirectX 尚未能與專業(yè)的三維建模軟件,如 3Ds MAX、 MAYA 等,相匹敵。兩點確定一條線段,各條線段通過公共頂點連接成模型網(wǎng)格。例如,在模型建立中,如果頭部被當作一個整體后,作為人體的一個單元,與其他身體部位連接構成 整個人體,存儲在 .X 文件里,那么構成頭部的各個頂點組成一個頂點集合,這個集合對應一組變換矩陣。為了能 夠模擬的人體達到多樣化,對模型某關節(jié)的尺度、位置做細微的調(diào)整也是必不可少的。其層次關系可由如下圖 3 表示出來: 信息科學與技術學院 電子工程與信息科學系 ( EEIS) 8 圖 3 三維人體模型關節(jié)層析結構圖 從而,層次結構圖中上層關節(jié)的運動,則帶動與之有連接關系的下層關節(jié)的運動。首先介紹蒙皮網(wǎng)格中模型的存儲方式和變換矩陣作用原理。 模型上肢 的網(wǎng)格分為上臂、前和手掌 3 個部分。 yzx( 世界坐標系 )機器手網(wǎng)格骨骼 1骨骼 2骨骼 3皮膚網(wǎng)格、關節(jié)點、骨骼以及相關坐標系點 P點 P’ 圖 5 蒙皮網(wǎng)格模型的變換矩陣作用原理 講解圖二 如圖 5 中的點 P,在骨骼 2 的坐標系下的坐標保持不變。旋轉后,骨骼 2 的骨骼矩陣(即相對于父骨骼 1 的坐標系)發(fā)生改變,而其他子骨骼的骨骼矩陣維持不變。 通常,關節(jié)點附近的網(wǎng)格頂點可以收到多個骨骼的控制。由于關節(jié)模型的建立并不考慮所需建立的人體模型的尺度問題,所以關節(jié)模型中頂點的最大坐標值不超過 ,即這些關節(jié)都被建立在由 (1,1,1)、 (1,1,1)、 (1,1,1)、 (1,1,1) 、 (1,1,1) 、(1,1,1) 、 (1,1,1) 、 (1,1,1)八個頂點鏈接構成的以原點 (0,0,0)為中心,邊長為 2 的立方體內(nèi)。 .X 文件的結構說明 理解 .X 文件的結構有助于了解 .X 文件中包含有哪些數(shù)據(jù),更有助于理解Direct3D 的庫函數(shù)可能是怎么讀取、解析 .X 文件的,甚至在知道 .X 文件的結構之后,我們可以明白如何去擴展它的功能,讓其作用盡可能的得到發(fā)揮。這就意味著在定義模板時,若包含有另一個模板,那么被包含模板所定義的數(shù)據(jù)對象就可以嵌入到外層模板所定義的數(shù)據(jù)對象當中去。 以下著重講解與本文相關的四個關鍵模板,“ Frame”、“ Mesh”、“ FrameTransformMatrix”以及“ SkinWeights”的定義: DWORD nFaces。 DWORD nWeights。 ) 由上圖可知蒙皮網(wǎng)格模型中只具備一組網(wǎng)格數(shù)據(jù),骨骼信息被包含在網(wǎng)格數(shù)據(jù)所在的子框架中,而骨骼的連接及層次關系則由另一個框架中以相應骨骼名稱命名的子框架間的嵌套關系體現(xiàn)出來。 // New Transformation for Controlling the Dummy D3DXMATRIX matNewSeparate。 // To store separate Scaling Transformation to configure or Control the dummy D3DXMATRIX matSeparateR。 // Function to scan hierarchy for matching frame RangeIndex XSSD3DXFRAME_EX * FindByRangeIndex(DWORD nTheRangeIndex)。 bool SetNewTransform(DWORD nNumMatrix, DWORD * pnMatrixIndex, D3DXMATRIX * pRootMatrix, DWORD nDummyConfigType = XSSDUMMYCONFIG_BOTH)。s and // for updating bones. typedef struct XSSD3DXMESHCONTAINER_EX : public D3DXMESHCONTAINER { IDirect3DTexture9 **pTextures。 XSSD3DXMESHCONTAINER_EX()。 定義一個 .X 文件解析器,完成所需的解析任務。 DWORD m_nNumFrameCount。 char *GetObjectName(ID3DXFileData *pDataObj)。 模型運動控制原理 標準網(wǎng)格模型的控制原理 由上文提到的標準網(wǎng)格模型的存儲方式可以知道,從 .X 文件中我們可以獲取到原始的關節(jié)模型,為了拼接得到所需比例的人體模型而作用在關節(jié)上的比例變換矩陣,以及為了將各個關節(jié)移動到準確位置以得到人體模型而作用在關節(jié)上的旋轉變換和平移變換矩陣。而修改上層框架的變換矩陣,則由于變換的向下傳遞作用,其子層的所有關節(jié)的繪制都將受到影響,表現(xiàn)為對相關聯(lián)的一系列關節(jié)的控制。 網(wǎng)格模型的 三種控制模式、兩種控制形式 對網(wǎng)格模型的控制可以歸納為以下三種模式:個體獨立模式、組合整體模式和組合聯(lián)動模式。不論是標準網(wǎng)格模型還是蒙皮網(wǎng)格模型的模擬控制中,我們都可以采用選擇高層部位對應的框架,然后設置其中的可傳遞的變換矩陣,通過作用的傳遞性,讓同樣的變換作用到與之連接的下 信息科學與技術學院 電子工程與信息科學系 ( EEIS) 22 層的部位,達到一個變換作用多個部位的效果。左偏為負角度,右偏為正角度),現(xiàn)在希望將臉部的朝向改變?yōu)榍胺阶笃?45176。那么其間的轉動差值便為 9
點擊復制文檔內(nèi)容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1