来自2D鼠标坐标的y = 0平面的C ++交集

时间:2011-12-10 12:34:31

标签: c++ 3d camera intersection

  

可能重复:
  C++ 3D getting point on y=0 plane from mouse co-ordinates

我有:

  • 屏幕坐标x,y(0,0为屏幕中间,1,1为左上角)
  • 屏幕尺寸
  • 相机位置矢量
  • 相机外观矢量
  • 投影矩阵
  • 模型视图矩阵
  • y = 0平面法线(0,1,0,0)
  • y = 0平面位置(0,0,0,0)

我希望在我点击窗口的y = 0平面上得到位置(x,0,z)(应该是线 - 平面交点,但必须考虑相机属性)< / p>

令人讨厌的是,我没有访问GLU调用取消投影等。只是基本的矢量和矩阵计算。我并不真正需要这样的确切代码,只是技术 - 作为一个线平面交叉点很容易做到。找到从眼睛到屏幕上的点的线是困难的部分。

我认为只是使用相机外观矢量来拍摄从相机位置投射的光线,但这并未考虑鼠标坐标。所以我还需要考虑相机FOV吗?

[这是一种重新发布的帖子,但我觉得我已经改变了足够的理由来证明这一点,如果没有,那么我会乐意回去编辑]

0 个答案:

没有答案