Processing 02
-
Upload
alexdebarros -
Category
Documents
-
view
25 -
download
0
description
Transcript of Processing 02
-
Introduo Programao Grfica com ProcessingNotas para a Formao @ Audincia Zero
Pedro Amado Porto, 2008-03-22
Este trabalho est licenciado sob uma Licena Creative Commons Atribuio-Uso No-Comercial-Partilha nos termos da mesma Licena 2.5 Portugal. Para ver uma cpia desta licena, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pt/ ou envie uma carta para Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
http://creativecommons.org/licenses/by-nc-sa/2.5/pt/http://creativecommons.org/licenses/by-nc-sa/2.5/pt/
-
2 / 45
Pedro Amado, 2008-03-18 Notas para a Formao de Introduo Programao com Processing
Qualquer correco ou sugesto:[email protected]
Para mais informaes e slides da sesso:http://pedamado.googlepages.comhttp://pedamado.wordpress.com/2008/03/22/processing-audiencia-zero/
Manual da formao original disponvel aqui:http://www.box.net/shared/n3ew1kqskc
Ficheiros e Exemplos:http://www.box.net/shared/f0rhr90ws8
http://pedamado.wordpress.com/2008/03/22/processing-audiencia-zero/mailto:[email protected]://pedamado.googlepages.comhttp://pedamado.wordpress.com/2008/03/22/processing-audiencia-zero/http://pedamado.wordpress.com/2008/03/22/processing-audiencia-zero/http://www.box.net/shared/n3ew1kqskchttp://www.box.net/shared/f0rhr90ws8
-
3 / 45
Pedro Amado, 2008-03-18 Notas para a Formao de Introduo Programao com Processing
ResumoAs presentes notas servem de apoio s sesses (2) de formao em Introduo programao Grfica com Processing na Audincia Zero.
Esta no uma sesso de aprendizagem em programao!
A formao consiste:Elementos fundamentais de programao, Exposio de exemplos de artistas conceituados Desafios para criar aplicaes interactivas com um grau sucessivo de independnciaUma aplicao grfica interactiva
http://pedamado.wordpress.com/2008/03/22/processing-audiencia-zero/
-
4 / 45
Pedro Amado, 2008-03-18 Notas para a Formao de Introduo Programao com Processing
Dia 1Apresentao
Pedro AmadoMestre em Arte Multimdia (2007)Licenciatura em Design de Comunicao (2002).
Assistente Convidado no Departamento de Arte e Comunicao (DeCA) da Universidade de Aveiro (UA) onde lecciona Multimdia.
Tcnico Superior de Design na Faculdade de Belas Artes da Universidade do Porto (FBAUP 2003-2007)
http://pedamado.wordpress.com/2008/03/22/processing-audiencia-zero/
-
5 / 45
Pedro Amado, 2008-03-18 Notas para a Formao de Introduo Programao com Processing
IntroduoPblico-AlvoAlunos de Design de Comunicao (Designers);Alunos de Artes Plsticas (Artistas);Pessoas interessadas em Multimdia Digital (Toda a gente).
Requisitos?Curiosidade!
Porqu programar?Um programa um jogo de algoritmos construdos para resolver ou simplificar um problema.Because an artist is expected to understand his/her medium.Because this is true digital design.
http://pedamado.wordpress.com/2008/03/22/processing-audiencia-zero/
-
6 / 45
Pedro Amado, 2008-03-18 Notas para a Formao de Introduo Programao com Processing
Porqu o Processing?Open Source1. Verso Beta (ainda) o que o torna ideal 2. Multi-plataforma. MacOS, Win, Unix.3. Poder do JAVA4.
Simples*a. Adequa-se ao processo de ensino*b. Faz uma boa transio entre linguagens de baixo c.
nvel e scripting de muito alto nvel;Documentao extensa. d.
H diversos websites dedicados programao, especialmente em JAVA e muitos dedicados ao Processing ver a seco de links;
(muito) Extensvele. Exporta Executveis e Applets para a Web5. Comunidade6.
http://pedamado.wordpress.com/2008/03/22/processing-audiencia-zero/
-
7 / 45
Pedro Amado, 2008-03-18 Notas para a Formao de Introduo Programao com Processing
Como obter e usar: Download & Install
Site: http://www.processing.org/
Download: http://www.processing.org/download/index.html
Documentao: http://www.processing.org/reference/index.html
Aprendizagem: http://www.processing.org/learning/index.html
http://pedamado.wordpress.com/2008/03/22/processing-audiencia-zero/http://www.processing.org/http://www.processing.org/download/index.htmlhttp://www.processing.org/reference/index.htmlhttp://www.processing.org/learning/index.html
-
8 / 45
Pedro Amado, 2008-03-18 Notas para a Formao de Introduo Programao com Processing
IDE(PDE)
App01, Hello World!
http://pedamado.wordpress.com/2008/03/22/processing-audiencia-zero/
-
9 / 45
Pedro Amado, 2008-03-18 Notas para a Formao de Introduo Programao com Processing
Do Algoritmo arte (conceptual) e vice-versa. O desenho como um processo racionalConcept art is a form of illustration where the main goal is to convey a visual representation of a design, idea, and/or mood for use in movies, video games, or comic books before it is put into the final product.
The idea becomes a machine that makes the art. Sol LeWitt, Paragraphs on Conceptual Art, Art Forum, 1967.
http://pedamado.wordpress.com/2008/03/22/processing-audiencia-zero/
-
10 / 45
Pedro Amado, 2008-03-18 Notas para a Formao de Introduo Programao com Processing
ExemplosBen FryAnemone, 2005
Valence, 1999
Casey ReasTi, 2004
Process 4, 2005
Articulate, 2004
Martin WattenbergThinking Machines 4, 2001-04
http://pedamado.wordpress.com/2008/03/22/processing-audiencia-zero/
-
11 / 45
Pedro Amado, 2008-03-18 Notas para a Formao de Introduo Programao com Processing
Alternativas ao ProcessingFlash http://www.adobe.com/
NodeBoxhttp://nodebox.net/code/index.php/Home
Scriptographerhttp://www.scriptographer.com/
Max/MSPhttp://www.cycling74.com/products/maxmsp
PureDatahttp://puredata.info/
http://pedamado.wordpress.com/2008/03/22/processing-audiencia-zero/http://www.adobe.com/products/flash/?ogn=EN_US-gntray_prod_flash_homehttp://nodebox.net/code/index.php/Homehttp://www.scriptographer.com/http://www.cycling74.com/products/maxmsphttp://puredata.info/
-
12 / 45
Pedro Amado, 2008-03-18 Notas para a Formao de Introduo Programao com Processing
SmallTalk / Squeakhttp://www.squeak.org/
Flexhttp://flex.org/ | http://labs.adobe.com/technologies/flex/
MS Silverlighthttp://silverlight.net/
JAVAhttp://java.sun.com/
OpenFrameworkshttp://openframeworks.cc/
( C++ http://www.cplusplus.com/ )
http://pedamado.wordpress.com/2008/03/22/processing-audiencia-zero/http://www.squeak.org/http://flex.org/http://labs.adobe.com/technologies/flex/http://silverlight.net/http://java.sun.com/http://openframeworks.cc/http://www.cplusplus.com/
-
13 / 45
Pedro Amado, 2008-03-18 Notas para a Formao de Introduo Programao com Processing
Conceitos Gerais de Programao
AlgoritmiaUm algoritmo pode ser descrito usando vrias linguagens ou lnguas:
Portugus; Pseudo-cdigo, uma linguagem entre a linguagem
natural e uma linguagem de programao;Fluxogramas, descrio grfica de um algoritmo; Linguagem de Programao
http://pedamado.wordpress.com/2008/03/22/processing-audiencia-zero/
-
14 / 45
Pedro Amado, 2008-03-18 Notas para a Formao de Introduo Programao com Processing
Lgica e SintaxeUm programa pode ser analisado segundo duas perspectivas:
Sintaxe: o cdigo est de acordo com as regras gramaticais da linguagem de programao utilizada?Lgica: o cdigo executa aquilo que ns pretendemos?
Um programa pode estar sintacticamente correcto (regra geral o compilador detecta estes erros), mas logicamente estar errado.
Nvel de detalhe...
http://pedamado.wordpress.com/2008/03/22/processing-audiencia-zero/
-
15 / 45
Pedro Amado, 2008-03-18 Notas para a Formao de Introduo Programao com Processing
Comentrios e DocumentaoSintaxe introduzida: //, /* */
App02, Comentrios
Expresses, instrues e terminadores Sintaxe introduzida: ;
http://pedamado.wordpress.com/2008/03/22/processing-audiencia-zero/
-
16 / 45
Pedro Amado, 2008-03-18 Notas para a Formao de Introduo Programao com Processing
Sensibilidade caixa (Mm)O Processing sensvel ao uso de maisculas e de minusculas. Escrever minsculas NO a mesma coisa que escrever MINUSCULAS.
Espao em brancoO Processing insensvel ao espao em branco entre funes, expresses e/ou literais.
Funes e callbacks Sintaxe introduzida: () {}Conceitos introduzidos: Funo, Parmetros, ndice de acesso, Bloco de cdigo
http://pedamado.wordpress.com/2008/03/22/processing-audiencia-zero/
-
17 / 45
Pedro Amado, 2008-03-18 Notas para a Formao de Introduo Programao com Processing
Consola e mensagensSintaxe introduzida: print(), println();Conceitos introduzidos: Consola, Debug, Funo, Mensagem
App04, Print
Dados/Literais
(Inserir diagrama dos elementos do cdigo)
http://pedamado.wordpress.com/2008/03/22/processing-audiencia-zero/
-
18 / 45
Pedro Amado, 2008-03-18 Notas para a Formao de Introduo Programao com Processing
CoordenadasSintaxe introduzida: size();
Processing uses a Cartesian coordinate system with the origin in the upper-left corner. If your program is 320 pixels wide and 240 pixels high, coordinate [0, 0] is the upper-left pixel and coordinate [320, 240] is in the lower-right. The
last visible pixel in the lower-right corner of the screen is at position [319, 239] because pixels are drawn to the right and below the coordinate.
http://pedamado.wordpress.com/2008/03/22/processing-audiencia-zero/
-
19 / 45
Pedro Amado, 2008-03-18 Notas para a Formao de Introduo Programao com Processing
PrimitivasSintaxe introduzida: point(), line(), rect(), ellipse(), bezier()
App05, Primitivas
Sintaxe Extra: quad(),curve(), rectMode(), ellipseMode(), curveVertex(), bezierVertex();
App06, Bezier
http://pedamado.wordpress.com/2008/03/22/processing-audiencia-zero/
-
20 / 45
Pedro Amado, 2008-03-18 Notas para a Formao de Introduo Programao com Processing
CorSintaxe introduzida: background(), fill(), stroke(), noFill(), noStroke() Sintaxe Extra: color()
Conceitos: RGB+A (Alpha)
App07, Cor
http://pedamado.wordpress.com/2008/03/22/processing-audiencia-zero/
-
21 / 45
Pedro Amado, 2008-03-18 Notas para a Formao de Introduo Programao com Processing
Atributos/Modos de DesenhoSintaxe introduzida: smooth(), strokeWeight(), strokeCap(), Sintaxe Extra: ellipseMode(), rectMode()
App08, Atributos
http://pedamado.wordpress.com/2008/03/22/processing-audiencia-zero/
-
22 / 45
Pedro Amado, 2008-03-18 Notas para a Formao de Introduo Programao com Processing
Variveis e Tipos de DadosTodos os dados armazenados em memoria e ou manipulados pelo computador tem uma natureza especfica.
Os valores/variveis utilizadas nas operaes tm de ser compatveis Tm de ser do mesmo tipo
SimplesTipos simples so tipos cujos valores so atmicos, i.e., no podem ser decompostos
NumricoInteiro- Real-
http://pedamado.wordpress.com/2008/03/22/processing-audiencia-zero/
-
23 / 45
Pedro Amado, 2008-03-18 Notas para a Formao de Introduo Programao com Processing
Alfanumrico (cadeia de caracteres ou string)1 (string) diferente de 1 (nmero)
Lgico (verdadeiro ou falso - boolean)
Compostos(Complexos)*Tipos complexos so tipos compostos por vrios elementos simples:
Vector (Array em ingls no confundir com a palavra inglesa vector): uma lista de elementos do mesmo tipo que podem ser acedidos via um ndice. Matriz: vector multi-dimensional; Estrutura (Struct): agregao de vrios tipos de dados;
http://pedamado.wordpress.com/2008/03/22/processing-audiencia-zero/
-
24 / 45
Pedro Amado, 2008-03-18 Notas para a Formao de Introduo Programao com Processing
Tipos de variveisSintaxe introduzida: int, float, boolean, char, String*
App09, Variaveis
Declarar e inicializar (Strict Typing)Sintaxe introduzida: = //atribuir
Visibilidade (Scope)*Conceitos introduzidos: Global e Local
Variveis do Processing*Sintaxe introduzida: width, height
http://pedamado.wordpress.com/2008/03/22/processing-audiencia-zero/
-
25 / 45
Pedro Amado, 2008-03-18 Notas para a Formao de Introduo Programao com Processing
Converso de dados*Sintaxe introduzida: boolean(), byte(), char(), int(), float(), str()
(Inserir App aqui?)
OperadoresAritmticosSintaxe introduzida: +, -, *, /, %
App10, Operadores Aritmticos
http://pedamado.wordpress.com/2008/03/22/processing-audiencia-zero/
-
26 / 45
Pedro Amado, 2008-03-18 Notas para a Formao de Introduo Programao com Processing
PrecednciaSintaxe introduzida: ()
Abreviaes*++,--,+=, -=, *=, /=, -
App11, Abreviaes
Restries*Sintaxe introduzida: ceil(), floor(), round(), min(), max()
App12, Restries
http://pedamado.wordpress.com/2008/03/22/processing-audiencia-zero/
-
27 / 45
Pedro Amado, 2008-03-18 Notas para a Formao de Introduo Programao com Processing
Operadores RelacionaisSintaxe introduzida: >, =,
-
28 / 45
Pedro Amado, 2008-03-18 Notas para a Formao de Introduo Programao com Processing
Estrutura de um programaModo Simples (Bsico)
This mode is used drawing static images and learning fundamentals of programming. Simple lines of code have a direct representation on the screen.
Modo ContnuoSintaxe introduzida: setup(), draw(), frameRate(), frameCount(), loop(), noLoop(), redraw()
Conceitos introduzidos: Bloco de Cdigo, Callbacks, Funes, Visibilidade das variveis
http://pedamado.wordpress.com/2008/03/22/processing-audiencia-zero/
-
29 / 45
Pedro Amado, 2008-03-18 Notas para a Formao de Introduo Programao com Processing
This mode provides a setup() structure that is run once when the program begins and a draw() structure which by default
continually loops through the code inside. This additional structure allows writing custom functions and classes and using keyboard and mouse events.
App16, Modo Contnuo
Condies (e blocos de cdigo)Sintaxe introduzida: if(), else(), {}, switch()*, case*
App17, Condies
http://pedamado.wordpress.com/2008/03/22/processing-audiencia-zero/
-
30 / 45
Pedro Amado, 2008-03-18 Notas para a Formao de Introduo Programao com Processing
Ciclos ou Iteraes (e Nested Iterations)Sintaxe introduzida: for()
App18, Iteraes
http://pedamado.wordpress.com/2008/03/22/processing-audiencia-zero/
-
31 / 45
Pedro Amado, 2008-03-18 Notas para a Formao de Introduo Programao com Processing
TardePrtica I Pong
App19, Pong Simples
App20, Pong
http://pedamado.wordpress.com/2008/03/22/processing-audiencia-zero/
-
32 / 45
Pedro Amado, 2008-03-18 Notas para a Formao de Introduo Programao com Processing
Sintaxe UISintaxe introduzida: mouseX, mouseY, pmouseX, pmouseY, mousePressed, mouseButton, cursor(), noCursor(), key, keyPressed, keyCode, switch()*, case*
App21, SintaxeUI
http://pedamado.wordpress.com/2008/03/22/processing-audiencia-zero/
-
33 / 45
Pedro Amado, 2008-03-18 Notas para a Formao de Introduo Programao com Processing
Dia 2
ManhConceitos Gerais de Programao
http://pedamado.wordpress.com/2008/03/22/processing-audiencia-zero/
-
34 / 45
Pedro Amado, 2008-03-18 Notas para a Formao de Introduo Programao com Processing
MatemticaSintaxe introduzida: constrain(), dist(),random()
Sintaxe extra: abs(), sqrt(), pow(), norm(), lerp(), map()
App22, Matemtica
http://pedamado.wordpress.com/2008/03/22/processing-audiencia-zero/
-
35 / 45
Pedro Amado, 2008-03-18 Notas para a Formao de Introduo Programao com Processing
Trigonometria Sintaxe introduzida: PI, sin(), cos(), radians()
Sintaxe extra: atan2(), degrees()
App23, Trigonometria
http://pedamado.wordpress.com/2008/03/22/processing-audiencia-zero/
-
36 / 45
Pedro Amado, 2008-03-18 Notas para a Formao de Introduo Programao com Processing
TransformaoSintaxe introduzida: translate(), rotate()
Sintaxe extra: scale(), pushMatrix(), popMatrix();
App24, Transformaes
App24b, Transformaes
http://pedamado.wordpress.com/2008/03/22/processing-audiencia-zero/
-
37 / 45
Pedro Amado, 2008-03-18 Notas para a Formao de Introduo Programao com Processing
Aces, Gatilhos e Eventos*Sintaxe introduzida: mousePressed, mouseReleased, mouseMoved, mouseDragged, keyPressed, keyReleased
App25, Aces Gatilhos e Eventos
http://pedamado.wordpress.com/2008/03/22/processing-audiencia-zero/
-
38 / 45
Pedro Amado, 2008-03-18 Notas para a Formao de Introduo Programao com Processing
Dados complexos*Vectores e Matrizes
Sintaxe introduzida: Array, [], new, Array.length, expand()
Sintaxe extra:append(), shorten(),arraycopy()
App26, Vectores
App26b, Vectores
http://pedamado.wordpress.com/2008/03/22/processing-audiencia-zero/
-
39 / 45
Pedro Amado, 2008-03-18 Notas para a Formao de Introduo Programao com Processing
Funes e Mtodos (Parmetros)Sintaxe introduzida: void, return
Conceitos Introduzidos: Bloco de Cdigo, Parmetros e Retorno
App27, Funes e Parmetros
Classes e ObjectosSintaxe introduzida: class, Object, . //String.length
App28, Classes e Objectos
http://pedamado.wordpress.com/2008/03/22/processing-audiencia-zero/
-
40 / 45
Pedro Amado, 2008-03-18 Notas para a Formao de Introduo Programao com Processing
Texto e TipografiaSintaxe introduzida: PFont, loadFont(), textFont(), text(), textSize(), textLeading(), textAlign(), textWidth()
App29, Texto
http://pedamado.wordpress.com/2008/03/22/processing-audiencia-zero/
-
41 / 45
Pedro Amado, 2008-03-18 Notas para a Formao de Introduo Programao com Processing
Imagens e PixelsSintaxe introduzida: PImage, loadImage(), image(), tint(), noTint(), get(), set(), save(), saveImage()
App30, Imagens
http://pedamado.wordpress.com/2008/03/22/processing-audiencia-zero/
-
42 / 45
Pedro Amado, 2008-03-18 Notas para a Formao de Introduo Programao com Processing
Exerccio Clculo de mdia de Idades
App31, Mdia Consola
App32, Mdia Primitivas
App33, Mdia Grfico
http://pedamado.wordpress.com/2008/03/22/processing-audiencia-zero/
-
43 / 45
Pedro Amado, 2008-03-18 Notas para a Formao de Introduo Programao com Processing
Pong I Pontuao e/ou imagensBibliotecas: Quicktime, controlP5, OpenGL*
Pratica II Field of Flowers IBibliotecas: PDF, OpenGL
http://pedamado.wordpress.com/2008/03/22/processing-audiencia-zero/
-
44 / 45
Pedro Amado, 2008-03-18 Notas para a Formao de Introduo Programao com Processing
Tarde
Pratica III Field of Flowers IIInteractivo Bibliotecas: Oscilator, jTablet
Pong II Wii Connect Interactivo Bibliotecas: WiiMote
Pong III Computer Vision Interactivo jMyron
http://pedamado.wordpress.com/2008/03/22/processing-audiencia-zero/
-
45 / 45
Pedro Amado, 2008-03-18 Notas para a Formao de Introduo Programao com Processing
Bibliografia e RefernciasProcessing: A Programming Handbookfor Visual Designers and ArtistsCasey Reas and Ben Fry (Foreword by John Maeda).Published 24 August 2007, MIT Press. 736 pages. Hardcover.
CARDOSO, Jorge Sebenta de Programao Multimdia [Em linha]. UCP: Porto, 2006. 16 Fev 2006 Disponvel na WWW: URL: http://teaching.jotgecardoso.org/pm.
MENDES, Antnio Jos; MARCELINO, Maria Jos Fundamentos de Programao em Java 2. FCA: Lisboa, [s.d.]. ISBN 972-722-423-7
Manual original da Formao + Links
http://pedamado.wordpress.com/2008/03/22/processing-audiencia-zero/http://teaching.jotgecardoso.org/pmhttp://www.box.net/shared/hyvm3g1yay