Rotación de una matriz de imágenes alrededor de su centro en MATLAB

Suponga que tengo una matriz de 2x2 llena de valores que representarán un plano. Ahora quiero rotar el plano alrededor de sí mismo en una forma tridimensional, en la "Dirección z". Para una mejor comprensión, vea la siguiente imagen:

Me preguntaba si esto es posible mediante una simple matriz afín, por lo tanto, creé el siguiente script simple:

%Create a random value matrix
A = rand*ones(200,200);

%Make a box in the image
A(50:200-50,50:200-50) = 1;

Ahora puedo aplicar transformaciones en la sala 2D simplemente mediante una matriz de rotación como esta:

R = affine2d([1 0 0; .5 1 0; 0 0 1])
tform = affine3d(R);
transformed = imwarp(A,tform);

Sin embargo, esto no producirá la salida deseada anterior, y no estoy muy seguro de cómo crear la matriz afín 2-D para crear tal comportamiento.

Supongo que una matriz afín tridimensional puede hacer el truco. Sin embargo, si defino una matriz afín tridimensional, ya no puedo trabajar con la representación bidimensional de la matriz, ya que MATLAB arrojará el error:

The number of dimensions of the input image A must be 3 when the
specified geometric transformation is 3-D.

Entonces, ¿cómo puedo codificar la salida deseada con una matriz afín?

Respuestas a la pregunta(2)

Su respuesta a la pregunta