Processing

Поделись знанием:
Перейти к: навигация, поиск
Processing
Класс языка:

объектно-ориентированный

Тип исполнения:

компилируемый

Появился в:

2001-04-19; 8401 день тому назад

Автор:

Кэйси Риз
Бенжамин Фрай

Расширение файлов:

.pde

Выпуск:

3.0 (2015-09-30; 3124 дня тому назад)

Система типов:

статическая

Испытал влияние:

Design By Numbers, Java, OpenGL, C

Повлиял на:

Processing.js, iProcessing, Arduino

Лицензия:

GPL, LGPL

Сайт:

[www.processing.org cessing.org]

ОС:

Windows, Linux, Mac OS, Android

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

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

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





Скетчинг в Processing

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

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

Каждый скетч в Processing является классом, наследуемым от Java-класса [processing.googlecode.com/svn/trunk/processing/build/javadoc/core/processing/core/PApplet.html PApplet], который содержит в себе большинство возможностей языка Processing.

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

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

Примеры

Hello World

//Hello mouse.
void setup() {
       size(400, 400);
       stroke(255);
       background(192, 64, 0);
}

void draw() {
       line(150, 25, mouseX, mouseY);
       text('Hello World',mouseX, mouseY)
}

Карта президентских выборов США

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("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

iProcessing

Spde

Quil

См. также

Напишите отзыв о статье "Processing"

Примечания

  1. [www.processing.org/learning/overview/ Overview \ Processing.org]. Проверено 18 апреля 2013. [www.webcitation.org/6G1CGJ2Bj Архивировано из первоисточника 20 апреля 2013].

Литература

  • Bohnacker, Hartmut; Gross, Benedikt; Laub, Julia & Lazzeroni, Claudius (August 22, 2012), Generative Design: Visualize, Program, and Create with Processing (1st ed.), Princeton Architectural Press, сс. 472, ISBN 978-1616890773 
  • Glassner, Andrew (August 9, 2010), [www.crcpress.com/ecommerce_product/product_detail.jsf?isbn=9781568817163 Processing for Visual Artists: How to Create Expressive Images and Interactive Art] (1st ed.), A K Peters/CRC Press, сс. 955, ISBN 1-56881-716-9, <www.crcpress.com/ecommerce_product/product_detail.jsf?isbn=9781568817163> 
  • Reas, Casey & Fry, Ben (June 17, 2010), Getting Started with Processing (1st ed.), Make, сс. 208, ISBN 1-4493-7980-X 
  • Noble, Joshua (July 21, 2009), [oreilly.com/catalog/9780596154141/ Programming Interactivity: A Designer's Guide to Processing, Arduino, and Openframeworks] (1st ed.), O'Reilly Media, сс. 736, ISBN 0-596-15414-3, <oreilly.com/catalog/9780596154141/> 
  • Terzidis, Kostas (May 11, 2009), [www.wiley.com/WileyCDA/WileyTitle/productCd-0470375485.html Algorithms for Visual Design Using the Processing Language] (1st ed.), Wiley, сс. 384, ISBN 0-470-37548-5, <www.wiley.com/WileyCDA/WileyTitle/productCd-0470375485.html> 
  • Reas, Casey; Fry, Ben & Maeda, John (September 30, 2007), [mitpress.mit.edu/catalog/item/default.asp?ttype=2&tid=11251 Processing: A Programming Handbook for Visual Designers and Artists] (1st ed.), The MIT Press, сс. 736, ISBN 0-262-18262-9, <mitpress.mit.edu/catalog/item/default.asp?ttype=2&tid=11251> 
  • Fry, Ben (January 11, 2008), [oreilly.com/catalog/9780596514556/ Visualizing Data] (1st ed.), O'Reilly Media, сс. 382, ISBN 0-596-51455-7, <oreilly.com/catalog/9780596514556/> 
  • Greenberg, Ira (May 28, 2007), [friendsofed.com/book.html?isbn=159059617X Processing: Creative Coding and Computational Art (Foundation)] (1st ed.), friends of ED, сс. 840, ISBN 1-59059-617-X, <friendsofed.com/book.html?isbn=159059617X> 
  • Shiffman, Daniel (August 19, 2008), [www.learningprocessing.com/ Learning Processing: A Beginner's Guide to Programming Images, Animation, and Interaction] (1st ed.), Morgan Kaufmann, сс. 450, ISBN 0-12-373602-1, <www.learningprocessing.com/> 
  • Faludi, Robert (January 4, 2011), [faludi.com/bwsn Building Wireless Sensor Networks: with ZigBee, XBee, Arduino, and Processing] (1st ed.), O'Reilly Media, сс. 320, ISBN 978-0-596-80774-0, <faludi.com/bwsn> 
  • Vantomme, Jan (September 20, 2012), [www.packtpub.com/processing-2-creative-programming-cookbook/book Processing 2, Creative Programming Cookbook] (1st ed.), Packt Publishing, сс. 291, ISBN 9781849517942, <www.packtpub.com/processing-2-creative-programming-cookbook/book> 
  • Pearson, Matt (June 1, 2011), [zenbullets.com/book.php Generative Art, A practical guide using Processing] (1st ed.), Manning, сс. 240, ISBN 9781935182627, <zenbullets.com/book.php> 

Ссылки

  • [www.processing.org/ Официальный сайт] (англ.)
  • [habrahabr.ru/post/58314/ Знакомство с Processing 1.0] // Хабрахабр
  • Интерактивные видео-уроки с русским переводом [helloprocessing.ru/ helloprocessing.ru]
  • Полуостров Бинария. Программирование для детей и взрослых на Processing. Книга на русском языке [isocode.ru/ isocode.ru]

Отрывок, характеризующий Processing

Ростов вышел опять в сени и заметил, что на крыльце было уже много офицеров и генералов в полной парадной форме, мимо которых ему надо было пройти.
Проклиная свою смелость, замирая от мысли, что всякую минуту он может встретить государя и при нем быть осрамлен и выслан под арест, понимая вполне всю неприличность своего поступка и раскаиваясь в нем, Ростов, опустив глаза, пробирался вон из дома, окруженного толпой блестящей свиты, когда чей то знакомый голос окликнул его и чья то рука остановила его.
– Вы, батюшка, что тут делаете во фраке? – спросил его басистый голос.
Это был кавалерийский генерал, в эту кампанию заслуживший особенную милость государя, бывший начальник дивизии, в которой служил Ростов.
Ростов испуганно начал оправдываться, но увидав добродушно шутливое лицо генерала, отойдя к стороне, взволнованным голосом передал ему всё дело, прося заступиться за известного генералу Денисова. Генерал выслушав Ростова серьезно покачал головой.
– Жалко, жалко молодца; давай письмо.
Едва Ростов успел передать письмо и рассказать всё дело Денисова, как с лестницы застучали быстрые шаги со шпорами и генерал, отойдя от него, подвинулся к крыльцу. Господа свиты государя сбежали с лестницы и пошли к лошадям. Берейтор Эне, тот самый, который был в Аустерлице, подвел лошадь государя, и на лестнице послышался легкий скрип шагов, которые сейчас узнал Ростов. Забыв опасность быть узнанным, Ростов подвинулся с несколькими любопытными из жителей к самому крыльцу и опять, после двух лет, он увидал те же обожаемые им черты, то же лицо, тот же взгляд, ту же походку, то же соединение величия и кротости… И чувство восторга и любви к государю с прежнею силою воскресло в душе Ростова. Государь в Преображенском мундире, в белых лосинах и высоких ботфортах, с звездой, которую не знал Ростов (это была legion d'honneur) [звезда почетного легиона] вышел на крыльцо, держа шляпу под рукой и надевая перчатку. Он остановился, оглядываясь и всё освещая вокруг себя своим взглядом. Кое кому из генералов он сказал несколько слов. Он узнал тоже бывшего начальника дивизии Ростова, улыбнулся ему и подозвал его к себе.
Вся свита отступила, и Ростов видел, как генерал этот что то довольно долго говорил государю.
Государь сказал ему несколько слов и сделал шаг, чтобы подойти к лошади. Опять толпа свиты и толпа улицы, в которой был Ростов, придвинулись к государю. Остановившись у лошади и взявшись рукою за седло, государь обратился к кавалерийскому генералу и сказал громко, очевидно с желанием, чтобы все слышали его.
– Не могу, генерал, и потому не могу, что закон сильнее меня, – сказал государь и занес ногу в стремя. Генерал почтительно наклонил голову, государь сел и поехал галопом по улице. Ростов, не помня себя от восторга, с толпою побежал за ним.


На площади куда поехал государь, стояли лицом к лицу справа батальон преображенцев, слева батальон французской гвардии в медвежьих шапках.
В то время как государь подъезжал к одному флангу баталионов, сделавших на караул, к противоположному флангу подскакивала другая толпа всадников и впереди их Ростов узнал Наполеона. Это не мог быть никто другой. Он ехал галопом в маленькой шляпе, с Андреевской лентой через плечо, в раскрытом над белым камзолом синем мундире, на необыкновенно породистой арабской серой лошади, на малиновом, золотом шитом, чепраке. Подъехав к Александру, он приподнял шляпу и при этом движении кавалерийский глаз Ростова не мог не заметить, что Наполеон дурно и не твердо сидел на лошади. Батальоны закричали: Ура и Vive l'Empereur! [Да здравствует Император!] Наполеон что то сказал Александру. Оба императора слезли с лошадей и взяли друг друга за руки. На лице Наполеона была неприятно притворная улыбка. Александр с ласковым выражением что то говорил ему.
Ростов не спуская глаз, несмотря на топтание лошадьми французских жандармов, осаживавших толпу, следил за каждым движением императора Александра и Бонапарте. Его, как неожиданность, поразило то, что Александр держал себя как равный с Бонапарте, и что Бонапарте совершенно свободно, как будто эта близость с государем естественна и привычна ему, как равный, обращался с русским царем.
Александр и Наполеон с длинным хвостом свиты подошли к правому флангу Преображенского батальона, прямо на толпу, которая стояла тут. Толпа очутилась неожиданно так близко к императорам, что Ростову, стоявшему в передних рядах ее, стало страшно, как бы его не узнали.
– Sire, je vous demande la permission de donner la legion d'honneur au plus brave de vos soldats, [Государь, я прошу у вас позволенья дать орден Почетного легиона храбрейшему из ваших солдат,] – сказал резкий, точный голос, договаривающий каждую букву. Это говорил малый ростом Бонапарте, снизу прямо глядя в глаза Александру. Александр внимательно слушал то, что ему говорили, и наклонив голову, приятно улыбнулся.
– A celui qui s'est le plus vaillament conduit dans cette derieniere guerre, [Тому, кто храбрее всех показал себя во время войны,] – прибавил Наполеон, отчеканивая каждый слог, с возмутительным для Ростова спокойствием и уверенностью оглядывая ряды русских, вытянувшихся перед ним солдат, всё держащих на караул и неподвижно глядящих в лицо своего императора.
– Votre majeste me permettra t elle de demander l'avis du colonel? [Ваше Величество позволит ли мне спросить мнение полковника?] – сказал Александр и сделал несколько поспешных шагов к князю Козловскому, командиру батальона. Бонапарте стал между тем снимать перчатку с белой, маленькой руки и разорвав ее, бросил. Адъютант, сзади торопливо бросившись вперед, поднял ее.
– Кому дать? – не громко, по русски спросил император Александр у Козловского.
– Кому прикажете, ваше величество? – Государь недовольно поморщился и, оглянувшись, сказал:
– Да ведь надобно же отвечать ему.
Козловский с решительным видом оглянулся на ряды и в этом взгляде захватил и Ростова.