gpt4 book ai didi

c++ - VTK:高度场的基本可视化

转载 作者:太空宇宙 更新时间:2023-11-04 11:33:26 34 4
gpt4 key购买 nike

我有一个 libvtk 的基本 hello world 程序,其工作方式如下:

#include "vtkGraphLayoutView.h"
#include "vtkRandomGraphSource.h"
#include "vtkRenderWindow.h"
#include "vtkRenderWindowInteractor.h"

int main(int, char*[])
{
vtkRandomGraphSource* source = vtkRandomGraphSource::New();

vtkGraphLayoutView* view = vtkGraphLayoutView::New();
view->SetRepresentationFromInputConnection(source->GetOutputPort());

view->ResetCamera();
view->Render();
view->GetInteractor()->Start();

source->Delete();
view->Delete();

return 0;
}

编译:

$ g++ -I/usr/include/vtk-5.6 hello_vtk.cpp -lvtkInfovis -lvtkViews -lvtkFiltering

执行:

$ ./a.out

我有两组数据要可视化,都作为高度场:

第一种形式是:

double x1[N*M];

表示一个 N x M 高度场,其中 (i, j) 处的高度为 x[N*j + i]

第二个是以下形式:

map<pair<double, double>, double> x2;

其中有一个来自 (i,j) 的高度为 h 的连续表面样本,表示为:

x2[make_pair(i,j)] = h

很明显,如果需要,可以将 x2 的实例插入到 x1 中。

我的问题是应该使用哪些类以及在 VTK 中可视化 x1 和/或 x2 所需的实现草图是什么?

(是否有任何自上而下的 VTK 文档?它似乎是一个非常大的库,我能找到的唯一引用是 doxygene,它需要线性时间搜索才能找到你要找的东西)

最佳答案

您必须将数据放入 VTK 数据结构(可能是 vtkImageData 或 vtkStructuredGrid)。您可以查看此示例:http://www.vtk.org/Wiki/VTK/Examples/Cxx/Meshes/Color_a_mesh_by_height那应该有很多你需要做的元素。

注意:该示例使用了 vtkPolyData 数据结构,但这对于这种类型的常规/网格数据来说可能有点矫枉过正。

关于c++ - VTK:高度场的基本可视化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9659371/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com