2009-11-13 62 views
1

我在我的Viewport3D中有几个几何网格,它们的边界是(w:1800,h:500,d:25)。WPF转换2d鼠标点击成3d空间

当用户点击在网格的中间,我想的(900,500,25)的三维点......

我怎样才能做到这一点?

谢谢! 马克

回答

3

只需使用​​与回调。

  • 如果你有一个包含模型Viewport3D,你可以传递一个包含鼠标位置PointHitTestParameters

  • 如果您需要直接在Visual3D上操作,请传入根据摄像机参数和鼠标位置计算出的RayHitTestParameters

在这两种情况下,你的回调将与RayTestHitResult被调用,如果你打一个网这将是一个RayMeshGeometry3DHitTestResult。这包括一个Point3D属性,告诉你被击中的空间中的3D点,以及被击中的网格和三角形。

查看3D Hit testing了解更多详情。