首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将z=0平面中的二维变换矩阵(对于齐次坐标)转换为3D?

如何将z=0平面中的二维变换矩阵(对于齐次坐标)转换为3D?
EN

Stack Overflow用户
提问于 2015-07-30 10:28:20
回答 1查看 1.1K关注 0票数 4

对于二维齐次坐标,我有一个3x3变换矩阵:

代码语言:javascript
运行
复制
a b c
d e f
g h i

我想将它传递给2D应用程序中的OpenGL (使用glMultMatrix),但是OpenGL采用4x4矩阵作为三维齐次坐标。我希望由我的4x4矩阵转换的所有坐标以xy结束,就像3x3矩阵和z=0一样。

我已经试过想办法了。对于向量x, y, 1,我将得到转换后的向量ax + by + c, dx + ey + f, gx + hy + i,这意味着对于向量x, y, 0, 1,我希望得到转换的向量ax + by + c, dx + ey + f, 0, ?。这样做的一个矩阵是(据我所知):

代码语言:javascript
运行
复制
a b 0 c
d e 0 f
0 0 1 0
0 0 0 1

这是正确的吗?它起作用了吗?我不认为这是唯一能给出我想要的结果的矩阵,但我不太明白在第三行和第四行(和第四列)应该或不应该做什么。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-30 10:47:56

如果你想要z坐标是0,你必须传递一个零行.另外,在最后一行中包括透视图部分:

代码语言:javascript
运行
复制
a b 0 c
d e 0 f
0 0 0 0
g h 0 i
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31721306

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档