Pull to refresh

Nodebox

Reading time3 min
Views5K
image
На хабре поднималась тема об этой программе, но раскрыта тема была скудно. Я попытаюсь показать внутреннее устройство программы, а также в конце обзора будет бонус :) Под катом много картинок, но не очень тяжелых.


С сайта программы возьмем ее описание «Nodebox программа, которая позволяет создавать 2D визуализацию (статичную, анимированную и интерактивную) с помощью языка программирования Python и, в последствии, экспортировать ее в форматы PDF и QuickTime». Программа абсолютна бесплатна, отлично документирована. Есть множество уроков «от простого к сложному». Единственный минус — она только на Mac. Давайте её уже скачаем и посмотрим, чем она может удивить нас :)

Открываем смотрим интерфейс. Как и ожидалось чистый минимал, как в Processing.
image
Конечно, весь смак программы в языке, код в разы будет меньше чем в том же процессинге со своей явой. К примеру, рисуем круг:
size (100, 100) #Задаем размеры фона
fill(0.2) #Делаем заливку кругу
oval(10, 20, 40, 40) #Круг

А благодря подключаемым плагинам, мы можем реально разогнать его. Хотелось бы привести самые популярные плагины.

SVG

Из названия, я думаю, сразу понятно становиться, что плагин позволяет подгружать в код SVG-файлы. На уровне кода можно менять цвета, прозрачность, работать с кривыми и точками. Хочу на примере того как я рисовал флаер, показать как он работает. Была задача нарисовать флаер для вечеринки с тематикой Лондона. Идем в гугл ищем картинки, которые ассоциируются с Лондоном. Все это дело кидаем в иллюстратор, переводим в вектор и сохраняем в SVG.
imageimageimage
Далее мне надо было простой рандомный разброс по «холсту». К сожалению, исходников тех не сохранилось и поэтому я покажу простой код, на основе примеров.
image
Далее наигравшись с рандомом и выбрав нужный вариант, экспортируем это в нужный нам формат. Nodebox не одним PDF един :)
image
Я выбираю EPS, кидаю в люстру и уже там разгрупировав могучую кучку объектов могу рулить отдельными объектами. В итоге проведя со всем изображениями такие манипуляции я получил вот такой флаер.
image
Вообщем очень нужный и важный плагин, заинтересовались? Прошу сюда.

Core Image

Самый мощный плагин, я считаю. Так сказать Adobe® Photoshop®™ (вынужден его так называть в свете последних событий :) командной строкой. Плагин позволяет производить различные манипуляции с изображениями, почти все фильтры фотожопа можно реализовать с помощью этого плагина. Сие чудо работает через Core Image, а значит на аппаратном ускорении. Плагин позволяет создавать слои, а если сохранить в TIFF соответсвенно сохранится иерархия. Может регулировать яркость, контраст, насыщение. Работает со смешиванием в слоях. Пример применения фильтра Triangle Tile (всего 2 строки!):
image
l = c.append("lily.tif")
l.filter("triangletile", dx=-30, dy=-30, width=40)

Очень много чего умеет, тут можно скачать и почитать подробней.

Supershape

Плагин, позволяющий, реализовать формулы суперформ Johan Gielis. Можно к примеру написать хабр вот так:
image
Или санимировать суперформу:
image

Вообщем там куча плагинов и они еще добавляются. Жаль программа не получила широкого резонанса, коммюнити слабое. Приведу пример пары иллюстраций созданных в Nodebox, все остальное тут:
image

image

Вот как-то так. А теперь бонус! :)

Nodebox 2


image
Программа пока находится в бета-тестировании. В программе изменилась сама модель написания. Теперь это работа с модулями. Пока не ясно, что именно будет реализованно в программе. Самый приятный момент, что программа теперь идет на винде и чуть-чуть на линуксе :) Давайте на примере урока попробуем понять как теперь с ней работать.
При создании проекта мы видим чистый интерфейс
image
Окна распределяются следующим образом
image

Правой кнопкой щелкаем на поле Network

image

Выбираем из меню New node

image
image

Ищем Rect в списке и добавляем его. Теперь он на сцене, мы можем менять его параметры

image

Следующим шагом добавляем модуль Wiggle, и соединяем Rect c Wiggle.

image

Теперь мы можем наблюдать следующее (смотря кто как эксперементирует)

image

Дальше добавляем Place, это как бы рендер то что на выходе получиться. При присоединение к этому модулю, он спрашивает вас в качестве чего подцепить к нему, надо выбирать Shape ибо мы добавляем фигуру.

image

Добавляем модуль Grid, когда соединяем, выбираем Template, как бы шаблон для рендера.

image

И в итоге на выходе имеем PROFIT!

image

Проект опен-сорс, проект интересный, коммьюнити по-тихому собирается. Интересно будет увидеть мастистых программистов на питоне с их экспериментами. Совсем запыхался и не дал ссылку на скачивание, вот! Спасибо LLIAMAH, что напомнил.

ЗЫ. Я знаю, что у меня проблемы с русским, что я совершаю орфографические, пунктационные и лексические ошибки. Но очень прошу вас не указывайте на ошибки в комментариях, пишите в личку, буду править, а то как начнется… В итоге тред будет учителей русского языка :)
Tags:
Hubs:
+70
Comments32

Articles

Change theme settings