[Paraview] Rotation of a slice

Alexander Berdnikow beral at mail.uni-paderborn.de
Wed May 10 07:48:36 EDT 2017


Hi all,

I am working on a python script to rotate a slice in the x-y-plane and  
can't find a way to compute the parameters for the Transform filter.

The slice is computed by a script and is defined by the origin and the  
normal. It looks like this:

https://www.pic-upload.de/view-33136320/slice.png.html

The origin is (12.65, 10.55, 3.0)
The normal is (9.28454496846, -68.7942219477, 21.4027743404)
or (0.127811549959, -0.947024993173, 0.294631753216) if it is normalized.

Now I want to rotate the slice in the x-y-Plane, so that the normal of  
the rotated slice points in z-direction.

I tried to rotate the normal-vector with the rotation matrices (  
https://en.wikipedia.org/wiki/Rotation_matrix ), but it does not work.  
The computed vector shows somewhere, but not in z-direction, when I  
set it in the Transform filter.

The right rotation input for the transform filter is approximately  
(-71, -19, 0) but I have no idea, how to get there by computation. The  
angle of the normal with the x-axis is about 82 degrees, with the  
y-axis about 161 degrees. I computed rotation_matrix_X and  
rotation_matrix_Y with the angles and multiplied:
rotated_normal = rotation_matrix_X * normal
rotated_normal = rotation_matrix_Y * rotated_normal

The result is (-30, -30, 59) which is far away from (-71, -19, 0).

What is the right way to compute the rotation parameters of the  
Transform filter out of the data of the Slice filter (Origin and  
Normal)?

Best Regards
Alexander



More information about the ParaView mailing list