日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

vtk基本数据结构

發布時間:2025/3/15 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vtk基本数据结构 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2020-06-10

數據對象被組織成一種結構并且被賦予相應的屬性值時就形成數據集(Dataset)。VTK里數據集對應的類是vtkDataSet,該類從vtkDataObject直接派生。vtkDataSet由兩個部分組成,即組織結構(Organizing Structure)以及與組織結構相關聯的屬性數據(Attribute Data)。
vtkDataSet的組織結構由拓撲結構(Topology)和幾何結構(Geometry)兩部分組成。拓撲結構描述了物體的構成形式,幾何結構描述了物體的空間位置關系。換言之,點數據(Point Data)所定義的一系列坐標點構成了vtkDataSet(數據集)的幾何結構;點數據的連接(點的連接先形成單元數據(Cell Data),由單元數據再形成拓撲)就形成了數據集的拓撲結構。比如,我們想要在屏幕上顯示一個三角形,首先我們必須定義三角形三個點的坐標(即Point Data,記三個點為P1, P2和P3),然后將這三個點按照一定的順序連接起來(P1-P2-P3,或者是P3-P2-P1的順序),這三個點定義了數據集的幾何結構,它們的連接就構成了數據集的拓撲結構。亦即,點數據(Point Data)定義數據集的幾何結構,單元數據(Cell Data)定義數據集的拓撲結構,要形成完整的數據集,必須有幾何和拓撲兩種結構。屬性數據是對拓撲結構和幾何結構信息的補充,屬性數據可以是某個空間點的溫度值,也可以是某個單元的質量之類的。屬性數據包括點屬性和單元屬性。可以為vtkPolyData的點數據和單元數據分別指定屬性數據。
1.

這里我們只定義了幾何結構,即只有點的坐標 #include <vtkSmartPointer.h> #include <vtkPoints.h> #include <vtkPolyData.h> #include <vtkPolyDataMapper.h> #include <vtkActor.h> #include <vtkRenderer.h> #include <vtkRenderWindow.h> #include <vtkRenderWindowInteractor.h>int main(){vtkSmartPointer<vtkPoints> pts =vtkSmartPointer<vtkPoints>::New();pts->InsertNextPoint(0.0, 0.0, 0.0);pts->InsertNextPoint(1.0, 0.0, 0.0);pts->InsertNextPoint(1.0, 1.0, 0.0);pts->InsertNextPoint(0.0, 1.0, 0.0);pts->InsertNextPoint(2.0, 0.0, 0.0);vtkSmartPointer<vtkPolyData> polyData =vtkSmartPointer<vtkPolyData>::New();polyData->SetPoints(pts);vtkSmartPointer<vtkPolyDataMapper> mapper =vtkSmartPointer<vtkPolyDataMapper>::New();mapper->SetInputData(polyData);vtkSmartPointer<vtkActor> actor =vtkSmartPointer<vtkActor>::New();actor->SetMapper(mapper);vtkSmartPointer<vtkRenderer> render =vtkSmartPointer<vtkRenderer>::New();render->AddActor(actor);render->SetBackground(0.0, 0.0, 0.0);vtkSmartPointer<vtkRenderWindow> rw =vtkSmartPointer<vtkRenderWindow>::New();rw->AddRenderer(render);rw->SetSize(320, 240);vtkSmartPointer<vtkRenderWindowInteractor> rwi =vtkSmartPointer<vtkRenderWindowInteractor>::New();rwi->SetRenderWindow(rw);rwi->Render();rwi->Start();return 0;}

結果

2

點數據(Point Data)定義數據集的幾何結構,單元數據(Cell Data)定義數據集的拓撲結構 vtkCellArray類型的對象vertices就是用來指定數據集polydata的拓撲結構, 而polydata的幾何結構則是由points來定義的。 #include <vtkSmartPointer.h> #include <vtkPoints.h> #include <vtkPolyData.h> #include <vtkPolyDataMapper.h> #include <vtkActor.h> #include <vtkProperty.h> #include <vtkRenderer.h> #include <vtkRenderWindow.h> #include <vtkRenderWindowInteractor.h>int main(){vtkSmartPointer<vtkPoints> pts =vtkSmartPointer<vtkPoints>::New();pts->InsertNextPoint(0.0, 0.0, 0.0);pts->InsertNextPoint(1.0, 0.0, 0.0);pts->InsertNextPoint(1.0, 1.0, 0.0);pts->InsertNextPoint(0.0, 1.0, 0.0);pts->InsertNextPoint(2.0, 0.0, 0.0);vtkSmartPointer<vtkCellArray> vertices = vtkSmartPointer<vtkCellArray>::New();for (int i = 0; i < 5; i++) {vtkIdType pt[1] = { i };vertices->InsertNextCell(1, pt);}vtkSmartPointer<vtkPolyData> polyData=vtkSmartPointer<vtkPolyData>::New();polyData->SetPoints(pts);polyData->SetVerts(vertices);vtkSmartPointer<vtkPolyDataMapper> mapper =vtkSmartPointer<vtkPolyDataMapper>::New();mapper->SetInputData(polyData);vtkSmartPointer<vtkActor> actor =vtkSmartPointer<vtkActor>::New();actor->SetMapper(mapper);actor->GetProperty()->SetPointSize(5);vtkSmartPointer<vtkRenderer> render =vtkSmartPointer<vtkRenderer>::New();render->AddActor(actor);render->SetBackground(0.0, 0.0, 0.0);vtkSmartPointer<vtkRenderWindow> rw =vtkSmartPointer<vtkRenderWindow>::New();rw->AddRenderer(render);rw->SetSize(320, 240);vtkSmartPointer<vtkRenderWindowInteractor> rwi =vtkSmartPointer<vtkRenderWindowInteractor>::New();rwi->SetRenderWindow(rw);rwi->Render();rwi->Start();return 0;}

結果

如果什么也沒有顯示可以用鼠標滾輪進行縮放一下

3

將零維的點拓撲結構改成一維的線拓撲結構 #include <vtkSmartPointer.h> #include <vtkPoints.h> #include <vtkLine.h> #include <vtkPolyData.h> #include <vtkPolyDataMapper.h> #include <vtkActor.h> #include <vtkProperty.h> #include <vtkRenderer.h> #include <vtkRenderWindow.h> #include <vtkRenderWindowInteractor.h>int main(){vtkSmartPointer<vtkPoints> pts =vtkSmartPointer<vtkPoints>::New();pts->InsertNextPoint(1.0, 0.0, 0.0);pts->InsertNextPoint(0.0, 0.0, 1.0);pts->InsertNextPoint(0.0, 0.0, 0.0);vtkSmartPointer<vtkLine> line0 = vtkSmartPointer<vtkLine>::New();line0->GetPointIds()->SetId(0, 0);line0->GetPointIds()->SetId(1, 1);vtkSmartPointer<vtkLine> line1 = vtkSmartPointer<vtkLine>::New();line1->GetPointIds()->SetId(0, 0);line1->GetPointIds()->SetId(1, 2);vtkSmartPointer<vtkLine> line2 = vtkSmartPointer<vtkLine>::New();line2->GetPointIds()->SetId(0, 1);line2->GetPointIds()->SetId(1, 2);vtkSmartPointer<vtkCellArray> lines = vtkSmartPointer<vtkCellArray>::New();lines->InsertNextCell(line0);lines->InsertNextCell(line1);lines->InsertNextCell(line2);vtkSmartPointer<vtkPolyData> polyData=vtkSmartPointer<vtkPolyData>::New();polyData->SetPoints(pts);polyData->SetLines(lines);vtkSmartPointer<vtkPolyDataMapper> mapper =vtkSmartPointer<vtkPolyDataMapper>::New();mapper->SetInputData(polyData);vtkSmartPointer<vtkActor> actor =vtkSmartPointer<vtkActor>::New();actor->SetMapper(mapper);vtkSmartPointer<vtkRenderer> render =vtkSmartPointer<vtkRenderer>::New();render->AddActor(actor);render->SetBackground(0.0, 0.0, 0.0);vtkSmartPointer<vtkRenderWindow> rw =vtkSmartPointer<vtkRenderWindow>::New();rw->AddRenderer(render);rw->SetSize(320, 240);vtkSmartPointer<vtkRenderWindowInteractor> rwi =vtkSmartPointer<vtkRenderWindowInteractor>::New();rwi->SetRenderWindow(rw);rwi->Render();rwi->Start();return 0;}

結果

如果什么也沒有顯示可以用鼠標滾輪進行縮放一下 新人創作打卡挑戰賽發博客就能抽獎!定制產品紅包拿不停!

總結

以上是生活随笔為你收集整理的vtk基本数据结构的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 农村末发育av片一区二区 | 精品一区二区在线观看视频 | 强开乳罩摸双乳吃奶羞羞www | 午夜不卡久久精品无码免费 | 亚洲自拍偷拍一区 | 久久精品视频免费 | 国产对白自拍 | 伊人色综合网 | 岛国av电影在线观看 | 亚洲最大的成人网 | 久久久高清免费视频 | 国产精品老熟女一区二区 | 日日爽爽 | 天天舔天天操 | 成人在线午夜 | 永久黄网站 | 天干夜夜爽爽日日日日 | 一级片视频免费 | 精品无人区无码乱码毛片国产 | 人人爽av| 久久久久久久久久久97 | 五十路六十路七十路熟婆 | 久久99精品久久久久久 | 精品久久人妻av中文字幕 | 激情宗合网 | 日韩一级免费片 | 亚洲一本二本 | 免费av视屏| 草草影院在线观看 | 精品一区在线视频 | 性欧美videossex精品 | 日韩精品一卡二卡 | 99在线免费观看 | 成人三级在线看 | 欧美综合图区 | 国产一区二区精品在线观看 | 自拍偷拍在线播放 | 91九色国产ts另类人妖 | 精品欧美日韩 | 国产又黄又猛又粗 | 欧美另类色 | 短篇山村男同肉耽h | 欧美日韩大陆 | 人人精品久久 | 2024国产精品视频 | sm乳奴虐乳调教bdsm | 天天干天天操天天插 | 爱情岛论坛av | 日本高清在线播放 | 一区二区三区日韩在线 | 日本免费三级网站 | 卡通动漫精品一区二区三区 | 蜜臀久久久久久999 大陆熟妇丰满多毛xxxⅹ | 久久久www成人免费精品 | 91九色中文| 国产三级三级三级三级三级 | 日韩一级二级三级 | 一级黄色片免费观看 | 人妻在线日韩免费视频 | 999xxxx | 欧美污视频在线观看 | 岛国av在线免费 | av中亚| 国产亚洲精品久久久久丝瓜 | 涩涩视频网 | 欧美毛片免费看 | 又黄又刺激的视频 | 亚洲视频四区 | 国产精品三区在线观看 | 日本欧美在线 | 国产精品99久久久久久www | 麻豆性生活| 无码人妻精品一区二区蜜桃色欲 | 日本精品久久久久久 | 欧美视频一区二区在线观看 | 亚洲啪av永久无码精品放毛片 | 亚洲免费观看高清 | 青草视频免费在线观看 | 亚洲成人中文字幕 | 国产嫩bbwbbw高潮 | 五月激情综合 | 久久久精品电影 | 久久精品视频一区二区 | 亚洲av色一区二区三区精品 | 中文字幕乱码一二三区 | 伊人网免费视频 | av国语| 午夜动态图 | 国产免费一区二区三区最新不卡 | 欧美国产在线视频 | 蜜桃99视频一区二区三区 | 亚洲精选免费 | 羞羞漫画在线 | 天堂8在线视频 | 日韩欧美成人一区二区三区 | 男人天堂2024 | 亚洲国产伊人 | 69一区二区| 国产中文字字幕乱码无限 |