Продолжаю делать заметки про gif на Python3.
Пример - анимация "лого" Blog | Note.
Нужно сказать, способ реализации который был выбран, совсем не самый оптимальный, для такой простой картинки. Кому будут знакомы программы, в которых создавалась 3D модель "лого", надеюсь будет интересно и подчеркнут для себя что-то :)
Заметки о 3D моделировании будут потом. Всё таки основа этой статьи о работе в Python.
Поехали.
1. Шрифт. Так как "лого" это набор печатных символов, выбираем шрифт по вкусу 😉
Шрифты можно просмотреть в Word'e. Их там вполне хватает.
Выбрав шрифт и настроев его размер, извлекаем в виде картинки самым доступным методом - Print Screen 😅
И сохраняем картинку через paint. Шрифт - Edwardian Script ITC
Я выбрал Bold Italic.
Вспомнив, что речь идёт о Python, прикрепляю картинку с простым кодом.
Заметка: "мини-код" выше обрезает выбранное изображение в заданных размерах. В имя 'box' отдаю параметры позиции квадрата верхнего левого угла и нижнего правого (x, y, x1, y1), соединив которые Python понимает какую область ему обрезать. Позиции этих точек можно посмотреть в любимом Paint'e.
Досконально "код" разбирать не буду, когда пойдут статьи о 'Python c нуля', дойду до всех подробностей.
А пока, получаем уже следующее:
Оставлю это здесь, на всякий случай ---> GIF (ссылка в википедию о gif'e)
2. 3D объём шрифта.
Чтобы придать объём шрифту, воспользовался следующей CAD программой - Kompas 3D. Программа конечно же не для таких дел разработана, но это всё в рамках моей статьи о гиф :)
Вставляем обрезанную картинку в Kompas.
2D инструментом 'Сплайн по точкам' обходим контур символов на картинке, формируя эскиз. Как только появилось "чувство" что эскиз готов, можно удалить картинку и посмотреть что же вышло.
Переносим эскиз в трёхмерную систему координат.
3D инструментом "Выдавливание" получаем объёмную модель шрифта.
Модель есть, но ещё не готова для показа, нужно украсить. Сохраняем в Компасе модель в формате x_t(Parasolid). Следующей программой транзитом идём в PowerSРAPE. Там просто по приятней оболочка и фон. Фотаем то как там модель "позирует" при повороте каждые 12 градусов вокруг оси Z. Кстати в PowerShape 2018 есть запись макросов, можно замакросить то или иное действие если его приходиться повторять🔃
Внимание, хронологию изображений обязательно сохранить. Достаточно в название картинок указывать её номер по порядку.
3. Сшиваем изображения в gif.
Заметка: в функции range(), устанавливается количество картинок которые будут сшиваться, на примере от 1 до 31. Внимание ☝ у Python счёт начинается с нуля, т.е: 1 (0), 2 (1), 3 (2) . . . 31 (30)
Заюзав на картинки первый код в питоне, затем второй, получается следующее.
Да уж, вышло ёмко. А тема простая :) но таков вот способ.
Надеюсь было интересно) Если это так ставьте 👍 , подписывайтесь на канал. Следующие публикации пойдут о Python c нуля. Если заинтересовали моменты с работой в какой-то из программ в этой статье, пишите комментарии, и будут новые "заметки".
Предыдущая часть ➡ Part I
Спасибо за внимание!