VTK:如何为柏拉图式立体着色

VTK: How to color a platonic solid

在使用 VTK 绘制二十面体 (icosahedron->SetSolidTypeToIcosahedron(); ) 时,我想用各种颜色绘制它。我试过:

icosahedronActor->GetProperty()->SetColor(1,0,0);
renderWindow->Render();

但没有成功,二十面体仍然像以前一样蓝色:(

关于如何实现这一点的任何提示?

我假设您需要使用 vtkLookupTable 并将其应用于您的映射器。

vtkSmartPointer<vtkLookupTable> lut = vtkSmartPointer<vtkLookupTable>::New();
lut->SetNumberOfTableValues(n);
lut->SetTableRange(0.0, n-1);
lut->SetTableValue(0.0, 1.0, 0.0, 0.0);
//continue to set more values
lut->Build();

mapper->SetLookupTable(lut);
mapper->SetScalarRange(0.0, n);