Matrix 齐次坐标[多重变换]

Matrix 齐次坐标[多重变换],matrix,coordinates,translation,Matrix,Coordinates,Translation,我实际上在做一些关于齐次坐标的练习。 基本上我有一个观点,比方说(0,0) 我还有一个矩阵: 100 0110 01 我想计算不同类型的变换,得到一个最终的矩阵,我可以应用到很多不同的点,例如: x=-4和y=-3的转换 x=2,y=1的同质化 我得出了最后一个矩阵: 20-4 0 1-3 01 我开始了解齐次坐标是如何工作的,但我不是很有信心。我在互联网上找到的所有例子都是关于推广矩阵的,我希望有一些更具体的解释,我可以简单地理解,以便能够继续我的工作。:) 要使用矩阵应用变换,可以将变换矩阵

我实际上在做一些关于齐次坐标的练习。 基本上我有一个观点,比方说(0,0) 我还有一个矩阵:

100

0110

01

我想计算不同类型的变换,得到一个最终的矩阵,我可以应用到很多不同的点,例如: x=-4和y=-3的转换 x=2,y=1的同质化

我得出了最后一个矩阵:

20-4

0 1-3

01


我开始了解齐次坐标是如何工作的,但我不是很有信心。我在互联网上找到的所有例子都是关于推广矩阵的,我希望有一些更具体的解释,我可以简单地理解,以便能够继续我的工作。:)

要使用矩阵应用变换,可以将变换矩阵乘以坐标向量的转置(转置只是将“水平”矩阵转换为“垂直”,如下所述)

关于什么是有效的矩阵乘法,有一个简单的规则:

要将NxM矩阵与OxP矩阵相乘,M和O必须相同。结果将是一个NxP矩阵

您将无法将3x3矩阵与2D向量相乘,但可以与3D向量相乘

旋转是一个典型的例子,我将尝试用二维来解释它

二维旋转矩阵可以这样构造:

R = |cos(theta), -sin(theta)|
    |sin(theta), cos(theta) |
要使用该矩阵对2D向量V(1x2矩阵)执行旋转,您需要执行以下操作:

R x V(transpose)
其中V(转置)简单翻转V,使其为2x1矩阵而不是1x2,因此可以在R的右侧相乘

翻译更简单,如果用x=-1和y=2来翻译[1,2],只需将两个向量[1,2]和[-1,2]相加,得到[0,4]


另外,我发现Coursera上的矩阵课程非常好。

我知道矩阵乘法的规则,但你指出了很多我在转置部分忽略的东西。我发现我做错了什么(V(转置)*R而不是R*V(转置))