Interested Article - Processing

Processing — открытый язык программирования , основанный на Java . Представляет собой лёгкий и быстрый инструментарий для создания изображений, анимации и разработки интерфейсов.

Используется студентами, художниками, дизайнерами, исследователями для изучения, прототипирования и производства. Он создан для изучения основ компьютерного программирования в визуальном контексте и служит альбомным программным обеспечением (имеется в виду, что каждый *.pde файл визуальной оболочки Processing’а представляет собой отдельное изображение или анимацию, и т. д.) и профессиональным производственным инструментом.

Processing — это открытый проект инициированный и . Он родился из идей, изученных в The Aesthetics and Computation Group в MIT Media Lab .

Скетчинг в Processing

Программа на Processing называется скетч (от англ. sketch — эскиз). Идея состоит в том, чтобы быстро писать скрипты на языке программирования Java.

Возможности и особенности

Каждый скетч в Processing является классом, наследуемым от Java-класса , который содержит в себе большинство возможностей языка Processing.

Перед выполнением скетча он преобразуется в код на языке Java для выполнения в среде Windows/Linux/MacOS/Android либо в Javascript-код для выполнения в браузере внутри Canvas .

При программировании на языке Processing все создаваемые классы являются внутренними классами основного. Это накладывает определённые ограничения при разработке.

Примеры

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 породил ещё один проект: , который использует IDE от Processing с набором библиотек, написанных на языке C++ , для обучения художников программированию микроконтроллеров. Сейчас существует два отдельных аппаратных проекта: Wiring и Arduino , использующих среду разработки и язык Wiring. Fritzing — ещё одна программная среда сходного типа, помогающая дизайнерам и художникам документировать их прототипы и пройти путь от прототипа до законченного продукта.

Mobile Processing

Processing.js

p5.js

iProcessing

Spde

Quil

Примеры использования

  • На языке Processing написана часть среды разработки SDK отвечающего за эмуляцию WOWCube для персональных компьютеров ( Open Source ).


См. также

Примечания

  1. . Дата обращения: 18 апреля 2013. Архивировано из 20 апреля 2013 года.

Литература

  • Bohnacker, Hartmut; Gross, Benedikt; Laub, Julia; Lazzeroni, Claudius (August 22, 2012), Generative Design: Visualize, Program, and Create with Processing (1st ed.), , p. 472, ISBN 978-1616890773
  • Glassner, Andrew (August 9, 2010), (1st ed.), A K Peters/CRC Press, p. 955, ISBN 1-56881-716-9 , Архивировано из 21 апреля 2011 , Дата обращения: 7 июня 2013 от 21 апреля 2011 на Wayback Machine
  • Reas, Casey; Fry, Ben (June 17, 2010), Getting Started with Processing (1st ed.), Make, p. 208, ISBN 1-4493-7980-X
  • Noble, Joshua (July 21, 2009), (1st ed.), O'Reilly Media , p. 736, ISBN 0-596-15414-3
  • Terzidis, Kostas (May 11, 2009), (1st ed.), Wiley , p. 384, ISBN 0-470-37548-5
  • Reas, Casey; Fry, Ben; Maeda, John (September 30, 2007), (1st ed.), The MIT Press, p. 736, ISBN 0-262-18262-9 , Архивировано из 17 апреля 2011 , Дата обращения: 7 июня 2013 от 17 апреля 2011 на Wayback Machine
  • Fry, Ben (January 11, 2008), (1st ed.), O'Reilly Media , p. 382, ISBN 0-596-51455-7
  • Greenberg, Ira (May 28, 2007), (1st ed.), friends of ED, p. 840, ISBN 1-59059-617-X , Архивировано из 27 января 2011 , Дата обращения: 7 июня 2013 от 27 января 2011 на Wayback Machine
  • Shiffman, Daniel (August 19, 2008), (1st ed.), Morgan Kaufmann, p. 450, ISBN 0-12-373602-1
  • Faludi, Robert (January 4, 2011), (1st ed.), O'Reilly Media , p. 320, ISBN 978-0-596-80774-0 от 12 июня 2019 на Wayback Machine
  • Vantomme, Jan (September 20, 2012), (1st ed.), Packt Publishing, p. 291, ISBN 9781849517942 от 2 июля 2014 на Wayback Machine
  • Pearson, Matt (June 1, 2011), (1st ed.), Manning, p. 240, ISBN 9781935182627 от 24 июня 2019 на Wayback Machine

Ссылки

  • (англ.)
  • // Хабрахабр
  • Полуостров Бинария. Программирование для детей и взрослых на Processing. Книга на русском языке
Источник —

Same as Processing