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

正文內(nèi)容

基于vtk的有限元網(wǎng)格可視化研究及軟件設(shè)計(jì)畢業(yè)設(shè)計(jì)-資料下載頁(yè)

2025-06-22 02:05本頁(yè)面
  

【正文】 =NULL){ AfxMessageBox(Cannot open the Specified Files!\n)。 exit(1)。 } } if(flag_del==1) {//約束Delaunay三角剖分?jǐn)?shù)據(jù) err0=fopen_s(amp。fp0,rt)。 errb=fopen_s(amp。fpb,rt)。 } fp1=NULL。err1=NULL。 if(err0!=NULL||errb!=NULL){ AfxMessageBox(Cannot open the Specified Files!\n)。 exit(1)。 } }////若進(jìn)行約束Delaunay劃分,則讀取邊界約束點(diǎn)數(shù)據(jù)if ((flag0==6amp。amp。flag_del==1)||(flag0==7amp。amp。flag_del==1)){ ifstream fin(fpb)。 finnumbj。//讀入邊界數(shù)目 (numbj)。 for (int i=0。inumbj。i++) finnumbn[i]。//讀入每個(gè)邊界包含的邊界點(diǎn)數(shù)目 for (int i=0,k=0。!feof(fpb)。i++){//讀入邊界點(diǎn) k=(i+1)*3。 (i+1,datab_id)。 (k,datab)。 findatab_id[i]datab[k3]datab[k2]datab[k1]。}fclose(fpb)。numb=()。//邊界點(diǎn)總數(shù),.(numb,nodeb)。//重置邊界點(diǎn)個(gè)數(shù),Node3D的構(gòu)造函數(shù)將會(huì)被調(diào)用for (int i=0,k=0。inumb。i++){//為每個(gè)邊界點(diǎn)對(duì)象設(shè)置編號(hào)和坐標(biāo)屬性 k=(i+1)*3。 nodeb[i].SetIdNode(datab_id[i]+n)。//設(shè)置邊界點(diǎn)最小編號(hào)緊接節(jié)點(diǎn)最大編號(hào) nodeb[i].SetXNode(datab[k3])。 nodeb[i].SetYNode(datab[k2])。 nodeb[i].SetZNode(datab[k1])。 } }有一個(gè)細(xì)節(jié)需要注意:在讀入邊界點(diǎn)后,Node3D類的成員變量count的計(jì)數(shù)為節(jié)點(diǎn)總數(shù)與邊界點(diǎn)總數(shù)之和。 節(jié)點(diǎn)位移分量的讀入位移數(shù)據(jù)文件的組織形式與節(jié)點(diǎn)數(shù)據(jù)文件的組織形式類似,只是把其中節(jié)點(diǎn)的三個(gè)坐標(biāo)分量換做了節(jié)點(diǎn)的三個(gè)位移分量。當(dāng)flag_uvw=1時(shí),讀入節(jié)點(diǎn)位移數(shù)據(jù),讀入方式與節(jié)點(diǎn)數(shù)據(jù)的讀入類似。在數(shù)據(jù)讀入完成后同時(shí)設(shè)置了位移放大系數(shù)m_alpha的值為1,表示節(jié)點(diǎn)繪圖位置為位移后的真實(shí)位置,未經(jīng)放大。//若需繪制變形圖,則讀入節(jié)點(diǎn)位移數(shù)據(jù)if(flag_uvw==1){//節(jié)點(diǎn)位移數(shù)據(jù) erru=fopen_s(amp。fpu,rt)。 if(erru!=NULL){ printf_s(Cannot open the Specified Files!\n)。 exit(1)。 } ifstream fin1(fpu)。 for (int i=0,k=0。!feof(fpu)。i++){//讀入位移編號(hào)及位移分量 k=(i+1)*3。 (i+1,data_idu)。 (k,data_uvw)。 fin1data_idu[i]data_uvw[k3]data_uvw[k2]data_uvw[k1]。 }fclose(fpu)。 int n=()。//位矢總數(shù) if (n==Node3D::GetCount()numb) { for (int i=0,k=0。in。i++){//為每個(gè)節(jié)點(diǎn)對(duì)象分配位移 k=(i+1)*3。     node[i].SetNode_u(data_uvw[k3])。 node[i].SetNode_v(data_uvw[k2])。 node[i].SetNode_w(data_uvw[k1])。 } Node3D::Set_alpha(1)。//設(shè)置位移放大系數(shù) }}程序在讀入位移數(shù)據(jù)后、為節(jié)點(diǎn)分配位移分量之前,進(jìn)行了一個(gè)條件判斷:if (n==Node3D::GetCount()numb),以比較位矢的數(shù)目與節(jié)點(diǎn)的數(shù)目是否相等。若二者數(shù)目不等,表明讀入的位移并不是該單元各節(jié)點(diǎn)的位移,數(shù)據(jù)無效;若二者相等,才為各節(jié)點(diǎn)分配位移分量值。 單元編號(hào)及頂點(diǎn)的讀入在文本文件中,單元數(shù)據(jù)是一個(gè)n行的數(shù)表,例如四面體單元的組織形式為:1 1 2 3 4 12 2 3 4 5 13 2 4 5 6 1……其中,每一行代表一個(gè)單元:第一列是單元編號(hào),最后一列是單元材料號(hào),中間幾列則是單元的頂點(diǎn)號(hào)。在圖形繪制時(shí),材料號(hào)用處不大,但由于有限元計(jì)算時(shí)需在單元數(shù)據(jù)中包含材料信息,為與此統(tǒng)一,這里讀入了材料號(hào)。另外,如果繪制的有限元網(wǎng)格模型對(duì)象很多時(shí)不便區(qū)分,也可以將不同的顏色屬性值賦予材料,以此來顯示模型便于觀察。以四面體單元的讀入為例,程序代碼如下:if(flag0==3){//四面體單元數(shù)據(jù) err0=fopen_s(amp。fp0,rt)。 err1=fopen_s(amp。fp1,rt)。 fpb=NULL。errb=NULL。 if(err0!=NULL||err1!=NULL){ AfxMessageBox(Cannot open the Specified Files!\n)。 exit(1)。 }}//if (flag0==3){//四面體單元 for(int i=0。!feof(fp1)。i++){ int k=(i+1)*6。 (k,data1)。 fscanf_s(fp1,%d %d %d %d %d %d,amp。data1[k6],amp。data1[k5],amp。data1[k4],amp。data1[k3],amp。data1[k2],amp。data1[k1])。 }fclose(fp1)。 int n=()/6。//單元總數(shù) (n,elementtet)。 for (int i=0,k=0。in。i++){//設(shè)置單元屬性 elementtet[i].SetIdElement(data1[k])。 elementtet[i].SetIdNode(data1[k+1],data1[k+2],data1[k+3],data1[k+4])。 elementtet[i].SetIdMaterial(data1[k+5])。 k+=6。 }}第四章 有限元網(wǎng)格的可視化在這一章中將詳細(xì)地討論基于VTK的有限元網(wǎng)格可視化方法。闡述了可視化數(shù)據(jù)的一些特點(diǎn)、介紹了VTK包含的單元數(shù)據(jù)類型與組織結(jié)構(gòu)、VTK單元數(shù)據(jù)集的類型及與有限元網(wǎng)格形成之間的關(guān)系?!獙?duì)象工廠設(shè)計(jì)模式,它是規(guī)范VTK代碼的一個(gè)基本標(biāo)準(zhǔn),也是VTK中有別于C++的一種創(chuàng)建并初始化對(duì)象最基本手段。這些單元及網(wǎng)格類型包括:線單元、平面三角形單元、空間四面體單元、空間五面體單元、空間六面體單元、平面散點(diǎn)集的Delaunay三角網(wǎng)以及有約束邊界的平面Delaunay三角網(wǎng)。這些單元及網(wǎng)格的繪制手段同VTK的基本數(shù)據(jù)結(jié)構(gòu)密切相關(guān),它們的繪制顯示流程都是按照VTK的“管道流(Pipeline)”機(jī)制進(jìn)行的。 VTK基本數(shù)據(jù)的表達(dá) 可視化數(shù)據(jù)的特點(diǎn)可視化數(shù)據(jù)一般具有以下三個(gè)特點(diǎn):1) 離散性:為了讓計(jì)算機(jī)能夠獲取、處理和分析數(shù)據(jù),必須對(duì)無限、連續(xù)的空間體進(jìn)行采樣,生成有限的采樣數(shù)據(jù)點(diǎn),這些數(shù)據(jù)點(diǎn)以離散的形式儲(chǔ)存,采樣的過程就是一個(gè)離散化的過程。若果要求得連續(xù)空間體的任意一點(diǎn)的值,必須依據(jù)離散點(diǎn)進(jìn)行插值。2) 結(jié)構(gòu)性:可視化數(shù)據(jù)具有規(guī)則的或不規(guī)則的數(shù)據(jù)結(jié)構(gòu)。規(guī)則結(jié)構(gòu)數(shù)據(jù)點(diǎn)之間有固定的關(guān)聯(lián)關(guān)系,可以通過這些關(guān)聯(lián)確定每個(gè)點(diǎn)的坐標(biāo);而非規(guī)則結(jié)構(gòu)數(shù)據(jù)之間沒有固定的關(guān)聯(lián)關(guān)系。3) 空間性:可視化數(shù)據(jù)可以具有零維、一維、二維、三維等任意的空間拓?fù)渚S度。數(shù)據(jù)的維度決定了數(shù)據(jù)可視化的方法。零維的數(shù)據(jù)表現(xiàn)為點(diǎn),一維的數(shù)據(jù)表現(xiàn)為線,二維數(shù)據(jù)表現(xiàn)為面,而三維數(shù)據(jù)則表現(xiàn)為體。 VTK的單元數(shù)據(jù)集在VTK中,數(shù)據(jù)一般以數(shù)據(jù)對(duì)象的形式表現(xiàn)。數(shù)據(jù)對(duì)象是數(shù)據(jù)的集合,它表現(xiàn)的數(shù)據(jù)是經(jīng)可視化流水線處理過的數(shù)據(jù)。只有數(shù)據(jù)對(duì)象被組織成某種結(jié)構(gòu)后,才能被VTK提供的可視化算法處理。每種數(shù)據(jù)具有各自相應(yīng)的數(shù)據(jù)屬性。數(shù)據(jù)屬性是對(duì)數(shù)據(jù)所描述對(duì)象的幾何拓?fù)湫再|(zhì)及算法特征的一種抽象,也可以是與單元數(shù)據(jù)相關(guān)聯(lián)的信息。它用來對(duì)數(shù)據(jù)的存儲(chǔ)方式、運(yùn)算規(guī)則、適用算法、點(diǎn)與單元的數(shù)據(jù)特征、顏色標(biāo)量值等進(jìn)行表達(dá)。包括:標(biāo)量、矢量、張量、法線、紋理坐標(biāo)、場(chǎng)數(shù)據(jù)等等。VTK的單元數(shù)據(jù)集是被賦予了屬性值的數(shù)據(jù)對(duì)象的一種組織結(jié)構(gòu),它是眾多基本單元的集合,單元數(shù)據(jù)集的組織結(jié)構(gòu)具有幾何和拓?fù)涞膶傩?。?shù)據(jù)集是一種抽象的類,一般情況下需用其派生出的實(shí)例化的子類來表達(dá)具體的數(shù)據(jù)(或者說單元)。在VTK中,數(shù)據(jù)集的結(jié)構(gòu)用點(diǎn)集(points)和單元(cell)來描述,點(diǎn)集存儲(chǔ)幾何結(jié)構(gòu)的空間位置信息,單元?jiǎng)t表達(dá)數(shù)據(jù)集的構(gòu)成方式或者說拓?fù)鋵傩浴1热?,?duì)于一個(gè)立方體單元而言,用8個(gè)離散的頂點(diǎn)確定立方體單元的空間位置,這8個(gè)頂點(diǎn)就構(gòu)成了立方體單元的幾何結(jié)構(gòu);立方體單元可看做由6個(gè)四邊形面圍成,立方體的8個(gè)頂點(diǎn)也是分別與某些面相關(guān)的,因而這6個(gè)面就描述了8個(gè)頂點(diǎn)之間的聯(lián)系,也就是頂點(diǎn)或者說立方體單元對(duì)象的拓?fù)鋵傩?。本課題在繪制各種單元類型的網(wǎng)格時(shí)就是依循這樣的基本思路來構(gòu)建網(wǎng)格的基本單元的。VTK的單元數(shù)據(jù)集所包含的基本單元類型分為線性單元和非線性單元。多點(diǎn)集折線頂點(diǎn)直線線性單元的特征是構(gòu)成單元的每條邊都為由兩個(gè)點(diǎn)確定的直線。,其簡(jiǎn)介與各自所在頭文件注釋在后面:三角形四邊形三角條帶多邊形像素 a) VTK的線性單元類型體素四面體六面體五面體金字塔 b) VTK的線性單元類型 頂點(diǎn)單元()頂點(diǎn)單元是零維基本單元,由一個(gè)點(diǎn)定義。所謂基本單元(primary),是指其結(jié)構(gòu)不能再細(xì)分的單元。 多點(diǎn)集單元()多點(diǎn)集單元是零維組合單元,其定義不受頂點(diǎn)順序的限制。組合單元(posite)是由基本單元組合而成的單元集。 直線單元()直線單元是一維基本單元,由兩個(gè)點(diǎn)來定義,方向從第一個(gè)點(diǎn)指向第二個(gè)點(diǎn)。 折線單元()折線單元又叫做多段線,是一維組合單元。它由多個(gè)首尾相連的直線單元組成,也可看做由多個(gè)頂點(diǎn)順次連成。 三角形單元()三角形單元是二維基本單元,由三個(gè)按逆時(shí)針排列的頂點(diǎn)組成。 三角條帶單元()三角條帶單元是二維組合單元,由多個(gè)三角形單元組成。 四邊形單元四邊形單元是二維基本單元,由平面內(nèi)四個(gè)按逆時(shí)針排列的頂點(diǎn)組成。 多邊形單元()多邊形單元是二維基本單元。由平面內(nèi)的多個(gè)頂點(diǎn)組成。單元的形成依然是由頂點(diǎn)按逆時(shí)針排列的順序依次連成。 像素單元()像素單元是二維基本單元,由平面內(nèi)四個(gè)按逆時(shí)針排列的頂點(diǎn)組成,相鄰邊相互正交。 四面體單元()四面體單元是三維基本單元,由不在同一平面上的四個(gè)頂點(diǎn)組成。 六面體單元()六面體單元是三維基本單元,其頂點(diǎn)的組合次序滿足右手螺旋法則。 體素單元()體素單元是三維基本單元,組成單元的相鄰表面相互正交。 楔形單元(五面體單元)()楔形單元是三維基本單元,由三個(gè)四邊形面和兩個(gè)三角形面組成。 金字塔單元()金字塔單元是三維基本單元。非線性單元相較線性單元而言,提供了更為精確的插值函數(shù)和更好的模型曲線,能夠更加準(zhǔn)確地描述客觀現(xiàn)實(shí)。特別是在數(shù)值分析方面、有限元領(lǐng)域,應(yīng)用廣泛。由于非線性單元的復(fù)雜性,VTK僅對(duì)非線性單元提供了二次插值函數(shù)。: VTK的非線性單元摘自Visualization ObjectOriented Approach to3D Graphics(3rd Edition) 第116頁(yè)線性單元和非線性單元在繪制和數(shù)據(jù)處理方法方面存在著根本的不同。線性單元可以很容易的轉(zhuǎn)換成線性圖元被圖形庫(kù)處理;而非線性單元不被圖形庫(kù)直接支持,它必須先轉(zhuǎn)換成線性單元以后才能被圖形庫(kù)支持。: 非線性單元向線性單元的轉(zhuǎn)化摘自Visualization ObjectOriented Approach to3D Graphics(3rd Edition) 第120頁(yè) 數(shù)據(jù)集類型單元數(shù)據(jù)集由組織結(jié)構(gòu)和與之關(guān)聯(lián)的屬性數(shù)據(jù)組成,組織結(jié)構(gòu)又包括幾何結(jié)構(gòu)和拓?fù)浣Y(jié)構(gòu)。數(shù)據(jù)集的類型指定了幾何結(jié)構(gòu)和拓?fù)浣Y(jié)構(gòu)之間的相互關(guān)系。數(shù)據(jù)集的類型是由它的組織結(jié)構(gòu)決定的。: VTK的數(shù)據(jù)集類型數(shù)據(jù)集依據(jù)其結(jié)構(gòu)分為規(guī)則的和不規(guī)則的。規(guī)則數(shù)據(jù)集的點(diǎn)和單元都是規(guī)則排列的,每個(gè)點(diǎn)的位置都可以依據(jù)相互之間的關(guān)系唯一的確定下來;不規(guī)則數(shù)據(jù)集沒有固定的模式,點(diǎn)與單元之間的相互關(guān)系通常不能用簡(jiǎn)潔、通用的方式來描述。在實(shí)際工程中,所處理的數(shù)據(jù)往往不是規(guī)則、均勻的,因而通常來說,不規(guī)則數(shù)據(jù)集更適宜描述客觀現(xiàn)實(shí)。在本課題程序構(gòu)建的過程中,也不是采用VTK現(xiàn)成的單元數(shù)據(jù)類來構(gòu)建不同單元類型的有限元網(wǎng)格,而是通過插入單元節(jié)點(diǎn)、由單元類保存的單元信息來建立點(diǎn)集間的拓?fù)潢P(guān)系,進(jìn)而構(gòu)建出有限元網(wǎng)格的。關(guān)于VTK數(shù)據(jù)集類型更詳細(xì)的內(nèi)容,可參考《Visualization ObjectOriented Approach to3D Graphics(3rd Edition)》的相關(guān)部分以及陳恒翻譯整理的《V
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1