引入 VTK 库和 AutoInit 模块,以便使用 VTK 的渲染和交互功能 使用 vtkNamedColors 设置背景颜色和演员颜色。 使用 vtkCylinderSource 创建一个圆柱体,可以设置分辨率(面的数量)。 PolyData 映射器:使用 vtkPolyDataMapper 将圆柱体的输出连接到映射器的输入。 Actor):使用vtkActor创建演员,并将映射器连接到演员。 使用 vtkRenderer 创建渲染器,并将演员添加到渲染器。 使用 vtkRenderWindow 创建渲染窗口,并将渲染器添加到渲染窗口。 使用 vtkRenderWindowInteractor 创建渲染窗口交互器,并将渲染窗口连接到交互器。 调用 Render 方法渲染窗口,然后调用Start方法开始交互事件循环。 # include  <vtkActor.h> # include  <vtkCylinderSource.h> # include  <vtkNew.h> # include  "vtkAutoInit.h" VTK_MODULE_INIT ( vtkRenderingOpenGL2) ; 
VTK_MODULE_INIT ( vtkInteractionStyle) ; # include  <vtkCamera.h> # include  <vtkNamedColors.h> 		# include  <vtkPolyDataMapper.h> # include  <vtkProperty.h> # include  <vtkRenderWindow.h> # include  <vtkRenderWindowInteractor.h> # include  <vtkRenderer.h> # include  <array> int  main ( ) 
{ 	vtkNew< vtkNamedColors>  colors; std:: array< unsigned  char ,  4 >  bg{ 26 ,  51 ,  102 ,  255 } ; colors-> SetColor ( "BlackColor" ,  bg. data ( ) ) ; vtkNew< vtkCylinderSource>  cylinder; cylinder-> SetResolution ( 10 ) ;  vtkNew< vtkPolyDataMapper>  cylinderMapper; cylinderMapper-> SetInputConnection ( cylinder-> GetOutputPort ( ) ) ; vtkNew< vtkActor>  cylinderActor; cylinderActor-> SetMapper ( cylinderMapper) ; 	cylinderActor-> GetProperty ( ) -> SetColor ( colors-> GetColor4d ( "Tomato" ) . GetData ( ) ) ;  cylinderActor-> RotateX ( 30.0 ) ; 		cylinderActor-> RotateY ( - 45.0 ) ; 		vtkNew< vtkRenderer>  renderer; renderer-> AddActor ( cylinderActor) ; 	renderer-> SetBackground ( colors-> GetColor3d ( "BlackColor" ) . GetData ( ) ) ; renderer-> ResetCamera ( ) ; 	renderer-> GetActiveCamera ( ) -> Zoom ( 1.5 ) ;  vtkNew< vtkRenderWindow>  renderWindow; renderWindow-> SetSize ( 300 ,  300 ) ; 		 renderWindow-> AddRenderer ( renderer) ; 	 renderWindow-> SetWindowName ( "Cylinder" ) ;  vtkNew< vtkRenderWindowInteractor>  renderWindowInteractor; renderWindowInteractor-> SetRenderWindow ( renderWindow) ;   renderWindow-> Render ( ) ; 	renderWindowInteractor-> Start ( ) ;  return  0 ; 
}