Найти тему

GIF-анимация в Python3. Part II.

Продолжаю делать заметки про gif на Python3.
Пример - анимация "лого" Blog | Note.

Нужно сказать, способ реализации который был выбран, совсем не самый оптимальный, для такой простой картинки. Кому будут знакомы программы, в которых создавалась 3D модель "лого", надеюсь будет интересно и подчеркнут для себя что-то :)
Заметки о 3D моделировании будут потом. Всё таки основа этой статьи о работе в Python.

Поехали.

1. Шрифт. Так как "лого" это набор печатных символов, выбираем шрифт по вкусу 😉

Шрифты можно просмотреть в Word'e. Их там вполне хватает.

MS Office Word
MS Office Word

Выбрав шрифт и настроев его размер, извлекаем в виде картинки самым доступным методом - Print Screen 😅
И сохраняем картинку через paint. Шрифт - Edwardian Script ITC

Я выбрал Bold Italic.

Bold Italic
Bold Italic

Вспомнив, что речь идёт о Python, прикрепляю картинку с простым кодом.

-4
Заметка: "мини-код" выше обрезает выбранное изображение в заданных размерах. В имя 'box' отдаю параметры позиции квадрата верхнего левого угла и нижнего правого (x, y, x1, y1), соединив которые Python понимает какую область ему обрезать. Позиции этих точек можно посмотреть в любимом Paint'e.
-5

Досконально "код" разбирать не буду, когда пойдут статьи о 'Python c нуля', дойду до всех подробностей.
А пока, получаем уже следующее:

-6

Оставлю это здесь, на всякий случай ---> GIF (ссылка в википедию о gif'e)

2. 3D объём шрифта.

Чтобы придать объём шрифту, воспользовался следующей CAD программой - Kompas 3D. Программа конечно же не для таких дел разработана, но это всё в рамках моей статьи о гиф :)

Вставляем обрезанную картинку в Kompas.
2D инструментом 'Сплайн по точкам' обходим контур символов на картинке, формируя эскиз. Как только появилось "чувство" что эскиз готов, можно удалить картинку и посмотреть что же вышло.

Переносим эскиз в трёхмерную систему координат.
3D инструментом "Выдавливание" получаем объёмную модель шрифта.

-8

Модель есть, но ещё не готова для показа, нужно украсить. Сохраняем в Компасе модель в формате x_t(Parasolid). Следующей программой транзитом идём в PowerSРAPE. Там просто по приятней оболочка и фон. Фотаем то как там модель "позирует" при повороте каждые 12 градусов вокруг оси Z. Кстати в PowerShape 2018 есть запись макросов, можно замакросить то или иное действие если его приходиться повторять🔃

Внимание, хронологию изображений обязательно сохранить. Достаточно в название картинок указывать её номер по порядку.

3. Сшиваем изображения в gif.

-10
Заметка: в функции range(), устанавливается количество картинок которые будут сшиваться, на примере от 1 до 31. Внимание ☝ у Python счёт начинается с нуля, т.е: 1 (0), 2 (1), 3 (2) . . . 31 (30)

Заюзав на картинки первый код в питоне, затем второй, получается следующее.

-11

Да уж, вышло ёмко. А тема простая :) но таков вот способ.
Надеюсь было интересно) Если это так ставьте 👍 , подписывайтесь на канал. Следующие публикации пойдут о Python c нуля. Если заинтересовали моменты с работой в какой-то из программ в этой статье, пишите комментарии, и будут новые "заметки".

Предыдущая часть ➡ Part I

Спасибо за внимание!