stringtranslate.com

Обработка

Processing — это бесплатная графическая библиотека и интегрированная среда разработки (IDE), созданная для сообществ электронного искусства, нового медиаискусства и визуального дизайна с целью обучения непрограммистов основам компьютерного программирования в визуальном контексте.

Обработка использует язык Java с дополнительными упрощениями, такими как дополнительные классы и псевдонимы математических функций и операций. Он также предоставляет графический пользовательский интерфейс для упрощения этапа компиляции и выполнения.

Язык Processing и IDE стали предшественниками других проектов, включая Arduino и Wiring .

История

Проект был инициирован в 2001 году Кейси Реасом и Беном Фраем , которые ранее работали в группе эстетики и вычислений в лаборатории MIT Media Lab . В 2012 году они основали Processing Foundation вместе с Дэниелом Шиффманом , который присоединился в качестве третьего руководителя проекта. Джоанна Хедва присоединилась к Foundation в 2014 году в качестве директора по адвокации. [2]

Первоначально Processing использовал домен proce55ing.net, поскольку домен processing был занят; в конечном итоге Риас и Фрай приобрели домен processing.org и переместили проект на него в 2004 году. [3] Хотя первоначальное название представляло собой комбинацию букв и цифр, оно всегда официально называлось processing , но сокращенный термин p5 все еще иногда используется (например, в «p5.js») в отношении старого доменного имени. [4]

В 2012 году был создан Processing Foundation, получивший статус некоммерческой организации 501(c)(3), [5] поддерживая сообщество вокруг инструментов и идей, которые начались с Processing Project. Фонд призывает людей по всему миру ежегодно встречаться на местных мероприятиях, называемых Processing Community Day. [6]

Функции

Обработка включает в себя альбом для рисования , минимальную альтернативу интегрированной среде разработки (IDE) для организации проектов. [7]

Каждый эскиз Processing на самом деле является подклассом класса PApplet Java (ранее подкласса встроенного в Java Applet), который реализует большинство функций языка Processing. [8]

При программировании в Processing все дополнительные классы, определенные в нем, будут рассматриваться как внутренние классы при трансляции кода в чистый Java перед компиляцией. [9] Это означает, что использование статических переменных и методов в классах запрещено, если только Processing явно не указано кодировать в режиме чистого Java.

Обработка также позволяет пользователям создавать собственные классы в эскизе PApplet. Это позволяет использовать сложные типы данных , которые могут включать любое количество аргументов, и позволяет избежать ограничений, связанных с использованием только стандартных типов данных, таких как: int (целое число), char (символ), float (действительное число) и color (RGB, RGBA , hex).

Примеры

Простейшая возможная версия программы «Hello World» в Processing:

// Это выводит «Hello World» на консоль IDE. println ( «Hello World» );

Однако, ввиду более визуально ориентированной природы Processing, следующий код [10] является лучшим примером внешнего вида и поведения языка.

// Привет, мышь. void setup () { size ( 400 , 400 ); stroke ( 255 ); background ( 192 , 64 , 0 ); }        void draw () { линия ( 150 , 25 , mouseX , mouseY ); }      

Награды

В 2005 году Реас и Фрай выиграли премию Golden Nica от Ars Electronica в категории Net Vision за свою работу над Processing. [11]

Бен Фрай выиграл Национальную премию дизайна 2011 года, присуждаемую Смитсоновским национальным музеем дизайна Купера-Хьюитта в категории «Интерактивный дизайн». В заявлении о награде говорится:

«Опираясь на опыт работы в области графического дизайна и компьютерных наук, Бен Фрай продолжает давнее увлечение визуализацией данных. Будучи директором Fathom Information Design в Бостоне, Фрай разрабатывает программное обеспечение, печатные работы, инсталляции и книги, которые описывают и объясняют темы от генома человека до зарплат в бейсболе и эволюции текстовых документов. Совместно с Кейси Реасом он основал Processing Project, среду программирования с открытым исходным кодом для обучения вычислительному дизайну и создания эскизов интерактивного медиа-программного обеспечения. Она предоставляет художникам и дизайнерам доступные средства работы с кодом, одновременно побуждая инженеров и компьютерных специалистов думать о концепциях дизайна». [12]

Лицензия

Основные библиотеки Processing, код, включенный в экспортированные приложения и апплеты, лицензированы в соответствии с лицензией GNU Lesser General Public License , что позволяет пользователям выпускать свой оригинальный код с возможностью выбора лицензии.

Среда IDE распространяется по лицензии GNU General Public License .

Связанные проекты

Дизайн по номерам

Processing был основан на оригинальной работе, проделанной в рамках проекта Design By Numbers в MIT. Он разделяет многие из тех же идей и является прямым потомком этого эксперимента.

p5.js

В 2013 году Лорен Маккарти создала p5.js, нативную альтернативу Processing.js на JavaScript , которая имеет официальную поддержку Processing Foundation. p5.js привлекла более 1,5 миллиона пользователей. [13]

С апреля 2022 года p5.js возглавляет Цяньцянь Е, доцент кафедры медиаискусства в Университете Южной Калифорнии. [14]

ml5.js

ml5.js — это библиотека p5.js, разработанная ITP/IMA Нью-Йоркского университета при финансовой и образовательной поддержке гранта Google.

Дэниел Шиффман снял видеоролики, демонстрирующие работу ml5, и внес заметный вклад в код.

Обработка.js

Processing.js — это устаревший порт JavaScript , который позволял запускать существующий код Processing Java в Интернете.

Первоначально он был выпущен в 2008 году Джоном Резигом . Позднее проект был реализован в рамках партнерства между Mozilla Foundation и Seneca College под руководством Дэвида Хамфри, Эла Макдональда и Корбана Брука. Processing.js поддерживался на уровне Processing вплоть до выпуска API версии 2.1.

Проект был закрыт в декабре 2018 года, спустя два года после остановки его активной разработки.

P5Py

p5 — это библиотека Python, которая обеспечивает высокоуровневую функциональность рисования, помогающую быстро создавать симуляции и интерактивное искусство с помощью Python. Она объединяет основные идеи Processing — обучение кодированию в визуальном контексте — с читабельностью Python, чтобы сделать программирование более доступным для новичков, преподавателей и художников. [15]

Обработка.py

Python Mode for Processing, или Processing.py — это интерфейс Python к базовому набору инструментов Java. Он был разработан Джонатаном Файнбергом в 2010 году, с участием Джеймса Жиля и Бена Алкова. [16]

py5

py5 — это версия Processing для Python 3.8+. Она делает jar-файлы Java Processing доступными для интерпретатора CPython с помощью JPype. Она может делать практически все, что может Processing, за исключением того, что использует Python вместо кода Java. [17]

Проводка, Arduino и Fritzing

Processing породил еще один проект, Wiring , который использует Processing IDE с набором библиотек, написанных на языке C++, как способ обучения художников программированию микроконтроллеров . [18] Сейчас есть два отдельных аппаратных проекта, Wiring и Arduino , использующих среду и язык Wiring. Fritzing — еще одна программная среда того же рода, которая помогает дизайнерам и художникам документировать свои интерактивные прототипы и делать шаг от физического прототипирования к реальному продукту.

Мобильная обработка

Другой побочный проект, ныне несуществующий, — Mobile Processing Фрэнсиса Ли, который позволял программному обеспечению, написанному с использованием языка и среды Processing, работать на мобильных устройствах на базе Java. Сегодня часть той же функциональности предоставляется самим Processing. [19]

iОбработка

iProcessing был создан, чтобы помочь людям разрабатывать собственные приложения iPhone с использованием языка Processing. Это интеграция библиотеки Processing.js и фреймворка приложений Javascript для iPhone. [20]

Спде

Spde (Scala Processing Development Environment) заменяет сокращенный синтаксис Java Processing и пользовательский препроцессор на готовый язык программирования Scala , который также работает на платформе Java и применяет некоторые из тех же ограничений, например, запрещает статические методы, но при этом допускает более лаконичный код и поддерживает функциональное программирование . [21] [22] [23]

JRubyArt

JRubyArt (ранее называвшийся ruby-processing ) — это оболочка для Processing на языке Ruby , которая работает на платформе Java с использованием JRuby.

Квил

Quil — это интерактивная анимационная библиотека для Clojure и ClojureScript, основанная на Processing. [24] [25]

СМИ

Музыкальный клип на песню « House of Cards » группы Radiohead был создан с использованием Processing в сочетании с данными лидарной технологии, а также с использованием акрилового стекла и зеркал для создания сцен, в которых изображение выглядит искаженным, частично исчезает или распадается, как будто его переносит ветер. [26] Processing также использовался для создания иллюстраций для таких изданий, как Nature и The New York Times , для вывода скульптур для галерейных выставок, для управления огромными видеостенами и для вязания свитеров. [27]

Смотрите также

Сноски

  1. ^ "Releases". GitHub . Получено 2023-08-11 .
  2. ^ "People". processingfoundation.org . Архивировано из оригинала 2019-10-05 . Получено 2017-04-24 .
  3. ^ "Processing 1.0 _ALPHA_ - processing.org". processing.org . Архивировано из оригинала 2012-04-28 . Получено 2017-12-24 .
  4. ^ "Что означает цифра 5 в названии "p5"? · Проблема № 2443 · processing/p5.js". GitHub .
  5. Кейси Риас; Бен Фрай (29 мая 2018 г.). «Современный Прометей». Medium .
  6. ^ "PCD". Средний .
  7. ^ Айра Гринберг (31 декабря 2007 г.). Обработка: творческое кодирование и вычислительное искусство. Apress. стр. 151–. ISBN 978-1-4302-0310-0.
  8. ^ Жанин Мейер (15 июня 2018 г.). Программирование 101: как и почему программирование раскрыто с использованием языка программирования обработки. Apress. стр. 121–. ISBN 978-1-4842-3697-0.
  9. ^ Айра Гринберг (25 марта 2010 г.). Основное руководство по обработке для разработчиков Flash. Apress. стр. 412–. ISBN 978-1-4302-1980-4.
  10. ^ Tayste. "Hello Mouse - OpenProcessing". OpenProcessing.org . Получено 3 марта 2022 г. .
  11. ^ Мередит Хой (3 января 2017 г.). От точки к пикселю: генеалогия цифровой эстетики. Dartmouth College Press. стр. 142–. ISBN 978-1-5126-0023-0.
  12. ^ http://cdn.cooperhewitt.org/2011/05/26/Final%20-%20CHNDM%20NDA%202011%20Winner%20Release%205-26-11.pdf [ пустой URL-адрес PDF ]
  13. ^ "P5.js — Лорен Ли Маккарти".
  14. ^ "Цяньцянь Е".
  15. ^ p5, p5py, 2021-09-29 , получено 2021-10-12
  16. ^ Эллисон Пэрриш; Бен Фрай; Кейси Риз (11 мая 2016 г.). Начало работы с Processing.py: создание интерактивной графики с помощью режима Python от Processing. Maker Media, Incorporated. ISBN 978-1-4571-8679-0.
  17. ^ Документация py5, hx2a, 2021-09-13 , получено 2022-05-10
  18. ^ "Обработка, проводка и Arduino (EE Tip 101) - Circuit Cellar". 18 сентября 2013 г.[ постоянная мертвая ссылка ]
  19. ^ "Android - Обработка". Архивировано из оригинала 2014-08-19 . Получено 2013-06-03 .
  20. ^ "iProcessing устанавливает Processing.js на iPhone - а как насчет браузеров? - CDM Create Digital Music". 11 февраля 2010 г. Архивировано из оригинала 13 октября 2019 г. Получено 23 июля 2018 г.
  21. ^ "Spde: Spde". Technically.us. Архивировано из оригинала 2011-08-02 . Получено 2013-08-20 .
  22. ^ "Coderspiel / Runaway processing". Technically.us. Архивировано из оригинала 2016-11-10 . Получено 2013-08-20 .
  23. ^ "Coderspiel / Flocking with Spde". Technically.us . Получено 20-08-2013 .
  24. ^ «Quil: анимация в Clojure» .
  25. ^ "Введение в Quil".
  26. ^ Най, Колли (2008-07-14). «Radiohead сотрудничает с Google для запуска музыкального видео». The Washington Post . ISSN  0190-8286 . Получено 2021-03-16 .
  27. ^ Reas, Casey; Ben Fry (2015). Getting started with Processing (Второе издание). Сан-Франциско. С. 183. ISBN 978-1-4571-8708-7. OCLC  905522686.{{cite book}}: CS1 maint: отсутствует местоположение издателя ( ссылка )

Ссылки

Внешние ссылки