ThreeDimensions — гибридная библиотека 3D-моделирования C++/Python со стеком модификаторовPython

Программы на Python
Ответить
Anonymous
 ThreeDimensions — гибридная библиотека 3D-моделирования C++/Python со стеком модификаторов

Сообщение Anonymous »

Я работаю над проектом под названием ThreeDimensions — гибридной библиотекой 3D-моделирования C++20/Python, предназначенной для предоставления программируемых инструментов моделирования сеток, аналогичных традиционным рабочим процессам 3D-программ, но полностью предоставляемых в виде Python SDK.
Основной геометрический движок написан на C++20 для повышения производительности и окружен API Python для создания сценариев и разработки инструментов.
/>GitHub: https://github.com/LegendsDaD/ThreeDimensions

PyPI: https://pypi.org/project/threedimensions/

Что делает мой проект
ThreeDimensions обеспечивает:
• Ядро сетки, поддерживающее N-угольники и большие сетки

• Генерация примитивов (куб, сфера, цилиндр, конус, тор, плоскость)

• Операции редактирования (вытягивание, скос, вставка, редактирование вершин/граней/граней)

• Логические операции

• Модификатор подразделения поверхности

• Инструменты прореживания и изменения сетки

• Стек неразрушающих модификаторов (зеркало, массив, подразделение, логическое значение)

• Иерархическая система графов сцен

• Создание экземпляров и коллекций объектов

• Экспорт OBJ и STL
Если компилятор C++ недоступен во время установки, он автоматически возвращается к чистой реализации Python.
Минимальный пример:

Код: Выделить всё

import threedimensions as td

bat = td.Mesh.create_cylinder(radius=0.15, height=1.0)
bat.save("bat.obj")
Целевая аудитория
Этот проект в первую очередь предназначен для:
  • Разработчиков, создающих инструменты процедурного моделирования
  • Инженеров, которым требуется программная генерация сетки
  • Использование в образовательных целях (изучение топологии и геометрии сетки) системы)
  • Разработчики, которым нужна логика моделирования в стиле Blender в коде.
В настоящее время он больше подходит для экспериментов и разработки, чем для полноценных производственных конвейеров.

Сравнение
В отличие от полноценных 3D-приложений, таких как Blender, ThreeDimensions не является Инструмент моделирования на основе графического пользовательского интерфейса. Это программируемый SDK.
По сравнению с облегченными библиотеками сеток на Python, этот проект больше ориентирован на:
  • Неразрушающие рабочие процессы с помощью стека модификаторов
  • Структуру графа сцены
  • Гибридное ядро C++ для повышения производительности
  • API, ориентированный на инструменты моделирования, а не просто сетчатые структуры данных
Я был бы признателен за отзывы о:
  • ясности проектирования API
  • архитектуре системы модификаторов
  • решениях проектирования ядра сетки
    />
  • Аспекты производительности
  • Отсутствуют основные инструменты моделирования
Спасибо, что нашли время прочитать.>

Подробнее здесь: https://stackoverflow.com/questions/799 ... fier-stack
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»