Skip to content

timka-byzov/3d-editor

Repository files navigation

pythonTask_3Deditor

Версия 1.0

Автор: Бызов Тимофей(telegram: @anaconda621)

Описание

Является простейшей реализацией графического 3D редактора

Требования

  • Python версии 3.6 +
  • pygame
  • numpy
  • numba

Состав

  • Графическая версия: main.py
  • Тесты: Tests.py

Управление

  • Поворот сцены: зажать ЛКМ
  • Выбор редактируемой фигуры: навести на фигуру и нажать ЛКМ
  • Поворот фигуры: навести на фигуру и зажать ПКМ
  • Перемещение фигуры: навести на фигуру и зажать ЛКМ
  • Изменение размера фигуры фигуры: навести на вершину выбранной фигуры ип зажать ЛКМ (вправо - растяжение, влево - сжатие)

Подробности реализации

  • Есть возможность спавнить новые фигуры (куб, тетраэдр, плоксоть)
  • Фигуры (их опорные вершины, отрезки и плоскости) свободно перемещаются в пространстве
  • Возможен поворот камеры в 3х осях
  • Грани сортируются перед выводом на экранную плоскость. Невидимые точки, грани и линии не отрисовываются
  • Предпринята попытка реализовать сечение плоскостей, но безошибочно алгоритм работает только для двух плоскостей. Для большего количества возможен неправильный вывод граней и снижение производительности, поэтому функция построения сечений ОТКЛЮЧАЕМА в графическом интерфейсе
  • После сессии в редакторе результат работы сохраняется в файл data.txt в формате json и загружается при последующем запуске

About

I wonna slip

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages