X = [ -6 -6 -7 0 7 6 6 -3 -3 0 0
-7 2 1 8 1 2 -7 -7 -2 -2 -7 ];
x_avg = mean(X,2);
[~,n] = size(X);
X_p = X - repmat(x_avg, 1, n);
% 平移到原点
k_x = 0.8;
k_y = 0.8;
k = [k_x 0
0 k_y];
% 设置变换矩阵
Y = k * X_p;
Y = Y + repmat(x_avg, 1, n);
% 平移回去
X(:,end+1) = X(:,1);
plot(X(1,:),X(2,:),'.-','markersize',18,'linewidth',2)
hold on
Y(:,end+1) = Y(:,1);
plot(Y(1,:),Y(2,:),'.-','markersize',18,'linewidth',2)
axis square
觉得文章不错,可以点击右上角的三个小点分享到朋友圈,让更多的人知道。
长按二维码即可关注这个微信号。
本文分享自微信公众号 - 帮你学MatLab(MatLab_helper)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
来源:oschina
链接:https://my.oschina.net/u/3137795/blog/4597347