【发布时间】:2016-07-31 18:36:44
【问题描述】:
我只有投影和模型视图矩阵,而我想要的是获取屏幕中对象的 2D 位置。 投影矩阵是 float[16] 的数组。 例如:
float[] projectionMatrix = new float[16] {
2.6077228, 0.0, 0.0, 0.0,
0.0, 1.9605954, 0.0, 0.0,
-0.010504603, -0.01849866, -1.004008, -1.0,
0.0, 0.0, -20.040081, 0.0
};
模型-视图矩阵是相同的。 例如:
float[] modelViewMatrix = new float[16] {
0.78095937, -0.05827314, -0.6218487, 0.0,
0.04460156, 0.9982925, -0.037790783, 0.0,
0.6229988, 0.001786924, 0.78222054, 0.0,
25.339212, -41.582745, -197.50203, 1.0
}
如何找到对象 [x, y] 的最终位置? 有人有这方面的经验吗?
更新更多细节: 在我的项目中,一切都是在 .so lib 中计算的。我只能得到投影和模型视图矩阵。该库通过相机检测到一个对象,现在我想知道它在屏幕上的 2d 位置以添加一些触摸事件。
【问题讨论】:
-
先将向量乘以
modelViewMatrix,然后乘以projectionMatrix。如果这不起作用,您将必须更详细地说明您遇到问题的确切位置。 -
嗨 Reto,在我的项目中,所有内容都是在 .so lib 中计算的。我只能得到投影和模型视图矩阵。该库通过相机检测到一个对象,现在我想知道它在屏幕上的 2d 位置以添加一些触摸事件。