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

正文內(nèi)容

基于directx的三維人體建模與運(yùn)動(dòng)仿真結(jié)題報(bào)告(專業(yè)版)

  

【正文】 那么其間的轉(zhuǎn)動(dòng)差值便為 90176。不論是標(biāo)準(zhǔn)網(wǎng)格模型還是蒙皮網(wǎng)格模型的模擬控制中,我們都可以采用選擇高層部位對(duì)應(yīng)的框架,然后設(shè)置其中的可傳遞的變換矩陣,通過(guò)作用的傳遞性,讓同樣的變換作用到與之連接的下 信息科學(xué)與技術(shù)學(xué)院 電子工程與信息科學(xué)系 ( EEIS) 22 層的部位,達(dá)到一個(gè)變換作用多個(gè)部位的效果。而修改上層框架的變換矩陣,則由于變換的向下傳遞作用,其子層的所有關(guān)節(jié)的繪制都將受到影響,表現(xiàn)為對(duì)相關(guān)聯(lián)的一系列關(guān)節(jié)的控制。 char *GetObjectName(ID3DXFileData *pDataObj)。 定義一個(gè) .X 文件解析器,完成所需的解析任務(wù)。s and // for updating bones. typedef struct XSSD3DXMESHCONTAINER_EX : public D3DXMESHCONTAINER { IDirect3DTexture9 **pTextures。 // Function to scan hierarchy for matching frame RangeIndex XSSD3DXFRAME_EX * FindByRangeIndex(DWORD nTheRangeIndex)。 // New Transformation for Controlling the Dummy D3DXMATRIX matNewSeparate。 DWORD nWeights。 以下著重講解與本文相關(guān)的四個(gè)關(guān)鍵模板,“ Frame”、“ Mesh”、“ FrameTransformMatrix”以及“ SkinWeights”的定義: .X 文件的結(jié)構(gòu)說(shuō)明 理解 .X 文件的結(jié)構(gòu)有助于了解 .X 文件中包含有哪些數(shù)據(jù),更有助于理解Direct3D 的庫(kù)函數(shù)可能是怎么讀取、解析 .X 文件的,甚至在知道 .X 文件的結(jié)構(gòu)之后,我們可以明白如何去擴(kuò)展它的功能,讓其作用盡可能的得到發(fā)揮。 通常,關(guān)節(jié)點(diǎn)附近的網(wǎng)格頂點(diǎn)可以收到多個(gè)骨骼的控制。 yzx( 世界坐標(biāo)系 )機(jī)器手網(wǎng)格骨骼 1骨骼 2骨骼 3皮膚網(wǎng)格、關(guān)節(jié)點(diǎn)、骨骼以及相關(guān)坐標(biāo)系點(diǎn) P點(diǎn) P’ 圖 5 蒙皮網(wǎng)格模型的變換矩陣作用原理 講解圖二 如圖 5 中的點(diǎn) P,在骨骼 2 的坐標(biāo)系下的坐標(biāo)保持不變。首先介紹蒙皮網(wǎng)格中模型的存儲(chǔ)方式和變換矩陣作用原理。為了能 夠模擬的人體達(dá)到多樣化,對(duì)模型某關(guān)節(jié)的尺度、位置做細(xì)微的調(diào)整也是必不可少的。兩點(diǎn)確定一條線段,各條線段通過(guò)公共頂點(diǎn)連接成模型網(wǎng)格。 DirectMusic 主要支持 MIDI 音樂(lè)合成和播放功能。在某些信息處理領(lǐng)域已經(jīng)可以滿足需求。除了文中特別加以標(biāo)注引用的內(nèi)容外,本論文不包含任何其他個(gè)人或集體已經(jīng)發(fā)表或撰寫(xiě)的成果作品。 涉密論文按學(xué)校規(guī)定處理。 信息科學(xué)與技術(shù)學(xué)院 電子工程與信息科學(xué)系 ( EEIS) 4 在開(kāi)發(fā)中, DirectX 分為兩個(gè)部分,一個(gè)是運(yùn)行庫(kù),通過(guò) DirectX 編譯出來(lái)的程式必須要有運(yùn)行庫(kù)的支持; 另外一個(gè)是開(kāi)發(fā)庫(kù),也就是常說(shuō)的 SDK,這部分是在編譯 DirectX程序中是必需的。 本文所介紹的三維人體建模與運(yùn)動(dòng)仿真主要使用其中的 Direct3D 組件。通過(guò)對(duì)變換矩陣的解析、重建,便可以改變相應(yīng)頂點(diǎn)的位置,對(duì)應(yīng)的模型部位便在空間位置上做出改變,整體上看,便像是模型做出了某一個(gè)動(dòng)作一般。似乎作用在某一個(gè)關(guān)節(jié)上的控制都向下傳遞給了與之相連接的關(guān)節(jié),同時(shí)接收到簡(jiǎn)介控制的關(guān)節(jié)又將控制信息傳遞給與 它連接的下一個(gè)關(guān)節(jié),直到底層的關(guān)節(jié)。當(dāng)矩陣 Bn 為矩陣 An 的逆矩陣時(shí),模型可以完全還原到原來(lái)的模樣,當(dāng)矩陣 Bn 有別于矩陣 An 的逆矩陣時(shí),便得到有別于原始模型的新模型。骨骼的權(quán)重矩陣就是在 .X 文件中各個(gè)骨骼的 Skin Weights 對(duì)象中的偏移矩陣,用來(lái)反響求出頂點(diǎn)在所屬骨骼的坐標(biāo)系下的坐標(biāo)。更一般地,一個(gè)頂點(diǎn)所有受骨骼影響的 權(quán)重值之和為 1。它由“ template”關(guān)鍵字、模板名稱、一個(gè) GUID( Globally Unique Identification Number 全局唯一標(biāo)識(shí)號(hào))以及數(shù)據(jù)變量的定義幾個(gè)部分組成。 包括以下幾個(gè)部分: ① 骨骼的名字 ② 有多少個(gè)權(quán)重值 ③ 頂點(diǎn)的索引列表 ④ 相對(duì)應(yīng)的影響頂點(diǎn)索引列表 ⑤ 本地轉(zhuǎn)換矩陣,轉(zhuǎn)換到骨骼空間 數(shù)據(jù)對(duì)象 數(shù)據(jù)對(duì)象是 .X 文件中,按照上述模板規(guī)定的數(shù)據(jù)組織形式所定義的一系列被具體化的數(shù)據(jù)信息。 // Translation Transformation to control the dummy D3DXMATRIX matControlR。 // Reset transformation matrices to original feature only 信息科學(xué)與技術(shù)學(xué)院 電子工程與信息科學(xué)系 ( EEIS) 18 void ResetToOriginalFeature()。 DWORD nMeshRangeIndex。 // Flags for which data to load // 1 = mesh, 2 = frames, 3= both DWORD m_Flags。當(dāng)然,在解析數(shù)據(jù)對(duì)象的同時(shí),根據(jù)應(yīng)用的需求應(yīng)將框架容器與網(wǎng)格容器中的框架索引、網(wǎng)格索引 、層次關(guān)系等填充清楚。 在蒙皮網(wǎng)格的繪制過(guò)程中,首先調(diào)用 ID3DXMESH::CloneMeshFVF()方法將原始人體網(wǎng)格做一個(gè)備份;然后將骨骼變換矩陣作用到備份的人體網(wǎng)格上,得到被放置在世界坐標(biāo)中心位置的各塊骨骼,接著將重組變換矩陣分別作用在這些骨骼上,得到一個(gè)新的人體網(wǎng)格整體,并將新網(wǎng)格數(shù)據(jù)覆蓋原始的人體網(wǎng)格數(shù)據(jù),這一過(guò)程由 ::UpdateSkinnedMesh() 方 法 實(shí) 現(xiàn) ; 最 終 直 接 調(diào) 用ID3DXMesh::DrawSubset()方法,一次性將整個(gè)人體 網(wǎng)格繪制出來(lái)。 所謂絕對(duì)控制形式,是指不考慮原有的變換矩陣如何,重新為變換矩陣賦值而得到新的變換矩陣,再使新矩陣作用到模型上,從而獲取控制模型運(yùn)動(dòng)的效果。在實(shí)時(shí)模型控制的應(yīng)用中,相對(duì)控制方式就會(huì)更實(shí)用一些。時(shí)的變換矩陣即可,而不必考慮原來(lái)的臉部朝向是什么。在標(biāo)準(zhǔn)網(wǎng)格模型中,要實(shí)現(xiàn)這個(gè)控制目的,只需找到直接包含上臂網(wǎng)格信息的子框架,然后對(duì)該框架中變換矩陣在垂直于上臂方向的比例分量上做一個(gè)縮減就可以做到。所有繪制方式的參數(shù)都體現(xiàn)在了 4 4 的變換矩陣 WorldMatrix 中。 // Function called to enumerate child templates BOOL ParseChildObjects(ID3DXFileData *pDataObj, DWORD Depth, void **Data, BOOL ForceReference = FALSE)。 // Find the mesh by MeshIndex XSSD3DXMESHCONTAINER_EX *FindByIndex(DWORD nMeshIndexToSeek)。 bool DownLoadState(DWORD nNumMatrix, D3DXMATRIX * pRootMatrix, DWORD nDummyConfigType = XSSDUMMYCONFIG_BOTH)。 DWORD nFrameDepth。本文介紹的解析方法中分別以 D3DXFRAME 和 D3DXMESHCONTAINER 為基類,按需拓展其原有的功能,定義專用的框架容器 XSSD3DXFRAME_EX 和網(wǎng)格容器XSSD3DXMESHCONTAINER_EX。 通常會(huì)有 9 個(gè)部分組成: ① 包含的頂點(diǎn)數(shù) ② 頂點(diǎn)列表,一個(gè)頂點(diǎn)包含三個(gè)浮點(diǎn)值 ③ 面數(shù) ④ 面的頂點(diǎn)索引列表,每個(gè)面包含三個(gè)頂點(diǎn) ⑤ MeshFaceWraps 結(jié)構(gòu),暫時(shí)無(wú)用 ⑥ MeshTextureCoords 紋理坐標(biāo),可選 ⑦ MeshNormals 法向,可選 ⑧ MeshVertexColors 頂點(diǎn)顏色,默認(rèn)為白色 ⑨ MeshMaterialList 材質(zhì),不提供的話默認(rèn)為白色 當(dāng)讀取一個(gè) .X 文件到程序中時(shí),只會(huì)訪問(wèn)到每個(gè)模板的 GUIDs 而不 信息科學(xué)與技術(shù)學(xué)院 電子工程與信息科學(xué)系 ( EEIS) 14 是模板的名稱。 標(biāo)準(zhǔn) 網(wǎng)格模型的變換矩陣作用原理 類比蒙皮網(wǎng)格模型變換矩陣作用的原理,只需將蒙皮網(wǎng)格模型中開(kāi)始的分解模型那一塊省去,然后將標(biāo)準(zhǔn)網(wǎng)格模型的比例變換、旋轉(zhuǎn)變換及平移變換綜合在一起類比蒙皮網(wǎng)格模型變換中的拼接,就得到了標(biāo)準(zhǔn)網(wǎng)格模型變換矩陣的作用方式了。 此時(shí),通過(guò)骨骼矩陣自定向下進(jìn)行乘法累積,可獲得旋轉(zhuǎn)后的各個(gè)骨骼的世界坐標(biāo)變換矩陣 。 角色網(wǎng)格的每一個(gè)頂點(diǎn)都有一個(gè)局部坐標(biāo),這些頂點(diǎn)局部坐標(biāo)構(gòu)成 .X 文件的 Mesh 對(duì)象的數(shù)據(jù)。 變換矩陣作用原理 常見(jiàn)三維模型有標(biāo)準(zhǔn)網(wǎng)格模型和蒙皮網(wǎng)格模型。 由此框架編寫(xiě)的應(yīng)用程序具有較強(qiáng)的通用性,其特殊而強(qiáng)大的程序架構(gòu)更有利于工程中其他功能的添加,使得相關(guān)應(yīng)用得以拓展。具體的建模規(guī)則由下文“三維人體模型的結(jié)構(gòu)分析部分”介紹。 表 1 DirectX 成員及其作用 DirectX 成員 作用簡(jiǎn)述 DirectX Graphics 集成了以前的 DirectDraw 和 Direct3D 技術(shù)。而在工程研究領(lǐng)域, 3D 仿真同樣得到了廣泛的運(yùn)用, 從城市規(guī)劃的模擬視圖,到機(jī)械設(shè)計(jì)中的運(yùn)動(dòng)仿真, 3D 都起到了重要的輔助的作用。 中國(guó)科學(xué)技術(shù)大學(xué) 大學(xué)生研究計(jì)劃結(jié)題報(bào)告 課題 名稱 三維人體建模與運(yùn)動(dòng)仿真 姓 名 學(xué) 院 系 別 專 業(yè) 年 級(jí) 學(xué) 號(hào) 指導(dǎo)老 師 導(dǎo)師單位 畢業(yè)設(shè)計(jì)(論文)原創(chuàng)性聲明和使用授權(quán)說(shuō)明 原創(chuàng)性聲明 本人鄭重承諾:所呈交的畢業(yè)設(shè)計(jì)(論文),是我個(gè)人在指導(dǎo)教師的指導(dǎo)下進(jìn)行的研究工作及取得的成果。尤其在娛樂(lè)多媒體領(lǐng)域,從由來(lái)已久的 3D 游戲到氣勢(shì)恢宏倍受青睞的 3D 電影《阿凡達(dá)》( AFATAR),再到由此掀起的當(dāng)今的 3D 熱潮,無(wú)不展現(xiàn)出 3D 的巨大魅力。 Direct3D) 、DirectSound、 DirectPlay、 Direct3D、 DirectInput、 DirectSetup、 AutoPlay 等。值得 特別說(shuō)明的是,由于對(duì)模型的形態(tài)編輯與控制時(shí)基于對(duì)作用在模型上的變換矩陣的編輯實(shí)現(xiàn)的,故而所建立的模型必須按照嚴(yán)格的設(shè)計(jì)規(guī)則,尤其是各個(gè)部位間的鏈接關(guān)系和層次關(guān)系,它們將直接關(guān)系到模型是否能得到正常、合理的控制。 MFC 應(yīng)用程序框架上的三維模型編輯軟件的構(gòu)建 MFC 應(yīng)用程序框架是工程以及信息處理領(lǐng)域?qū)I(yè)應(yīng)用型程序編寫(xiě)所基于的主要程序框架。常言道“牽一發(fā)而動(dòng)全身”,那是因?yàn)楸慌哿俗龀龅目鋸埛磻?yīng),而此處的“動(dòng)盆骨則動(dòng)全身”,則是我們的身體結(jié)構(gòu)所決定的,否則我們的骨架就要脫臼了。其中, 從連接關(guān)系上, 骨骼 1 是骨骼 2 的父骨骼,骨骼 2 是骨骼 3 的父骨骼。在 .X 文件中,骨骼在某一幀時(shí)刻的 Animation Key 矩陣對(duì)象就是這些骨骼矩陣。所以在標(biāo)準(zhǔn)網(wǎng)格模型的存儲(chǔ)過(guò)程中,各個(gè)關(guān)節(jié)模型上的各個(gè)頂點(diǎn)被原樣記錄下來(lái),其次是比例變換 An,再次是用于拼接的變換矩陣 Bn。 重點(diǎn)說(shuō)明一下模板的全局唯一標(biāo)識(shí)號(hào)( GUID): GUID 是一個(gè)用于唯一標(biāo)識(shí)模板的編號(hào)。 [...] } 用于 定義一個(gè) Mesh 對(duì)象。 .X 文件的解析方法概述 將 .X 文件中的模型讀取的過(guò)程辨識(shí) .X 文件的解析過(guò)程,大致分為以下步驟: 定義一個(gè)框架容器或直接用 Direct3D SDK 中的 D3DXFRAME 結(jié)構(gòu)體,定義一個(gè)網(wǎng)格容器或直接用 Direct3D SDK 中的 D3DXMESHCONTAINER。 // To store separate Translate Transformation to configure or Control the dummy XSSD3DXFRAME_EX * pFrameParent。 bool DownLoadTransform(DWORD nNumMatrix, DWORD * pnMatrixIndex, D3DXMATRIX * pRootMatrix, DWORD nDummyConfigType = XSSDUMMYCONFIG_BOTH)。 // Find the mesh by name XSSD3DXMESHCONTAINER_EX *Find(char *MeshName)。 protected: // Function called for every template found BOOL ParseObject(ID3DXFileData *pDataObj, ID3DXFileData *pParentDataObj, DWORD Depth, void **Data, BOO
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1