Вы можете использовать функцию surf
для построения сетки с цветными пятнами.Если вы используете тот же код в моем ответе на ваш предыдущий вопрос , вы можете визуализировать исходную сетку с цветами следующим образом:
C = X.^2 + Y.^2; %change this to any function you like to get different color patterns
surf(X,Y,C);
view([0, 90]); %view the mesh from above
Теперь, если вы хотите увидеть, как преобразилсяСетка выглядит так: вы можете сделать:
surf(U,V,C);
view([0, 90]);
, где U
и V
вычисляются согласно моему предыдущему ответу.
Редактировать: Добавлен пример кодадля преобразования изображения с использованием geometricTransform2d
и imwarp
.
clear
clc
A = imread('peppers.png');
figure(1)
imshow(A)
t1 = geometricTransform2d(@ftransform);
Rin = imref2d(size(A),[-1 1],[-1 1]);
Rout = imref2d(size(A),[-5 5],[-5 5]);
B = imwarp(A, Rin, t1,'OutputView',Rout);
figure(2);
imshow(B)
function Xt = ftransform(X)
Z = complex(X(:,1),X(:,2));
Zt = 1./Z;
Xt(:,1) = real(Zt);
Xt(:,2) = imag(Zt);
end