風(fēng)洞模型表面壓力分布三維顯示技術(shù)
模型的顏色要經(jīng)過(guò)顏色表現(xiàn)確認(rèn)、頂點(diǎn)緩沖區(qū)填充和著色模式的選擇3 個(gè)步驟渲染。在Direct3D中顏色使用RGB 表示,需要指定紅、綠、藍(lán)三原色的值,這3 個(gè)分量的混合顏色就是最終顏色。使用D3DCOLOR 類(lèi)型結(jié)構(gòu)表示RGB 數(shù)據(jù)。該類(lèi)型被分成4 個(gè)8-bit 的部分,分別用于存儲(chǔ)顏色的分量。
每種顏色分量都使用1 個(gè)字節(jié)表示,所以每種顏色分量的亮度范圍為0~255。正確地填寫(xiě)D3DCOLOR結(jié)構(gòu)中的各個(gè)分量需要進(jìn)行位操作。D3D 提供了一個(gè)宏D3DCOLOR_ARGB,每個(gè)分量需要在0~255。
D3Dcolor brightRed = D3DCOLOR_ARGB(255, 255, 0, 0);D3Dcolorsome Color = D3DCOLOR_ARGB(255, 144, 87,201);幾何體的顏色由其頂點(diǎn)的顏色決定,必須向頂點(diǎn)數(shù)據(jù)結(jié)構(gòu)中添加顏色成員。因?yàn)镈irect3D 使用32-bit 的整型數(shù)表示顏色。另外,當(dāng)使用頂點(diǎn)著色器(Vertex Shader)時(shí),將會(huì)使用四元向量描述頂點(diǎn)顏色,這是一個(gè)128-bit 的顏色。
在光柵化和通過(guò)頂點(diǎn)顏色計(jì)算像素顏色時(shí)將著色。在平滑模式下,頂點(diǎn)的顏色以線形插值方式渲染表面。在Direct3D 中可使用如下設(shè)置著色模式:
Device->SetRenderState(D3DRS_SHADEMODE,D3DSHADE_FLAT);Device->SetRenderState(D3DRS_SHADEMODE,D3DSHADE_GOURAUD);通過(guò)讀取X 格式的模型文件,設(shè)置模型表面壓力孔分布點(diǎn)位置,導(dǎo)入測(cè)壓原始數(shù)據(jù),對(duì)數(shù)據(jù)范圍進(jìn)行顏色設(shè)置,能觀察模型表面的壓力大小?;陬伾秩镜?a class="contentlabel" href="http://butianyuan.cn/news/listbylabel/label/壓力">壓力分步顯示如圖4、圖5。圖中的綠色表示0~0.09 的數(shù)值,黃色表示0.09~0.11 的數(shù)值,藍(lán)色表示0.11~0.15 的數(shù)值,紅色表示0.15~0.24的數(shù)值,棕色表示0.24~0.99 的數(shù)值。壓力孔之間的顏色溶解可以選擇是否顯示。垂直模型表面的紅色長(zhǎng)線為壓力值的法線。壓力值越大,法線越長(zhǎng)。
3 結(jié)束語(yǔ)
試驗(yàn)證明,該系統(tǒng)能夠較好地直觀展示出模型表面壓力數(shù)值分布,使用人員能直觀地觀察出模型表面壓力大小。該系統(tǒng)提高了分析數(shù)據(jù)的效率,為進(jìn)一步分析數(shù)據(jù)提供了方向。
評(píng)論