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

正文內(nèi)容

基于directx的三維人體建模與運(yùn)動仿真結(jié)題報告(完整版)

2025-08-31 03:19上一頁面

下一頁面
  

【正文】 MESHCONTAINER_EX *m_pRootMesh。 信息科學(xué)與技術(shù)學(xué)院 電子工程與信息科學(xué)系 ( EEIS) 20 // Function to start parsing an .X file BOOL Parse(char *Filename, void **Data = NULL)。 多種模式下的模型運(yùn)動控制 對三維模型的控制效果最終表現(xiàn)在繪制出的模型的視覺表現(xiàn)。由上文變換矩陣作用原理 可知道變換矩陣 matCombined 是本地變換矩陣和上層框架坐標(biāo)系變換矩陣相乘的結(jié)果。所以對模型的設(shè)置只能在重組變換矩陣上做文章。 組合整體模式,是指對一個部位做一個控制,則與該部位想連接的下層部位都受到相同的控制作用,從而表現(xiàn)出像是對整個關(guān)聯(lián)部位的控制。比如,當(dāng)前人體模型臉部的朝向是前方右偏 45176。還是以上述偏轉(zhuǎn)臉部的朝向為例,當(dāng)前朝向為 45176。 三種類型變換的作用效果和施加變換的次序規(guī)則 不論是標(biāo)準(zhǔn)網(wǎng)格模型還是蒙皮網(wǎng)格模型,它們都具有一個相同的狀態(tài),即分解成零散的關(guān)節(jié)或骨骼后被置放在世界坐標(biāo)系的 中 心位置,而且特別強(qiáng)調(diào)關(guān)節(jié)與上層關(guān)節(jié),骨骼與上層骨骼的連接點(diǎn) 幾乎 是與坐標(biāo)原點(diǎn) (0, 0, 0)重疊在一起的 ,甚至連關(guān)節(jié)或骨骼的幾何對稱軸都近乎與坐標(biāo)軸重合 。的旋轉(zhuǎn)變換對應(yīng)的矩陣保存到臨時矩陣中;然后將當(dāng)前的變換矩陣與臨時矩陣相乘,并將相乘的結(jié)果賦給框架的變換矩陣。那么只需直接將變換矩陣通過數(shù)值計算重新賦為偏角為 45176。比如,假設(shè)一個人的手臂在上臂和下手臂的連接處脫臼了,下手臂不受人體控制處于下垂?fàn)顟B(tài),那么當(dāng)此人忍痛舉起上臂時,下手臂便由于皮膚的連接作用,受上臂的牽動,經(jīng)過一段移動后被懸吊起來,但是仍然處于下垂?fàn)顟B(tài)。比如,只希望模型的上臂細(xì)小一些,而不影響下手臂和手掌等部位的特征。所以在做變換矩陣的設(shè)置時,一定要嚴(yán)格根據(jù)控制的目的,正確地選擇設(shè)置的框架對象以及變換矩陣對象。WorldMatrix) 方法來設(shè)置網(wǎng)格繪制的位置以及繪制的方式,比如旋轉(zhuǎn)多少度繪制,按什么比例繪制等。 }。 protected: // Function called for every template found BOOL ParseObject(ID3DXFileData *pDataObj, ID3DXFileData *pParentDataObj, DWORD Depth, void **Data, BOOL Reference)。 char *m_pTexturePath。 // Find the mesh by name XSSD3DXMESHCONTAINER_EX *Find(char *MeshName)。 XSSD3DXFRAME_EX *pPackCellFrame。 bool DownLoadTransform(DWORD nNumMatrix, DWORD * pnMatrixIndex, D3DXMATRIX * pRootMatrix, DWORD nDummyConfigType = XSSDUMMYCONFIG_BOTH)。 // Reset transformation matrices to Recent feature only void ResetToRecentFeature()。 // To store separate Translate Transformation to configure or Control the dummy XSSD3DXFRAME_EX * pFrameParent。 // Translation Transformation to configure the dummy D3DXMATRIX matFeatureR。 .X 文件的解析方法概述 將 .X 文件中的模型讀取的過程辨識 .X 文件的解析過程,大致分為以下步驟: 定義一個框架容器或直接用 Direct3D SDK 中的 D3DXFRAME 結(jié)構(gòu)體,定義一個網(wǎng)格容器或直接用 Direct3D SDK 中的 D3DXMESHCONTAINER。 array FLOAT weights[nWeights]。 [...] } 用于 定義一個 Mesh 對象。在骨骼動畫中可以裝載一塊或一系列骨骼(如手臂),(表示骨骼時)可以沒有 Mesh 對象。 重點(diǎn)說明一下模板的全局唯一標(biāo)識號( GUID): GUID 是一個用于唯一標(biāo)識模板的編號。 .X 文件頭 .X 文件頭包含文件的類型標(biāo)識符、文件版本、數(shù)據(jù)記錄格式以及數(shù)據(jù)中浮點(diǎn)數(shù)值的位數(shù)等信息。所以在標(biāo)準(zhǔn)網(wǎng)格模型的存儲過程中,各個關(guān)節(jié)模型上的各個頂點(diǎn)被原樣記錄下來,其次是比例變換 An,再次是用于拼接的變換矩陣 Bn。一次,考慮頂點(diǎn)受到多個骨骼影響的情形,頂點(diǎn)運(yùn)動后的坐標(biāo)還要與該頂點(diǎn)的權(quán)重值想成。在 .X 文件中,骨骼在某一幀時刻的 Animation Key 矩陣對象就是這些骨骼矩陣。如果將根骨骼(層次關(guān)系中處于最上層的那塊骨骼)的父骨骼坐標(biāo)系定義為世界坐標(biāo)系(包含網(wǎng)格頂點(diǎn)坐標(biāo)的 Frame 所在的坐標(biāo)系實(shí)際就是所謂的局部坐標(biāo)系),那么,每個骨 骼都有一個骨骼矩陣,折疊矩陣就是在 .X 文件中看到的一系列具有層次關(guān)系的 Frame 對象中的變換矩陣。其中, 從連接關(guān)系上, 骨骼 1 是骨骼 2 的父骨骼,骨骼 2 是骨骼 3 的父骨骼。隨后才分塊定義不同的骨骼,相當(dāng)于將一個模型根據(jù)所需的精細(xì)程度,按部位的不同分割開,然后通過變換矩陣 An 將各個骨骼移動到世界坐標(biāo)系的中心處,并確保其中與上層關(guān)節(jié)的連接點(diǎn)與原點(diǎn)重合。常言道“牽一發(fā)而動全身”,那是因為被弄疼了做出的夸張反應(yīng),而此處的“動盆骨則動全身”,則是我們的身體結(jié)構(gòu)所決定的,否則我們的骨架就要脫臼了。又如,當(dāng)我們發(fā)現(xiàn)一個模型整條手臂的比例都很協(xié)調(diào)很美觀,然而它相對于身體的其他部位顯得小了一些,那么我們是期望可以對整個手臂做 信息科學(xué)與技術(shù)學(xué)院 電子工程與信息科學(xué)系 ( EEIS) 7 一個比例縮放,使之與其他的關(guān)節(jié)在尺度上協(xié)調(diào)起來。 MFC 應(yīng)用程序框架上的三維模型編輯軟件的構(gòu)建 MFC 應(yīng)用程序框架是工程以及信息處理領(lǐng)域?qū)I(yè)應(yīng)用型程序編寫所基于的主要程序框架。眾多三角平面的拼接,圍成一個三維、立體的模型外殼,通過為三角面配置不同的材質(zhì),為頂點(diǎn)確定不同的紋理,得到一個具有特色的仿真模型。值得 特別說明的是,由于對模型的形態(tài)編輯與控制時基于對作用在模型上的變換矩陣的編輯實(shí)現(xiàn)的,故而所建立的模型必須按照嚴(yán)格的設(shè)計規(guī)則,尤其是各個部位間的鏈接關(guān)系和層次關(guān)系,它們將直接關(guān)系到模型是否能得到正常、合理的控制。 信息科學(xué)與技術(shù)學(xué)院 電子工程與信息科學(xué)系 ( EEIS) 5 DirectShow 為 Windows 平臺上處理各種格式的媒體文件的回放、音視頻采集等高性能要求的多媒體應(yīng)用,提供了完整的解決方案。 Direct3D) 、DirectSound、 DirectPlay、 Direct3D、 DirectInput、 DirectSetup、 AutoPlay 等。當(dāng)然,目前在使用這兩類函數(shù)庫進(jìn)行模型編輯的運(yùn)用中,大多為直接替換整個作用在模型某一部位的變換矩陣,而不是對模型的尺度、角度及方位分別進(jìn)行控制。尤其在娛樂多媒體領(lǐng)域,從由來已久的 3D 游戲到氣勢恢宏倍受青睞的 3D 電影《阿凡達(dá)》( AFATAR),再到由此掀起的當(dāng)今的 3D 熱潮,無不展現(xiàn)出 3D 的巨大魅力。本人完全意識到本聲明的法律后果由本人承擔(dān)。 中國科學(xué)技術(shù)大學(xué) 大學(xué)生研究計劃結(jié)題報告 課題 名稱 三維人體建模與運(yùn)動仿真 姓 名 學(xué) 院 系 別 專 業(yè) 年 級 學(xué) 號 指導(dǎo)老 師 導(dǎo)師單位 畢業(yè)設(shè)計(論文)原創(chuàng)性聲明和使用授權(quán)說明 原創(chuàng)性聲明 本人鄭重承諾:所呈交的畢業(yè)設(shè)計(論文),是我個人在指導(dǎo)教師的指導(dǎo)下進(jìn)行的研究工作及取得的成果。 作者簽名: 日期: 年 月 日 學(xué)位論文版權(quán)使用授權(quán)書 本學(xué)位論文作者完全了解學(xué)校有關(guān)保留、使用學(xué)位論文的規(guī)定,同意學(xué)校保留并向國家有關(guān)部門或機(jī)構(gòu)送交論文的復(fù)印件和電子版,允許論文被查閱和借閱。而在工程研究領(lǐng)域, 3D 仿真同樣得到了廣泛的運(yùn)用, 從城市規(guī)劃的模擬視圖,到機(jī)械設(shè)計中的運(yùn)動仿真, 3D 都起到了重要的輔助的作用。本文介紹的方法可以實(shí)現(xiàn) 對特定規(guī)則生成的綜合變換矩陣的反解析,從而獲取上述三方面變換的矩陣,通過將原變換矩陣與新添的控制變換矩陣的各自分別組合后相乘,得到最終變換矩陣,可以達(dá)到對模型的精確控制。 表 1 DirectX 成員及其作用 DirectX 成員 作用簡述 DirectX Graphics 集成了以前的 DirectDraw 和 Direct3D 技術(shù)。 DirectX Media Objects DirectShow Filter 的簡化模型,提供更方便的流數(shù)據(jù)處理方案。具體的建模規(guī)則由下文“三維人體模型的結(jié)構(gòu)分析部分”介紹。 .X 文件對模型的存儲不僅有確定模型的頂點(diǎn)信息、平面信息、材質(zhì)信息,還具有用于控制頂點(diǎn)位置的變換矩陣。 由此框架編寫的應(yīng)用程序具有較強(qiáng)的通用性,其特殊而強(qiáng)大的程序架構(gòu)更有利于工程中其他功能的添加,使得相關(guān)應(yīng)用得以拓展。如此又是連接,又有獨(dú)立 ,又是整體的,那么 模型關(guān)節(jié)的運(yùn)動到底是如何實(shí)現(xiàn)的呢?首先來了解一下人體模型各個關(guān)節(jié)的連接關(guān)系。 變換矩陣作用原理 常見三維模型有標(biāo)準(zhǔn)網(wǎng)格模型和蒙皮網(wǎng)格模型。于是在世界坐標(biāo)系的中心,我們得到一組零散的人體骨骼。 角色網(wǎng)格的每一個頂點(diǎn)都有一個局部坐標(biāo),這些頂點(diǎn)局部坐標(biāo)構(gòu)成 .X 文件的 Mesh 對象的數(shù)據(jù)。 利用骨骼矩陣,可計算出骨骼蒙皮頂點(diǎn)所在骨骼坐標(biāo)系下的坐標(biāo)和世界坐標(biāo)。 此時,通過骨骼矩陣自定向下進(jìn)行乘法累積,可獲得旋轉(zhuǎn)后的各個骨骼的世界坐標(biāo)變換矩陣 。頂點(diǎn)的權(quán)重由 3D建模軟件在繪圖階段確定下來,并保存在 .X文件的各個骨骼 SkinWeights 對象的 weights 數(shù)組中。 標(biāo)準(zhǔn) 網(wǎng)格模型的變換矩陣作用原理 類比蒙皮網(wǎng)格模型變換矩陣作用的原理,只需將蒙皮網(wǎng)格模型中開始的分解模型那一塊省去,然后將標(biāo)準(zhǔn)網(wǎng)格模型的比例變換、旋轉(zhuǎn)變換及平移變換綜合在一起類比蒙皮網(wǎng)格模型變換中的拼接,就得到了標(biāo)準(zhǔn)網(wǎng)格模型變換矩陣的作用方式了。如“ xof 0303txt 0032”,表示 DirectX 版本的,以文本格式記錄數(shù)據(jù),浮點(diǎn)數(shù)值為 32 位的 .X 文件。當(dāng)讀取一個 .X 文件到程序中時,只會訪問到每個模板的 GUIDs 而不 信息科學(xué)與技術(shù)學(xué)院 電子工程與信息科學(xué)系 ( EEIS) 14 是模板的名稱。 通常 包括兩部分: ① Mesh 對象。 通常會有 9 個部分組成: ① 包含的頂點(diǎn)數(shù) ② 頂點(diǎn)列表,一個頂點(diǎn)包含三個浮點(diǎn)值 ③ 面數(shù) ④ 面的頂點(diǎn)索引列表,每個面包含三個頂點(diǎn) ⑤ MeshFaceWraps 結(jié)構(gòu),暫時無用 ⑥ MeshTextureCoords 紋理坐標(biāo),可選 ⑦ MeshNormals 法向,可選 ⑧ MeshVertexColors 頂點(diǎn)顏色,默認(rèn)為白色 ⑨ MeshMaterialList 材質(zhì),不提供的話默認(rèn)為白色 Matrix4x4 matrixOffset。本文介紹的解析方法中分別以 D3DXFRAME 和 D3DXMESHCONTAINER 為基類,按需拓展其原有的功能,定義專用的框架容器 XSSD3DXFRAME_EX 和網(wǎng)格容器XSSD3DXMESHCONTAINER_EX。 // Rotation Transformation to configure the dummy D3DXMATRIX matFeatureS。 DWORD nFrameDepth。 // Reset transformation matrices to recent feature and configuration void ResetToRecent()。 bool DownLoadState(DWORD nNumMatrix, D3DXMATRIX * pRootMatrix, DWORD nDummyConfigType = XSSDUMMYCONFIG_BOTH)。 BOOL bIfSelected。 // Find the mesh by MeshIndex XSSD3DXMESHCONTAINER_EX *FindByIndex(DWORD nMeshIndexToSeek)。 DWORD m_NewFVF。 // Function called to enumerate child templates BOOL ParseChildObjects(ID3DXFileData *pDataObj, DWORD Depth, void **Data, BOOL ForceReference = FALSE)。 CXInternalParser在解析
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1