0

我有这个 AR 项目,我需要将屏幕坐标转换为世界坐标。我按照本教程进行操作,几乎成功了。

当我尝试从齐次剪辑空间转换到眼睛空间时,唯一的问题是我使用了错误的投影矩阵。投影矩阵错误的原因是因为我无法获得相机空间的正确宽度和高度。我使用了这个名为 Kudan 的库,当我向前和向后移动照相手机时,我希望相机的宽度和高度会发生变化,因为向前移动时相机空间的大小应该会变小,反之亦然。

万不得已,目前我尝试自己找到相机空间大小,我该如何实现?

这是我的投影矩阵

Matrix4f projectionMatrix = new Matrix4f(-0.5f* currentCamWidth, 0.5f * currentCamWidth, -0.5f * currentCamHeight, 0.5f * currentCamHeight, -1f, node.getFullPosition().getZ());

当前凸轮宽度和当前凸轮高度始终保持不变。坐标是opengl坐标

4

1 回答 1

0

当我前后移动照相手机时,我希望相机的宽度和高度会随着相机空间大小而改变

为什么?仅仅因为您移动视点并不意味着“虚拟镜头”的属性会发生变化。

当它向前移动时应该越来越小,反之亦然。

为什么?这不是相机的工作原理。


如果没有看到您到目前为止编写的代码,很难在这里给出有用的答案。目前充其量只是猜测。

于 2017-07-03T07:43:52.253 回答