Skip to content
valkaaaaPublic

About

Геометрический конструктор на Python/Tkinter: 15+ фигур, площадь и периметр в реальном времени, экспорт в SVG/PNG/PDF, инструменты линейки и транспортира.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

Repository files navigation

ShapeLab v1.2

Python Tkinter License

ShapeLab — настольное приложение для построения геометрических фигур, визуализации их на координатной плоскости и вычисления площади, периметра и других характеристик.

✨ Возможности

  • 15+ фигур: круг, квадрат, прямоугольник, треугольник (обычный, прямоугольный, равносторонний), эллипс, ромб, параллелограмм, трапеция, полукруг, кольцо, звезда, капсула, многоугольник по точкам.
  • Статистика в реальном времени: формулы площади и периметра, промежуточные величины (радиус, диаметр, диагонали, гипотенуза, длина дуги).
  • Безопасный вычислитель: можно вводить 2*pi, sqrt(16), 5^2, sin_deg(30), hypot(3,4) — без риска выполнить произвольный код.
  • Навигация: зум колесом мыши, панорама средней/правой кнопкой, «вписать всё» (F5).
  • Инструменты: линейка, транспортир, рамка выделения.
  • Единицы измерения: мм, см, дм, м, км.
  • Редактирование: перетаскивание, изменение размера за угол, поворот, стили (заливка/обводка), группировка.
  • Слои: на передний/задний план, выше/ниже на слой.
  • Несколько сцен: переключение через вкладки.
  • Undo/Redo: Ctrl+Z / Ctrl+Y.
  • Экспорт: JSON, SVG, PNG, PDF-отчёт.
  • Тёмная тема, сетка, оси координат, подсказки вершин.

📦 Установка

Требуется Python 3.12.

git clone https://github.com/ваш-логин/shapelab.git
cd shapelab
python -m venv .venv
.venv\Scripts\activate     # Windows
source .venv/bin/activate  # Linux / macOS
pip install -r requirements.txt

Tkinter входит в стандартную библиотеку Python. На Linux может потребоваться отдельный пакет:

sudo apt install python3-tk

🚀 Запуск

python main.py

🎓 Быстрый старт

  1. Выберите фигуру во вкладке «Создание» и заполните параметры.
  2. Нажмите «+ Добавить» — фигура появится на холсте.
  3. Кликните по фигуре, чтобы увидеть её параметры в «Статистике».
  4. Потяните за угол рамки выделения — фигура масштабируется.
  5. Переключите инструмент «Линейка» (2) и кликните две точки.
  6. Нажмите F5, чтобы вписать всё содержимое сцены в окно.

⌨ Горячие клавиши

Комбинация Действие
Ctrl+Z / Ctrl+Y Отменить / повторить
Ctrl+C / Ctrl+V / Ctrl+D Копировать / вставить / дублировать
Ctrl+A Выделить всё
Ctrl+G / Ctrl+Shift+G Группировать / разгруппировать
Ctrl+S / Ctrl+O Сохранить / загрузить JSON
Ctrl+N Новая сцена
Ctrl+U Единицы измерения
F5 Вписать всё
1 … 4 Инструменты: выбор / линейка / транспортир / рамка
Esc Сбросить текущее измерение
Delete Удалить выделенное

🖼 Экспорт

Формат Что внутри Зависимость
JSON сцена с фигурами —
SVG векторный рисунок холста —
PNG растровый рисунок холста pillow
PDF отчёт с таблицей параметров reportlab

Опциональные зависимости в requirements.txt закомментированы — раскомментируйте те, что нужны.

🤝 Вклад

PR и issues приветствуются. Если добавляете новую фигуру — достаточно написать класс-наследник Shape и зарегистрировать его в App.SHAPE_CLASSES.

📄 Лицензия

MIT — см. LICENSE.txt.

About

Геометрический конструктор на Python/Tkinter: 15+ фигур, площадь и периметр в реальном времени, экспорт в SVG/PNG/PDF, инструменты линейки и транспортира.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Contributors

Languages