с угла в трехмерном пространстве. Вам также необходимо уменьшить ширину искривленной фигуры при увеличении угла 3D.

оложим, у меня есть матрица 2x2, заполненная значениями, которые будут представлять плоскость. Теперь я хочу вращать плоскость вокруг себя в 3-х направлениях в направлении z. Для лучшего понимания смотрите следующее изображение:

Я задавался вопросом, возможно ли это с помощью простой аффинной матрицы, поэтому я создал следующий простой скрипт:

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

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

Теперь я могу применять преобразования в двумерной комнате просто с помощью матрицы вращения, например:

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

Однако это не даст желаемого результата выше, и я не совсем уверен, как создать 2-D аффинную матрицу для создания такого поведения.

Я предполагаю, что трехмерная аффинная матрица может добиться цели. Однако, если я определю 3-D аффинную матрицу, я больше не смогу работать с 2-D представлением матрицы, так как MATLAB выдаст ошибку:

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

Итак, как я могу кодировать желаемый результат с помощью аффинной матрицы?

Ответы на вопрос(2)

Ваш ответ на вопрос