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

2021-06-27 14:22:19 字數 2543 閱讀 8930

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

1、首先確定瓶子外輪廓的控制點,形成點集。

2、構建乙個線單元。

3、構建多邊形資料,把這些點集連線起來繪製一條線。

4、採用壓制過濾器旋轉輪廓線,構成瓶子的表面實體。

5、繪製瓶子

示例程式的**如下:

//示例程式首先建立瓶子的輪廓線,然後轉動輪廓線形成瓶子實體

#include "stdafx.h"

//定義瓶子輪廓線的點座標

vtksmartpointerppoints=vtkpoints::new();

ppoints->insertpoint(0,0.01,0.0,0.0);

ppoints->insertpoint(1,1.5,0.0,0.0);

ppoints->insertpoint(2,1.5,0.0,3.5);

ppoints->insertpoint(3,1.25,0.0,3.75);

ppoints->insertpoint(4,0.75,0.0,4.00);

ppoints->insertpoint(5,0.6,0.0,4.35);

ppoints->insertpoint(6,0.7,0.0,4.65);

ppoints->insertpoint(7,1.0,0.0,4.75);

ppoints->insertpoint(8,1.0,0.0,5.0);

ppoints->insertpoint(9,0.2,0.0,5.0);

//構建線單元,繪製輪廓線

vtksmartpointerplinecell=vtkcellarray::new();

//構建乙個單元,由10個點構成

plinecell->insertnextcell(10);

/ /構成單元點集的索引號

plinecell->insertcellpoint(0);

plinecell->insertcellpoint(1);

plinecell->insertcellpoint(2);

plinecell->insertcellpoint(3);

plinecell->insertcellpoint(4);

plinecell->insertcellpoint(5);

plinecell->insertcellpoint(6);

plinecell->insertcellpoint(7);

plinecell->insertcellpoint(8);

plinecell->insertcellpoint(9);

//定義多邊形資料集

vtksmartpointerppolydata=vtkpolydata::new();

//設定構成多邊形的幾何資料

ppolydata->setpoints(ppoints);

//設定單元型別,線單元

ppolydata->setlines(plinecell);

//壓制輪廓線,形成瓶子實體

vtksmartpointerlter>pextrufilter=vtkrotationalextrusionfilter::new();

pextrufilter->setinput(ppolydata);

//設定生成瓶子表面的光滑度引數,瓶子的表面由多少個面構成

pextrufilter->setresolution(10);

//將資料對映到圖形系統進行繪製

pmap->setinput(pextrufilter->getoutput());

vtksmartpointerpactor=vtkactor::new();

pactor->getproperty()->setcolor(0.3800,0.7000,0.1600);

//繪製

vtksmartpointerpren=vtkrenderer::new();

pren->addactor(pactor);

//建立繪製窗體

vtksmartpointerprenwin=vtkrenderwindow::new();

prenwin->addrenderer(pren);

//建立互動器

vtksmartpointerr>piren=vtkrenderwindowinteractor::new();

piren->setrenderwindow(prenwin);

//設定背景顏色

pren->setbackground(1,1,1);

//設定視窗尺寸

prenwin->setsize(300,300);

prenwin->render();

pren->resetcamera();

//開始繪製

piren->initialize();

piren->start();

return 0;}

#vtk

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

在vtk中資料集的型別主要按構成資料集的幾何資料和單元來劃分,主要的資料集型別包括 結構化網格資料集 非結構化網格資料集 多邊形資料集 結構化點集 線性網格資料集 非結構化點集等幾大類,各類的表現形式如下圖所示 1 結構化網格資料集 結構化網格具有規則的拓撲結構和不規則的幾何結構,但是單元沒有重疊或...

RMAN簡明教程之六 RMAN的管理

一 report命令 report 命令可以檢測那些檔案需要備份,那些備份能被刪除以及那些檔案能不能獲得的資訊,如 報告資料庫的所有能備份資料檔案物件 report schema 或者 rman report schema at time sysdate 14 rman report schema ...

RMAN簡明教程之六 RMAN的管理

一 report命令 report 命令可以檢測那些檔案需要備份,那些備份能被刪除以及那些檔案能不能獲得的資訊,如 報告資料庫的所有能備份資料檔案物件 report schema 或者 rman report schema at time sysdate 14 rman report schema ...