VTK教程之五 資料集的型別和資料集

2021-06-27 14:23:21 字數 2499 閱讀 4983

在vtk中資料集的型別主要按構成資料集的幾何資料和單元來劃分,主要的資料集型別包括:結構化網格資料集、非結構化網格資料集、多邊形資料集、結構化點集、線性網格資料集、非結構化點集等幾大類,各類的表現形式如下圖所示:

1、結構化網格資料集 

結構化網格具有規則的拓撲結構和不規則的幾何結構,但是單元沒有重疊或交叉,結構化網格的單元是由四邊形或六面體組成,結構化網格通常用於有限差分析,資料集構成如圖所示:

2、非結構化網格資料集

非結構化網格集是最常見的資料集型別,它的拓撲結構的幾何結構都是非結構化的,在此資料集中所有單元型別都可以組成任意組合,所以單元的拓撲結構從零維延伸至三維,在vtk中任一型別的資料集都可用非結構化網格來表達,非結構化網格被用於有限元分析、計算幾何和圖形表示等領域,資料集構成如圖所示:

3、多邊形資料集

在vtk中多邊形資料集是由頂點、多頂點、線、多線、多邊形各三角帶構成,多邊形資料是非結構化的,並且多邊形資料集的單元在拓撲維度上有多種變化,頂點、線和多邊形構成了用來表達0、1和2維幾何圖形的基本要素的最小集合,同時用多頂點、多線和三角形帶單元來提高效率和效能,特別是三角形帶用乙個三角形帶表達n個三角形只需要用n+2個點,但是用傳統的表達方法需要用3n個點,資料集構成如圖所示:

4、線性網格資料集

是排列在矩形方格中的點和單元的集合,線性網格的拓撲結構是規則的,但其幾何結構只有一部分是規則的,也就是說,它的點是沿著座標軸排列的,但是兩點間的間隔可能不同,線性網格是由象素和三維象素組成的,它的拓撲結構通過指定網格的維數來隱式地表達,幾何結構通過x,y,z座標來表達。,資料集的構成如圖所示:

6、結構化點集資料集

按規則排列的點的集合,點的排列和座標軸平行,形成方形的點陣,下圖所示:

7、非結構化點集

是指不規則地分布在空間的點集,非結構化點集具有不規則的幾何結構,但不具有拓撲結構,非結構化點集用離散點來表達,通常,這類資料沒有固定的結構,是由一些視覺化程式識別和建立的,非結構化點集適合表現非結構化資料,為了實現資料的視覺化,可將這種資料形式轉換成其它一些結構化的資料形式,如圖所示:

屬性資料主要用於描述資料集的屬性特徵,屬性資料常常和資料集的幾何資料或單元資料相關聯,對資料集的視覺化實質上是對屬性資料的視覺化,例如,根據壓力監測資料構建乙個壓力場視覺化資料集後,資料集中的每個資料點(幾何資料)或單元都必須有對應的屬性資料,vtk根據屬性資料設定顏色表,用不同的顏色表示不同的壓力,通過顏色的變化情況,可以直觀的分析出壓力的變化趨勢。

屬性資料依據資料的性質可分為標量資料、向量資料、張量資料幾大類,一般標量資料和向量資料應用的比較多,大部分的例子都以這兩種資料為主。

1、標量資料

標量資料只表示資料的大小,例如溫度、壓力、高度等。

2、向量資料

既有大小又有方向的量,如速度、應力、位移等。

3、張量資料

張量是向量和矩陣通過複雜的數學演算法得到的,乙個k階的張量可當作乙個k維的**。零階的張量是標量,一階的張量是向量,二階的張量是紋理座標,三階的張量是乙個三維陣列。 

屬性資料只能和資料集中的點及單元關聯,對於構成單元的基本組成要素,如邊和面等不能與資料屬性關聯,我們稱與點關聯的資料屬性為點屬性,與單元關聯的資料屬性為單元屬性。

在vtk中用vtkpointdata類和vtkcelldata類表達資料集屬性,它們是類vtkfielddata的子類,構成資料集的每個點(或單元)和屬性資料之間存在一對一的關係,如乙個資料集由n個點(或單元)構成,那麼必須有n個屬性資料和這n個點(或單元)一一對應,通過點的id號就可以對該點的屬性資料進行訪問,例如在資料集adataset中訪問id號為129的點的標量值時(假設標量資料已被定義且不為空)使用如下方法:

adataset->getpointdata()->getscalars()->getscalar(129)。

#vtk

VTK教程之六 構建資料集的例子程式

本教程主要說明如何用vtk構建乙個視覺化的資料集,資料集主要由描述資料集幾何形狀的點集資料及構成資料集的單元構成,因此構建資料集的主要任務就是確定點集和構建單元,本示例程式構建了乙個瓶子的實體,然後繪製瓶子,示例程式執行的步驟如下 1 首先確定瓶子外輪廓的控制點,形成點集。2 構建乙個線單元。3 構...

Redis教程 五 集合(SET)型別

redis教程 五 集合 set 型別 redis 的鍵值可以支援資料型別 字串,列表,散表,集合,有序集合 hyperloglog 通過選用不同的資料結構,使用者可以使用 redis 解決各式各樣的問題。set集合 redis 的集合以無序的方式儲存多個各不相同的元素。使用者可以快速的地向集合新增...

Redis教程 五 集合(SET)型別

redis教程 五 集合 set 型別 redis的鍵值可以支援資料型別 字串,列表,散表,集合,有序集合 hyperloglog,通過選用不同的資料結構,使用者可以使用redis解決各式各樣的問題。set集合 redis的集合以無序的方式儲存多個各不相同的元素。使用者可以快速的地向集合新增元素,或...