如何用2个点在2个坐标系中的坐标,建立起坐标系之间的变换矩阵?
旋转矩阵R和平移矩阵T
数学模型如下建立
R*P1*k+S=P2
其中
R=[cos(a),-sin(a);sin(a),cos(a)]; % 旋转矩阵
S=[x0;y0]; % 平移项
K的缩放系数
P1=[x1;y1]; % {dy}坐标系坐标
P2=[x2;y2]; % 第二坐标系坐标
程序如下:
function [R,S,K]=rotate_shift(x1,y1,x2,y2,X1,Y1,X2,Y2);
% A是旋转矩阵
% S是平移矩阵
% K是缩放系数
% (x1,y1)和(x2,y2)是{dy}坐标系的坐标
% (X1,Y1)和(X2,Y2)是第二坐标系的坐标
% Example:
% [R,S,K]=rotate_shift(1,2,3,4,5,6,7,8);
A = angle([X1-X2]+i*[Y1-Y2])-angle([x1-x2]+i*[y1-y2]);
R = [cos(A),-sin(A);sin(A),cos(A)];
K = abs([X1-X2]+i*[Y1-Y2])/abs([x1-x2]+i*[y1-y2]);
S = [X1;Y1]-R*[x1;y1]*K;