Processing
Изображение логотипа
Класс языка объектно-ориентированный
Тип исполнения компилируемый
Появился в 2001; 25 лет назад (2001)
Автор Кэйси Риз
Бенжамин Фрай
Разработчик Processing Foundation[вд]
Расширение файлов .pde
Выпуск 4.4.4 (16.05.2025)
Система типов статическая
Испытал влияние Design By Numbers, Java, OpenGL, C
Повлиял на Processing.js, iProcessing, Arduino
Лицензия GPL, LGPL
Сайт processing.org
ОС Linux, Mac OS, Windows, Android
Логотип Викисклада Медиафайлы на Викискладе

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[1].

При программировании на языке 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).

См. также

править

Примечания

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

Литература

править

Ссылки

править

📚 Artikel Terkait di Wikipedia

Квантовый компьютер

Steane, E. G. Rieffel. Beyond Bits: The Future of Quantum Information Processing // IEEE Computer. — January 2000. — P. 38—45. Kilin S.Ya. Quanta and information

Центральный процессор

(ЦП; также центра́льное проце́ссорное устро́йство — ЦПУ; англ. central processing unit, CPU, дословно — центральное обрабатывающее устройство, часто просто

Шанхай

Shanghai Jinqiao Export Processing Zone (Пудун) Shanghai Caohejing Export Processing Zone (Миньхан) Shanghai Minhang Export Processing Zone (Миньхан) Shanghai

Лисп

Лисп (LISP, от англ. List Processing language — «язык обработки списков»; современное написание: Lisp) — семейство языков программирования, программы и

Post Processing Kinematic

PPK (англ.  Post Processing Kinematic — дословно «кинематика в постобработке»). Oдин из методов DGPS.Заключается в процессе определения координат (местоположения)

Обработка естественного языка

Обработка текстов на естественном языке (Natural Language Processing, NLP) — общее направление искусственного интеллекта и математической лингвистики.

Automatic Data Processing

Automatic Data Processing, Inc (ADP, с англ. — «Автоматическая обработка данных») — американская компания, являющаяся поставщиком программного обеспечения

Плата за публикацию статьи

Пла́та за публика́цию статьи́ (англ. Article processing charge, APC) — плата, которая иногда взимается научным журналом для компенсации расходов на издание