1

Visualization Toolkitを使用して、それぞれ異なる色のプロットポイントを散布したいと思います。ここでのアドバイスを使用して、ポイントを灰色でプロットしましたが、それぞれに色を付ける方法を理解できていません。

キューブの例の関連部分は次のとおりです。

vtkPolyData *cube = vtkPolyData::New();
vtkPoints *points = vtkPoints::New();
vtkCellArray *polys = vtkCellArray::New();
vtkFloatArray *scalars = vtkFloatArray::New();

// Load the point, cell, and data attributes.
for (i=0; i<8; i++) points->InsertPoint(i,x[i]);
for (i=0; i<6; i++) polys->InsertNextCell(4,pts[i]);
for (i=0; i<8; i++) scalars->InsertTuple1(i,i);

// We now assign the pieces to the vtkPolyData.
cube->SetPoints(points);
points->Delete();
cube->SetVerts(polys);
polys->Delete();
cube->GetPointData()->SetScalars(scalars);
scalars->Delete();

各Vertに色を付けるにはどうすればよいですか?

4

2 に答える 2

6

私がやろうとしていたことの基本的なチュートリアルを見つけました。これは、各ポイントに色を追加する方法を示しています。

http://www.vtk.org/Wiki/VTK/Examples/Cxx/PolyData/ColoredPoints

関連する行は次のとおりです。

// Setup colors
vtkSmartPointer<vtkUnsignedCharArray> colors =
vtkSmartPointer<vtkUnsignedCharArray>::New();
colors->SetNumberOfComponents(3);
colors->SetName ("Colors");
  for (int i = 0; i < nV; ++i)
  {
    unsigned char tempColor[3] = {(int)c[i],
                                  (int)c[i+nV],
                                  (int)c[i+2*nV]}; 
    colors->InsertNextTupleValue (tempColor);
  }

polydata->GetPointData()->SetScalars(colors);
于 2012-01-23T13:16:46.180 に答える
1

VTKの新しい2Dプロットインフラストラクチャに興味があるかもしれません。ここの例を参照してください: http ://www.vtk.org/Wiki/VTK/Examples/Cxx/Plating/LinePlot

3Dでのプロットに関するこの説明も参照してください: http ://www.kitware.com/source/home/post/40

于 2012-01-04T16:14:58.627 に答える