Java 3D Canvas в виртуальный мир - PullRequest
4 голосов
/ 26 июня 2010

У меня настроена 3D-сцена, и я могу перемещаться по своей сцене и т. Д. (У меня достаточно опыта в Java 3D), но мне все еще нужны способы выполнения следующих четырех операций в Java 3D:

  • отобразить область просмотра моего Canvas3D в виртуальный мир (с помощью этого отображения я смогу нарисовать контур (прямоугольник) в виртуальном мире вокруг холста просмотра).
  • перевод из точки мыши на холсте в точку в виртуальном мире (если у меня есть это, я также смогу достичь вышеуказанной цели)
  • перевод из точки в виртуальном мире в точку на объекте Canvas3D
  • Я хочу иметь возможность масштабировать мою сцену, чтобы она подходила для области просмотра объекта Canvas3D (надеюсь, без проб и ошибок. То есть, надеюсь, без небольшого увеличения, затем снова проверяя точки, затем повторяя)

Все вышеперечисленное очень тесно связано, поэтому любая помощь будет высоко оценена.

1 Ответ

0 голосов
/ 18 марта 2013

Чтобы преобразовать координаты Canvas3D в координаты виртуального мира, вы должны использовать getVworldToImagePlate и getImagePlateToVworld методы Canvas3D.Это даст вам сопоставление координат imagePlate с координатами виртуального мира.

Чтобы преобразовать местоположение пикселя в координаты виртуального мира, вам необходимо связать преобразование, приведенное выше, с возвращением из getPixelLocationInImagePlate

Обратное из вышеперечисленного, getPixelLocationFromImagePlate , ответит на вашу третью точку.

Если у вас все в одном и том же координатном пространстве, вы можете начать выяснять правильные преобразования, которые вынужно для вашего конкретного применения.

...