Matlab 如何在矩形坐标上应用变换
我在代码中检测到一个对象,并在其周围绘制一个矩形。我有四个变量来绘制矩形:X、Y、宽度和高度。我找到了一个需要应用于矩形的变换矩阵。返回的转换矩阵是一个3*3矩阵,如下所示:Matlab 如何在矩形坐标上应用变换,matlab,transform,transformation,matlab-guide,Matlab,Transform,Transformation,Matlab Guide,我在代码中检测到一个对象,并在其周围绘制一个矩形。我有四个变量来绘制矩形:X、Y、宽度和高度。我找到了一个需要应用于矩形的变换矩阵。返回的转换矩阵是一个3*3矩阵,如下所示: Tinv = 1.0022 0.0018 0 -0.0018 1.0022 0 -0.4353 -0.9079 1.0000 如何使用此矩阵对矩形应用变换?您应该做的是计算矩形的所有四个顶点,然后对每个顶点应用变换。这应该很容易;如果我明白了你
Tinv =
1.0022 0.0018 0
-0.0018 1.0022 0
-0.4353 -0.9079 1.0000
如何使用此矩阵对矩形应用变换?您应该做的是计算矩形的所有四个顶点,然后对每个顶点应用变换。这应该很容易;如果我明白了你想做的事,那么你可以用下面的话来表达:
X = 1;
Y = 2.34;
W = 3.21;
H = 2;
顶点现在可以是(假设(X,Y)
表示矩形的左上顶点,其底部为0弧度:
(x1,y1) = (1,2.34)
(x2,y2) = (4.21,2.34)
(x3,y3) = (4.21,0.34)
(x4,y4) = (1,0.34)
这现在可以表示为:
[
1.00 2.34 0.00
4.21 2.34 0.00
4.21 0.34 0.00
1.00 0.34 1.00
]
现在可以根据需要通过简单的矩阵乘法进行转换