我在我的代码中检测到一个对象并在它周围绘制一个矩形。我有四个变量来绘制矩形:X、Y、宽度和高度。我找到了一个需要在矩形上应用的变换矩阵。返回的变换矩阵是一个 3*3 矩阵,如下所示:
Tinv =
1.0022 0.0018 0
-0.0018 1.0022 0
-0.4353 -0.9079 1.0000
如何使用此矩阵在矩形上应用变换?
我在我的代码中检测到一个对象并在它周围绘制一个矩形。我有四个变量来绘制矩形:X、Y、宽度和高度。我找到了一个需要在矩形上应用的变换矩阵。返回的变换矩阵是一个 3*3 矩阵,如下所示:
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
]
现在可以根据需要通过简单的矩阵乘法进行转换。