Processing — открытый язык программирования, основанный на Java. Представляет собой лёгкий и быстрый инструментарий для создания изображений, анимации и разработки интерфейсов.
Используется студентами, художниками, дизайнерами, исследователями для изучения, прототипирования и производства. Он создан для изучения основ компьютерного программирования в визуальном контексте и служит альбомным программным обеспечением (имеется в виду, что каждый *.pde файл визуальной оболочки Processing’а представляет собой отдельное изображение или анимацию, и т. д.) и профессиональным производственным инструментом.
Processing — это открытый проект инициированный Бенжамином Фраем и Кэйси Ризом. Он родился из идей, изученных в The Aesthetics and Computation Group в MIT Media Lab.
Скетчинг в Processing Программа на Processing называется скетч (от англ. sketch — эскиз). Идея состоит в том, чтобы быстро писать скрипты на языке программирования Java.
Возможности и особенности Каждый скетч в Processing является классом, наследуемым от Java-класса PApplet, который содержит в себе большинство возможностей языка Processing.
Перед выполнением скетча он преобразуется в код на языке Java для выполнения в среде Windows/Linux/MacOS/Android либо в Javascript-код для выполнения в браузере внутри Canvas.
При программировании на языке Processing все создаваемые классы являются внутренними классами основного. Это накладывает определённые ограничения при разработке.
Примеры
Hello World В консоли void setup(){ println("Hello World"); } На экране void setup(){ size(200, 200); text("Hello World", 70, 100); }
Карта президентских выборов США
PShape usa; PShape state; String [] Obama = { "HI", "RI", "CT", "MA", "ME", "NH", "VT", "NY", "NJ", "FL", "NC", "OH", "IN", "IA", "CO", "NV", "PA", "DE", "MD", "MI", "WA", "CA", "OR", "IL", "MN", "WI", "DC", "NM", "VA" };
String [] McCain = { "AK", "GA", "AL", "TN", "WV", "KY", "SC", "WY", "MT", "ID", "TX", "AZ", "UT", "ND", "SD", "NE", "MS", "MO", "AR", "OK", "KS", "LA" };
void setup() { size(950, 600); // The file Blank_US_Map.svg can be found at Wikimedia Commons usa = loadShape("http://upload.wikimedia.org/wikipedia/commons/3/32/Blank_US_Map.svg"); smooth(); // Improves the drawing quality of the SVG noLoop(); }
void draw() { background(255); // Draw the full map shape(usa, 0, 0); // Blue denotes states won by Obama statesColoring(Obama , color(0, 0, 255)); // Red denotes states won by McCain statesColoring(McCain, color(255, 0, 0)); // Save the map as image saveFrame("map output.png"); }
void statesColoring(String[] states, int c){ for (int i = 0; i < states.length; ++i) { PShape state = usa.getChild(states[i]); // Disable the colors found in the SVG file state.disableStyle(); // Set our own coloring fill(c); noStroke(); // Draw a single state shape(state, 0, 0);
Связанные проекты
Design By Numbers
Wiring, Arduino и Fritzing Processing породил ещё один проект: Wiring, который использует IDE от Processing с набором библиотек, написанных на языке C++, для обучения художников программированию микроконтроллеров. Сейчас существует два отдельных аппаратных проекта: Wiring и Arduino, использующих среду разработки и язык Wiring. Fritzing — ещё одна программная среда сходного типа, помогающая дизайнерам и художникам документировать их прототипы и пройти путь от прототипа до законченного продукта.
Mobile Processing
Processing.js
p5.js Является библиотекой для JavaScript, предоставляющей некоторые функции Processing для запуска в браузере.
iProcessing
Spde
Quil
Примеры использования На языке Processing написана часть среды разработки SDK отвечающего за эмуляцию WOWCube для персональных компьютеров (Open Source).
См. также Cinder
CLACL
Примечания
Литература
Ссылки Официальный сайт Знакомство с Processing 1.0 // Хабрахабр Полуостров Бинария. Программирование для детей и взрослых на Processing. Книга на русском языке isocode.ru Цикл уроков на YouTube