Java 3D Canvas в виртуальный мир

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

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

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

1 ответ

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

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

Обратное из вышеизложенного, getPixelLocationFromImagePlate, ответит на ваш третий пункт.

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

Другие вопросы по тегам