2010-06-26 54 views
4

我有一个3D场景设置,可以浏览我的场景等等(我用Java 3D相当有经验),但我仍然需要各种方式才达到在Java 3D的以下四种操作:的Java 3D画布虚拟世界映射

  • 将我的Canvas3D的可视区域映射到虚拟世界中(通过此映射,我应该能够在查看画布周围的虚拟世界中绘制轮廓(矩形))。
  • 从画布上用鼠标点转换为在虚拟世界中的一个点(如果我有这个,我也应该能够达到上述目的)
  • 在虚拟世界中的点转换为在一个点Canvas3D对象
  • 我希望能够缩放我的场景以适应Canvas3D对象的视图区域(希望没有试验和错误,即希望没有放大一点,然后再次测试点,然后重复)

以上所有内容都非常相关,所以任何帮助都会大大降低。

回答

0

要从Canvas3D坐标转换为虚拟世界坐标,您应该使用Canvas3D的getVworldToImagePlategetImagePlateToVworld方法。这将为您提供从imagePlate坐标到虚拟世界坐标的映射。

要转换一个像素的位置,以虚拟的世界坐标,你需要链以上的回报率从getPixelLocationInImagePlate

以上,getPixelLocationFromImagePlate反向变换,会回答你的第三个点。

您可以在同一个坐标空间中拥有一切,您可以开始计算出您的特定应用程序所需的适当转换。