Java 3D Canvas到虚拟世界的映射

时间:2010-06-26 09:51:32

标签: java graphics java-3d 3d

我有一个3D场景设置,可以导航我的场景等(我在Java 3D方面相当有经验)但我仍然需要在Java 3D中实现以下四个操作的方法:

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

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

1 个答案:

答案 0 :(得分:0)

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

要将像素位置转换为虚拟世界坐标,您需要使用getPixelLocationInImagePlate

的返回链接上述转换

上面的反面,getPixelLocationFromImagePlate,将回答你的第三点。

如果您拥有相同坐标空间中的所有内容,则可以开始计算出特定应用所需的正确转换。