Создание других 3D-примитивов в Quil с использованием Clojure

#clojure #processing #quil

#clojure #обработка #quil

Вопрос:

Я работаю над программой Clojure, которая нуждается в использовании 3D-графики, и для этого я использую Quil. Первый вопрос, который у меня возник, заключается в том, есть ли альтернативы использованию Clojure для Quil? Насколько я могу судить, это самая продвинутая библиотека обработки, которую я смог найти.

Задав этот вопрос, мой второй вопрос заключается в использовании Quil (который основан на платформе Java, называемой Processing), каков наилучший способ добавления других трехмерных примитивов. Я хочу добавить цилиндр, конус и тор. Я считаю, что мои навыки в математике и программировании справятся с этой задачей, но мне нужна помощь в том, как я должен внести свой вклад.

Во-первых, если я собираюсь добавить эти примитивы, должен ли я добавить их в Processing или мне следует добавить их в Quil? Я некоторое время программировал, но не внес никакого вклада в проекты с открытым исходным кодом. Сказав это, если кто-нибудь использует Quil, если бы я использовал команды вершин, такие как ‘begin-shape’ в Clojure, смог бы я создать цилиндр с вершинами треугольника? В нем говорится, что форма не может работать с ‘translate’, но будет ли она работать с ‘with-translation’?

В общем, я ищу наилучший способ подхода к добавлению 3D-примитивов в Quil и из-за природы кода не могу использовать Clojurescript, поэтому мне нужно добавить их для Clojure. Любая помощь приветствуется.

Приветствия,

Комментарии:

1. Вы можете использовать Seesaw , который является оболочкой Clojure поверх Java Swing. Это дает вам доступ к Graphics2D объектам для рисования. Основным недостатком является то, что для запуска требуется значительно больше шаблонов, поскольку вам нужно создать холст, рамку и настроить paint функцию canvas (хотя это в основном draw функция Quil.

Ответ №1:

Кажется, что функции реализованы только для ClojureScript в настоящее время из-за недавней миграции из зависимости, которая больше не поддерживалась? Смотрите этот коммит и https://github.com/quil/quil/issues/255

Вот пример тора в ClojureScript.