Girando uma matriz de imagem em torno de seu centro no MATLAB

Suponha que eu tenha uma matriz 2x2 preenchida com valores que representarão um plano. Agora eu quero girar o avião em torno de si de uma maneira 3D, na "Direção z". Para uma melhor compreensão, consulte a seguinte imagem:

Gostaria de saber se isso é possível por uma matriz afim simples, então criei o seguinte script simples:

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

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

Agora eu posso aplicar transformações na sala 2-D simplesmente por uma matriz de rotação como esta:

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

No entanto, isso não produzirá a saída desejada acima e não tenho muita certeza de como criar a matriz afim 2-D para criar esse comportamento.

Eu acho que uma matriz afim 3-D pode fazer o truque. No entanto, se eu definir uma matriz afim 3D, não posso mais trabalhar com a representação 2D da matriz, pois o MATLAB lançará o erro:

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

Então, como posso codificar a saída desejada com uma matriz afim?

questionAnswers(2)

yourAnswerToTheQuestion