直接上程序
vtkPlaneSource planeSource = vtkPlaneSource.New();
//vtkPlaneSource-创建位于平面中的四边形阵列
//vtkPlaneSource创建一个m x n四边形阵列,该阵列作为平面中的规则平铺排列。
//通过指定原点,然后指定其他两个点(与原点一起定义平面的两个轴)来定义平面。
//这些轴不必是正交的,因此可以创建平行四边形。(轴不得平行。)
//平面分辨率(即细分数量)由X分辨率和Y分辨率控制。
//默认情况下,平面以原点为中心并垂直于z轴,宽度和高度的长度为1,分辨率设置为1。
//有三种方便的方法可以让您轻松地移动平面。
//第一个选项SetNormal()允许您指定平面法线。
//此方法的效果是围绕平面中心旋转平面,使平面法线与指定法线对齐。
//第二个是SetCenter(),它将平面的中心转换为指定的中心点。
//第三种方法Push(),允许您沿平面法线平移平面指定距离。
//(负值沿负法线方向平移平面。)
//请注意,SetNormal()、SetCenter()和Push()方法
//修改原点、Point1和Point2实例变量。
planeSource.SetOrigin(-10, -10, -10);
//指定平面原点
planeSource.SetPoint1(10, -10, -10);
//指定定义平面第一个轴的点。
planeSource.SetPoint2(-10, 10, -10);
//指定定义平面第二个轴的点。三点确定一个平面
vtkPolyData polydataPlane = vtkPolyData.New();
polydataPlane = planeSource.GetOutput();
vtkPolyDataMapper mapperPlane = vtkPolyDataMapper.New();
mapperPlane.SetInput(polydataPlane);
vtkActor planeActor = vtkActor.New();
planeActor.SetMapper(mapperPlane);
planeActor.GetProperty().SetColor(1, 1, 0);
VTKrenderer.AddActor(planeActor);
程序运行效果如图
关于Origin、Point1、Point2如下图所示
修改Point2,可以生成一个平行四边形,程序执行效果如下图
planeSource.SetPoint2(-5, 10, -10);
生成平面后还可以通过修改法线的方式旋转平面
通过修改中心点的方式移动平面
通过Push()方法将平面沿着法线平移,请读者自行编程测试