180度旋转的3×3矩阵是什么?

8

我想将QuickTime视频旋转180度。

现在我的文件矩阵(tkhd)为:

1 0 0

0 1 0

0 0 1

我从Dumpster获取了这个矩阵。

如何旋转180度的3×3矩阵是什么?


取决于你要绕哪个轴旋转,3x3 适用于三维旋转。http://en.wikipedia.org/wiki/Rotation_matrix - Ido Weinstein
3
一个3x3的矩阵,可能是用于使用“齐次坐标”进行二维变换。https://zh.wikipedia.org/wiki/%E9%BD%90%E6%AC%A1%E5%9D%90%E6%A0%87 - Kaz
4个回答

19
假设您想要一个关于Z轴二维旋转的3x3同次矩阵,那么您需要的矩阵如下所示:
-1  0  0
 0 -1  0
 0  0  1
如果您希望绕不同的轴旋转,则需要使用另外的矩阵。

根据我的经验,您需要添加一个翻译,以便转换后的图像在视口中显示。 - George

2

反转不是你想要绕着旋转的两个向量。

因此:您可以取一个ID矩阵,否定要影响的两个轴的1,并保持您想要围绕其旋转的轴不受影响,然后可以相乘这两个矩阵。

或者如果您可以单独访问轴(比如使用提供此功能的API),只需使用类似于 myMtx.xAxis.NegateInPlace(); myMtx.zAxis.NegateInPlace() 的内容来实现围绕Y轴旋转等等。


2

关于绕轴e的3D旋转,请注意,绕轴e的180度旋转将保持任何向量x沿着e方向的分量不变,并赋予垂直分量一个负号。设x'为旋转后的向量,则有:

enter image description here


-5
-1  0  0
 0 -1  0
 0  0 -1

应该是正确的矩阵


1
这是一个完全的否定,它将改变矩阵的左右手性。只需要否定两个轴。 - user349594

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接