Processing是什么?

来源:互联网 发布:数据分析师做什么的 编辑:程序博客网 时间:2024/05/22 00:09

在某群里听说了这个软件,百度下它到底能做什么。


/以下内容来自百度/

简介

虽然图形用户界面(GUI)早在二十年前成为主流,但是基础编程语言的教学到今天仍是以命令行接口为主,学习编程语言为什么要那么枯燥呢?人脑天生擅长空间辨识,图形用户界面利用的正是这种优势,加上它能提供各种实时且鲜明的图像式反馈 (feedback),可以大幅缩短学习曲线,并帮助理解抽象逻辑法则。举例来说,计算机屏幕上的一个像素(pixel) 就是一个变量值(the value of a variable) 的可视化表现。Processing将Java的语法简化并将其运算结果“感官化”,让使用者能很快享有声光兼备的交互式多媒体作品。
Processing的源代码是开放的,和近来广受欢迎的Linux 操作系统、Mozilla浏览器、或Perl语言等一样,用户可依照自己的需要自由裁剪出最合适的使用模式。Processing的应用非常丰富,而且它们全部遵守开放源代码的规定,这样的设计大幅增加了整个社群的互动性与学习效率。
Processing的创始者:Casey Reas与Ben Fry是美国麻省理工学院媒体实验室 (M.I.T. Media Laboratory) 旗下美学与运算小组 (Aesthetics & Computation Group) 的成员。美学与运算小组由著名的计算机艺术家John Maeda领导,于一九九六年成立至今,在短时间内声名大噪,以其高度实验性及概念性的作品,既广且深地在艺术及设计的领域里,探索计算机的运算特质及其带来源源不绝的创造性。极少数人能完美结合并平衡艺术家、设计师和计算机工程师的才华于一身,更重要的是Casey和Ben拥有开放源码的胸襟。
Casey Reas目前在加州大学洛杉矶分校Media/Arts系任助理教授,同时在意大利艾维里互动设计学院(Interaction Design Institute Ivrea)任助理教授。Casey作品的主要特色是用processing实现生物体的印象派表现,并将成果呈现为多媒体、传感器艺术、数字雕塑、数字印刷等多种形式。Casey经常参加欧洲、亚洲以及美国各地的演讲和展览。他是本届奥地利的林兹艺术节 (Ars Electronica in Linz︰多媒体艺术界规模最大的年度盛事) 的评审委员之一。
Ben Fry现仍在MIT的媒体实验室攻读博士。他的研究方向是器官(有机体)可视化 (Organic Information Visualization),并创造出能随着不断更新的数据,实时进行形变或质变的电子动态系统。他的博士论文阐述如何用processing语言实现人类基因组工程所揭示的膨大信息量的可视化,Ben为此定义的专用名词为基因制图学(Genomic Cartography)。


相关书籍


新手入门了解可选择《爱上Processing》,英文名《getting started with processing》。


Processing的原作者Casey Reas与Ben Fry写作了唯一一本著作《Processing: A Programming Handbook for Visual Designers and Artists》,该书目前是Processing方面的最权威教程,目前中文译本为《Processing语言权威指南》。


《Processing语言权威指南》封面
《Processing语言权威指南》封面
此外,如果对用代码描述物理世界有兴趣可以看看《The Nature of Code》。


最后推荐的是《Visualing Data》,意思是数据可视化。


以上4本书的所以代码例子都直接包含在processing的example中。


/以下内容来自wiki/


Processing (programming language)

[hide]This article has multiple issues. Please helpimprove itor discuss these issues on thetalk page.This article needs additional citations forverification.(January 2013)

Processingis an open source programming languageand integrated development environment(IDE) builtfor the electronic arts,new media art, andvisual designcommunities with the purpose of teaching thefundamentals ofcomputer programmingin a visual context, and to serve as the foundation for electronicsketchbooks. The project was initiated in 2001 byCasey Reasand Benjamin Fry, both formerly of theAesthetics and Computation Group at the MIT Media Lab. One of the stated aims of Processing is to act as atool to get non-programmers started with programming, through the instant gratification of visual feedback.The language builds on theJava language, but uses a simplified syntax and graphics programming model.

Features

Processing includes asketchbook, a minimal alternative to anintegrated development environment(IDE) fororganizing projects.

Every Processing sketch is actually a subclass of thePAppletJava class which implements most of theProcessing language's features.

When programming in Processing, all additional classes defined will be treated asinner classeswhen thecode is translated into pure Java before compiling. This means that the use of static variables and methods inclasses is prohibited unless you explicitly tell Processing that you want to code in pure Java mode.

Processing also allows for users to create their own classes within the PApplet sketch. This allows forcomplex data types that can include any number of arguments and avoids the limitations of solely usingstandard data types such as: int (integer), char (character), float (real number), and color (RGB, ARGB, hex).

ExamplesHello World

The Processing equivalent of aHello World programis simply to draw a line:[1]

The following code is a better example of the look and feel of the language.

//Hello mouse.

voidsetup() {size(400, 400);

       stroke(255);       background(192, 64, 0);

}
voiddraw() {

}

line(150, 25, mouseX, mouseY);

United States presidential election map

The next example shows a map of the results of the2008 USA presidential election. Blue denotes states wonbyBarack Obama, and red denotes those won byJohn McCain. (Note: this map does not show theNebraskadistrict in which Obama won an elector.)

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" };

voidsetup() {
size(950, 600);
// The file Blank_US_Map.svg can be found at Wikimedia Commonsusa =

loadShape("http://upload.wikimedia.org/wikipedia/commons/3/32/Blank_US_Map.svg");

smooth(); // Improves the drawing quality of the SVG

noLoop();}

voiddraw() {
background(255);
// Draw the full map
shape(usa, 0, 0);
// Blue denotes states won by ObamastatesColoring(Obama , color(0, 0, 255));// Red denotes states won by McCainstatesColoring(McCain, color(255, 0, 0));// Save the map as image
saveFrame("map output.png");

}
voidstatesColoring(String[] states,intc){

for(inti = 0; i < states.length; ++i) {PShape state = usa.getChild(states[i]);
// Disable the colors found in the SVG filestate.disableStyle();
// Set our own coloring
fill(c);
noStroke();
// Draw a single state
shape(state, 0, 0);

}}

Related projectsDesign By Numbers

Processing was based on the original work done onDesign By Numbersproject in MIT. It shares many of thesame ideas and is a direct child of that experiment.

Wiring, Arduino, and Fritzing

Processing has spawned another project,Wiring, which uses the Processing IDE with a simplified version oftheC++language as a way to teach artists how to programmicrocontrollers. There are now two separatehardware projects, Wiring andArduino, using the Wiring environment and language.Fritzingis anothersoftware environment of the same sort, which helps designers and artists to document their interactiveprototypes and to take the step from physical prototyping to actual product.

Mobile Processing

Another spin-off project, now defunct, isMobile Processingby Francis Li, which allowed software writtenusing the Processing language and environment to run on Java powered mobile devices. Today some of the

same functionality is provided by Processing itself.[2]

Processing.js

Main article: Processing.js

In 2008, John Resigported Processing toJavaScriptusing the Canvas elementfor rendering,[3]allowingProcessing to be used in modern web browsers without the need for a Java plugin. Since then, the opensource community including students atSeneca Collegehave taken over the project.

iProcessing

iProcessing was built to help people develop nativeiPhoneapplications using the Processing language. It isan integration of theProcessing.jslibrary and a Javascript application framework for iPhone.

Spde

Spde (standing for Scala Processing Development Environment) replaces Processing's reduced Java syntaxand custom preprocessor with the off-the-shelfScalaprogramming language which alsoruns onthe Javaplatformand enforces some of the same restrictions such as disallowingstatic methods, while also allowing

more concise code, and supportingfunctional programming.[4][5][6]Quil

Quil (formerly namedclj-processing) is a wrapper for Processing in theClojurelanguage, a Lispthat runs onthe Java platform.[7]

Awards

In 2005 Reas and Fry won the prestigious Golden Nica award fromArs Electronicain its Net Vision categoryfor their work on Processing.

Ben Fry won the 2011 National Design Awardgiven by the Smithsonian Cooper-Hewitt National DesignMuseumin the category of Interaction Design. The award statement says:

"Drawing on a background in graphic design and computer science, Ben Fry pursues a long-held fascinationwith visualizing data. As Principal of Fathom Information Design in Boston, Fry develops software, printedworks, installations, and books that depict and explain topics from the human genome to baseball salaries tothe evolution of text documents. With Casey Reas, he founded the Processing Project, an open-sourceprogramming environment for teaching computational design and sketching interactive-media software. Itprovides artists and designers with accessible means of working with code while encouraging engineers andcomputer scientists to think about design concepts."

License

Processing's core libraries, the code included in exported applications and applets, is licensed under theGNULesser General Public License, allowing users to release their original code with a choice of license.

The IDE is licensed under theGNU General Public License.

Name

Originally, Processing had the URL at proce55ing.net, because theprocessing domain was taken. EventuallyReas and Fry acquired the domain. Although the name had a combination of letters and numbers, it was stillpronouncedprocessing. They do not prefer the environment being referred to asProce55ing. Despite thedomain name change, Processing still uses the termp5 sometimes as a shortened name (p5specifically isused notp55).

See also

Cinder(C++)

page4image19416

OpenFrameworks(C++)JavaFX
Max (software)Processing.js

FootnotesReferences

Bohnacker, Hartmut; Gross, Benedikt; Laub, Julia; Lazzeroni, Claudius (August 22, 2012),GenerativeDesign: Visualize, Program, and Create with Processing(1st ed.),Princeton Architectural Press,
p. 472,
ISBN 978-1616890773
Glassner, Andrew (August 9, 2010),Processing for Visual Artists: How to Create Expressive Imagesand Interactive Art(1st ed.), A K Peters/CRC Press, p. 955,ISBN 1-56881-716-9

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),Programming Interactivity: A Designer's Guide to Processing,Arduino, and Openframeworks(1st ed.),O'Reilly Media, p. 736,ISBN 0-596-15414-3

Terzidis, Kostas (May 11, 2009),Algorithms for Visual Design Using the Processing Language(1sted.), Wiley, p. 384,ISBN 0-470-37548-5
Reas, Casey; Fry, Ben; Maeda, John (September 30, 2007),Processing: A Programming Handbookfor Visual Designers and Artists(1st ed.), The MIT Press, p. 736,ISBN 0-262-18262-9

Fry, Ben (January 11, 2008),Visualizing Data(1st ed.),O'Reilly Media, p. 382,ISBN 0-596-51455-7Greenberg, Ira (May 28, 2007),Processing: Creative Coding and Computational Art (Foundation)(1st ed.), friends of ED, p. 840, ISBN 1-59059-617-X
Shiffman, Daniel (August 19, 2008),Learning Processing: A Beginner's Guide to ProgrammingImages, Animation, and Interaction(1st ed.), Morgan Kaufmann, p. 450,ISBN 0-12-373602-1Faludi, Robert (January 4, 2011),Building Wireless Sensor Networks: with ZigBee, XBee, Arduino,and Processing(1st ed.),O'Reilly Media, p. 320,ISBN 978-0-596-80774-0

Vantomme, Jan (September 20, 2012),Processing 2, Creative Programming Cookbook(1st ed.),PacktPublishing, p. 291,ISBN 9781849517942
Pearson, Matt (June 1, 2011),Generative Art, A practical guide using Processing(1st ed.), Manning,
p. 240,
ISBN 9781935182627

Jan, Vantomme (September 20, 2012),Processing 2: Creative Programming Cookbook(1st ed.),Packt Publishing, p. 306, ISBN 978-1849517942
Sauter, Daniel (May 2, 2013),Rapid Android Development: Build Rich, Sensor-Based Applicationswith Processing(1st ed.), Pragmatic Bookshelf, p. 300,ISBN 978-1937785062

Gradwohl, Nikolaus (May 20, 2013),Processing 2: Creative Coding Hotshot(1st ed.),PacktPublishing, p. 266,ISBN 978-1782166726

External links

page5image18976page5image19136page5image19296page5image19456page5image19616page5image19776page5image19936page5image20096page5image20256page5image20416page5image20576page5image20736page5image20896page5image21056page5image21216page5image21376page5image21536page5image21696page5image21856

Official website

page5image22504

Processing.js official websiteOfficial wiki
Official forum
OpenProcessing - sketches libraryProcessing.js blog

Processing.js Google group
Working with Processing and Arduino
Website (German) to the book with nice source-codes and examples
Ruby-Processing, which is a ruby wrapper around the Processing code art framework, built usingJRuby

page6image3736page6image3896page6image4056page6image4216page6image4376page6image4536page6image4696page6image4856page6image5016




虽然还是不太懂,不过看样子是可以图形编程的工具,没猜错的话= =

0 0
原创粉丝点击