在某群里听说了这个软件,百度下它到底能做什么。
/以下内容来自百度/
简介
虽然图形用户界面(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中。
Processing (programming language)
[hide]This article has multiple issues. Please help improve it or discuss these issues on the talk page.This article needs additional citations for verification. (January 2013)
Processing is an open source programming language and integrated development environment (IDE) builtfor the electronic arts, new media art, and visual design communities with the purpose of teaching thefundamentals of computer programming in a visual context, and to serve as the foundation for electronicsketchbooks. The project was initiated in 2001 by Casey Reas and 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 the Java language, but uses a simplified syntax and graphics programming model.
Features
Processing includes a sketchbook, a minimal alternative to an integrated development environment (IDE) fororganizing projects.
Every Processing sketch is actually a subclass of the PApplet Java class which implements most of theProcessing language's features.
When programming in Processing, all additional classes defined will be treated as inner classes when 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 a Hello World program is simply to draw a line:[1]
The following code is a better example of the look and feel of the language.
//Hello mouse.
void setup() {size(400, 400);
stroke(255);
background(192, 64, 0);
}
void draw() {
}
line(150, 25, mouseX, mouseY);
United States presidential election map
The next example shows a map of the results of the 2008 USA presidential election. Blue denotes states wonby Barack Obama, and red denotes those won by John McCain. (Note: this map does not show the Nebraskadistrict 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" };
void setup() {
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();}
void draw() {
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");
}
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 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 on Design By Numbers project 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 ofthe C++ language as a way to teach artists how to program microcontrollers. There are now two separatehardware projects, Wiring and Arduino, using the Wiring environment and language. Fritzing is 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, is Mobile Processing by 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 Resig ported Processing to JavaScript using the Canvas element for rendering,[3] allowingProcessing to be used in modern web browsers without the need for a Java plugin. Since then, the opensource community including students at Seneca College have taken over the project.
iProcessing
iProcessing was built to help people develop native iPhone applications using the Processing language. It isan integration of the Processing.js library 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-shelf Scala programming language which also runs on the Javaplatform and enforces some of the same restrictions such as disallowing static methods, while also allowing
more concise code, and supporting functional programming.[4][5][6]Quil
Quil (formerly named clj-processing) is a wrapper for Processing in the Clojure language, a Lisp that runs onthe Java platform.[7]
Awards
In 2005 Reas and Fry won the prestigious Golden Nica award from Ars Electronica in its Net Vision categoryfor their work on Processing.
Ben Fry won the 2011 National Design Award given by the Smithsonian Cooper-Hewitt National DesignMuseum in 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 the GNULesser General Public License, allowing users to release their original code with a choice of license.
The IDE is licensed under the GNU General Public License.
Name
Originally, Processing had the URL at proce55ing.net, because the processing domain was taken. EventuallyReas and Fry acquired the domain. Although the name had a combination of letters and numbers, it was stillpronounced processing. They do not prefer the environment being referred to as Proce55ing. Despite thedomain name change, Processing still uses the term p5 sometimes as a shortened name (p5 specifically isused not p55).
See also
Cinder (C++)
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
Official website
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
虽然还是不太懂,不过看样子是可以图形编程的工具,没猜错的话= =