Java 3D Canvas в виртуальный мир
У меня настроена 3D-сцена, и я могу перемещаться по сцене и т. Д. (У меня достаточно опыта в Java 3D), но мне все еще нужны способы выполнения следующих четырех операций в Java 3D:
- сопоставить область просмотра моего Canvas3D с виртуальным миром (с помощью этого отображения я смогу нарисовать контур (прямоугольник) в виртуальном мире вокруг холста просмотра).
- перевести с точки мыши на холсте в точку в виртуальном мире (если у меня есть это, я также смогу достичь вышеуказанной цели)
- переводить из точки в виртуальном мире в точку на объекте Canvas3D
- я хочу иметь возможность масштабировать мою сцену, чтобы она подходила для области просмотра объекта Canvas3D (надеюсь, без проб и ошибок. Т.е., надеюсь, без небольшого увеличения, затем снова проверяя точки, затем повторяя)
Все вышеперечисленное очень тесно связано, поэтому любая помощь будет высоко оценена.
1 ответ
Чтобы преобразовать координаты Canvas3D в координаты виртуального мира, вы должны использовать методы getVworldToImagePlate и getImagePlateToVworld из Canvas3D. Это даст вам отображение координат imagePlate на координаты виртуального мира.
Чтобы преобразовать местоположение пикселя в координаты виртуального мира, необходимо связать приведенное выше преобразование с возвращением из getPixelLocationInImagePlate.
Обратное из вышеизложенного, getPixelLocationFromImagePlate, ответит на ваш третий пункт.
Если у вас есть все в одном и том же координатном пространстве, вы можете приступить к определению правильных преобразований, необходимых для вашего конкретного приложения.