Very thankful for all your help!

I want to get a 2d image from a 3d vtkImageData. It’s easy to get tangent plane that is paraller to XY(maybe you can use vtkImageViewer2::SetSliceOrientationToXY() ) , but how could I get arbitrarily oblique image from vtkImageData , not paraller to XY , XZ and YZ.

I get some advice to use vtkImageReslice with this function

SetResliceAxes(vtkMatrix4x4 *matrix)

, I know the forth column of maxtrix represents the origin point , but **What dose the first three columns of this matrix mean? How could the first three columns represent the plane normals?**

I thoughtI should specify a plane by its origin and normal , and get the image cut by this plane (from the vtkImageData) , by some way like this

vtkPlane *plane = new vtkPlane;

plane->SetNormal(XXX) && plane->SetOrigin(XXX)

vtkImageReslice::SetResliceAxes(plane)

**What’s the relation between the matrix from SetResliceAxes and the Origin&Normal from vtkPlane?**

A more specific question , I want to achieve such effect

- Set the origin to vtkImageData’s center , and get it’s XY’s , XZ’s , YZ’s tangent plane
- Then rotate axis and get new tangent plane.(eg. Rotate X axis Counterclockwise around Z axis , and now you must have a new XZ plane)

If you have a more effiective solution , please tell me

Very thankful!