#swing #scala #3d #processing
#swing #scala #3D #обработка
Вопрос:
Я разрабатываю пространственную структуру данных и ищу быстрый и простой способ ее визуализации для 3D-случая. Я знаком с Java2D, но не с Java3D или OpenGL.
Какую библиотеку вы бы порекомендовали для этого? В основном мне нужно рисовать трехмерные точки, линии и кубы. Так что в идеале, как Graphics2D
API, но с дополнительным компонентом z. Не требуется анимация, обнаружение столкновений, текстуры, <your-favourite-3D-feature-here>. Желательно интегрировать с Swing / AWT. Параметрический угол обзора был бы хорош, поэтому я поворачиваюсь вокруг сцены.
Комментарии:
1. Что вам нужно с точки зрения функциональности? Просто отображение с перспективой и, возможно, окклюзией; или вращение в пространстве, отсечение, …? По крайней мере, первые несколько из них относительно просты в реализации, поэтому, если это всего лишь одноразовый случай (вы говорите «быстро и легко»), то, возможно, вы быстрее сделаете это сами, чем погрузитесь в OpenGL.
2. Да, именно так. Просто провода, окклюзия была бы хороша, но это не обязательно на 100%. Вращение вида (может быть статическим, мне не нужно это анимированное). Серверная часть Java2D была бы классной, потому что тогда у меня было бы прямое средство экспорта PDF для рисунков.
Ответ №1:
Обработка:
Ответ №2:
У Дейва Брикетти есть отличный набор программ для 3D-графики в Scala. Он использует processing.org фреймворк как средство для простой / яркой / блестящей обратной связи в серии руководств по scala. [https://www.youtube.com/watch?v=uj_Y3kl9-kIamp;ab_channel=FunctionalTV ][1]
Смог заставить работать многие из его примеров кода, загрузив их в проект eclipse maven. Признайтесь, что не подключили pom.xml для этого рабочего пространства проект. Он содержит остаток моей дневной работы Big_Data_Scala_Spark. Если вас интересует
Scala Processing_3D_graphics Eclipse Maven
пожалуйста, запросите, и я отправлю его на github после очистки (и вставки атрибутов для Dave.)
Ответ №3:
Это выглядит достаточно просто, хотя и на Java: http://ozark.hendrix.edu /~берч/cs/490/ассн/ассн3/