DigitalGarden — це проєкт для генерації цифрових рослин за допомогою агентів що малюють кола. Окрім генерування власних рослин за геномом ви, також, можете схрещувати раніше згенеровані рослини декількома способами, після чого зберігати їх та ділитися своїми результатами.
- 🐍
python >= 3.11: мова програмування - 🖼️
Pillow >= 10.3.0: використовується для малювання рослин - 🪴
plant_generator: використовується для генерації рослин - 🛠️
tools: допоміжні інструменти
Перш за все клонуйте код проєкту та перейдіть в теку з кодом:
$ git clone https://github.com/codemorphist/DigitalGarden.git --depth 1
$ cd DigitalGardenДійте далі відповідно до того яку операційну систему та менеджер пакетів ви використовуєте
Проєкт використовує менеджер пакетів та залежностей Poetry, тому якщо ви хочете швидко запустити код (незалежно від того, яку операційну систему ви використовуєте) можете встановити Poetry і виконати наступні команди:
Встановіть залежності:
$ poetry installЗапустіть проєкт:
$ poetry run python appСтворіть нове віртуальне середовище та встановіть залежності:
$ python -m venv venv
$ .\venv\Scripts\activate
$ pip install -r requirements.txtЗапустіть проєкт:
$ python appЯкщо ви використовуєте conda створіть віртуальне середовище та активуйте його:
$ conda env create -f environment.yml
$ conda activate digitalgardenЗапустіть проєкт:
$ python appЯкщо ви використовуєте pip
Створіть нове віртуальне середовище та встановіть залежності:
$ python -m venv venv
$ source venv/bin/activate
$ pip install -r requirements.txtЗапустіть проєкт:
$ python appЯкщо ви використовуєте conda створіть віртуальне середовище та активуйте його:
$ conda env create -f environment.yml
$ conda activate digitalgardenЗапустіть проєкт:
$ python appВ цій секції ви можете знайти детальну інформацію як генерувати рослини, схрещувати та зберігати їх в окремі файли.
Generate Plant
- Канвас, тут буде відображатися згенерована рослина
- Прогрес бар, показує на скільки згенерована рослина в поточний момент
- Таблиця з геномом
- Кнопка імпортування, імпортує геном у файл
- Кнопка для генерації випадкового геному
- Кнопка експортування, експортує геном з файлу
- Кнопка для генерації рослини з анімацією
- Кнопка для швидкої генерації рослини
- Кнопка для збереження зображення рослини
Smash Plants
- Канвас з прогрес баром де буде відображатися генерація першого предку
- Канвас з прогрес баром де буде відображатися генерація нащадка
- Канвас з прогрес баром де буде відображатися генерація другого предка
- Кнопка для імпортування геному предка
- Кнопка для генерації предка з анімацією
- Кнопка для швидкої генерації предка
- Кнопка для вибору метода схрещування
- Кнопка для генерації нащадка
- Кнопка для експортування геному нащадка
- Кнопка для збереження зображення нащадка
Mass Smash
- Канвас з прогрес баром де буде відображатися генерація нащадка
- Список з геномами предків
- Кнопка що зміщує виділеного предка вверх на одну позицію
- Кнопка що зміщує виділеного предка вниз на одну позицію
- Кнопка для додавання геному ще одного предка
- Кнопка для видалення виділеного предка
- Кнопка для вибору метода схрещування
- Кнопка для генерації нащадка
- Кнопка для швидкої генерації нащадка
- Кнопка для експортування отриманого геному нащадка
- Кнопка для збереження зображення нащадка
Галерея з рослинами доступна за посиланням: DigitalGarden Gallery
Код проєкту поширюється під ліцензією GNU General Public License v3.0
Детальніше ознайомитися з текстом ліцензії можна тут: LICENCE
| Alex Katrenko @codemorphist |
Illia Karbyshev @karbyshevillia |



