如何将 3x3 旋转矩阵转换为 4x4 矩阵?

发布于 2024-10-15 08:40:27 字数 87 浏览 1 评论 0原文

我目前正在使用 3x3 旋转矩阵来处理 3D 点。

该矩阵与 4x4 矩阵有何不同?

如何将 3x3 矩阵转换为 4x4 矩阵?

I'm currently using a 3x3 rotation matrix to work with 3D points.

How does this matrix differ from a 4x4 Matrix?

And how do I convert a 3x3 matrix into a 4x4?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

就像说晚安 2024-10-22 08:40:27

4x4 矩阵可用于在单个矩阵中进行旋转和平移。

矩阵右侧的 tx 、 ty 值将添加到正在变换的顶点的 x、y、z 上。

因此,要将 3x3 矩阵转换为 4x4,只需复制 3x3 左上角块的值,如下所示:

[ a11  a12  a13 ]
[ a21  a22  a23 ]
[ a31  a32  a33 ]

3x3 变为 4x4

[ a11  a12  a13  0 ]
[ a21  a22  a23  0 ]
[ a31  a32  a33  0 ]
[   0    0    0  1 ]

注意,在 4x4 中,左上角块被直接复制,而其他块则输入 0新的额外条目(表明我不想添加任何翻译)。

A 4x4 matrix can be used to do both rotation and translation in a single matrix.

The tx, ty values down the right side of your matrix would be added to the x, y, z of the vertex you are transforming.

So to convert a 3x3 matrix to a 4x4, you simply copy in the values for the 3x3 upper left block, like so:

[ a11  a12  a13 ]
[ a21  a22  a23 ]
[ a31  a32  a33 ]

That 3x3 becomes this 4x4

[ a11  a12  a13  0 ]
[ a21  a22  a23  0 ]
[ a31  a32  a33  0 ]
[   0    0    0  1 ]

Notice in the 4x4 the upper left block got straight copied, and 0's were entered for the other new, extra entries (indicating I don't want any translation to be added).

萤火眠眠 2024-10-22 08:40:27

4x4 矩阵将支持所有仿射变换,包括旋转和平移。

请参阅此问题的答案:Flash 中倾斜位图的解决方案

数学,请参阅: http://www.euclideanspace.com/maths/几何/仿射/matrix4x4/index.htm

A 4x4 matrix will support all affine transforms, including rotation and translation.

See the answer to this question: Solution to skew bitmaps in flash

For the gory math, see: http://www.euclideanspace.com/maths/geometry/affine/matrix4x4/index.htm

以可爱出名 2024-10-22 08:40:27

4x4 矩阵允许 3 维向量的仿射变换

A 4x4 matrix allows affine transformations of 3-dimensional vectors.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文