Плагин для отображения 3d-объектов из VRML или X3D
Я не уверен, что такие плагины существуют. Но моя программа отображает данные, которые легко конвертируются в файл VRML или X3D, поэтому было бы очень удобно, если бы я мог отображать данные этих файлов прямо в окне программа. Кто-нибудь может предложить любой плагин для Java или любое решение для автоматизации этого?
3 ответа
Если ваша программа генерирует или считывает данные трехмерной сетки (треугольники) и может создать объект String, содержащий четко определенный документ X3D, представляющий эти трехмерные объекты, то API Java 3D и API XModelImporter могут предоставить вам решение.
XModelImporter предоставляет импортеры Java 3D для файлов "Extensible 3D (X3D)". В этом случае "com.interactivemesh.j3d.interchange.ext3d.XModelReader" представляется подходящим импортером, в качестве альтернативы "com.interactivemesh.j3d.interchange.ext3d.XModelLoader".
XModelReader импортирует файлы X3D, принимая различные источники, такие как "java.io.File" и "java.net.URL" для внешних данных, а также "java.io.Reader", который также должен применяться для внутренних хранимых данных.
Следующий не проверенный сценарий может работать:
- записать документ X3D в объект StringBuilder
- создать соответствующий объект String (StringBuilder.toString)
- создайте экземпляр java.io.StringReader с этой строкой X3D
- создайте экземпляр XModelReader и импортируйте данные X3D, вызвав XModelReader.read(читатель java.io.Reader)
- вызов XModelReader.getImport() возвращает массив "javax.media.j3d.Node", который может быть визуализирован с помощью Java 3D.
Java 3D https://java3d.java.net/binary-builds.html
XModelReader http://www.java.net/node/706300
Я не знаю ни одного "поддерживаемого в настоящее время" готового к использованию проигрывателя VRML или X3D для Swing или JavaFX. Вместо преобразования сеток в VRML или X3D и обратно вы можете рассмотреть возможность выбора одного из 3D API для платформы Java и преобразования ваших данных непосредственно в соответствующий формат.
августейший
Xj3D, возможно, самое простое решение. См. http://www.xj3d.org/tutorials/xj3d_application.html или, что лучше, http://www.xj3d.org/tutorials/general_sai.html. На первый взгляд Xj3D выглядит довольно сложно в использовании, но это не так. Если вам нужна дополнительная помощь, я могу отправить вам небольшой проект NetBeans. Обратитесь за дополнительной помощью на этом форуме, и я постараюсь вам помочь.
Пересмотренную и поддерживаемую версию библиотеки Xj3D можно найти по адресу:
- NPS филиал Xj3D https://savage.nps.edu/Savage/developers.html