SlideShare uma empresa Scribd logo
1 de 23
14 setembro 2010




começando a programar para
artes visuais
marlus araujo
de calculadoras aos computadores
algoritmos
frequentemente ilustrado pelo exemplo de
 uma receita, embora muitos tenham mais
               complexidade

podem repetir passos ou necessitar decisões
         (comparações lógicas)

a lógica booleana define tanto o modelo de
     microchips quanto o de softwares
linguagem
    é a primeira interface entre nós e os
               computadores

existem em vários níveis: binário, hexadecimal,
 assembler, linguagens baixo nível (C) e alto
                 nível (AS3)

    evolução metodológica: programação
    orientada a objetos e design patterns




                                                  scratch.mit.edu - a programming language for everyone
interfaces
          gráficas
1963 sketchpad
1973 xerox alto / filme ‘westworld’
1979 apple lisa
1982 autocad
1984 macintosh
1985 windows 1.0
1987 photoshop / quark
imagens em
 tempo real
  software playlist+effects
         modul8, isadora


software drag, drop, connect
   max-msp, puredata, vvvv, fnk

    software ide+code
  adobe flash, silverlight, unity3D

   programming libraries
   open frameworks, processing
processing
 criado por Casey Reas e Ben Fry (MIT)para
facilitar a criação de peças gráficas interativas

     sketching with code, 1 peça por vez

estimula a prototipagem para explorar maior
     número de idéias em pouco tempo

             foco na flexibilidade
programação
variáveis
guardam valores na memória para          int a; // declarando
serem usadas posteriormente num          a = 5; // definindo valor de ‘a’
programa                                 int a = 10; // erro ao declarar 2a vez

podem ser usadas várias vezes e seu      int x = 10; // inteiro
                                         int y = 20;
valor modificado durante o programa
                                         float z = 1.5; // fração
servem para evitar repetição no código
                                         boolean visivel = true;

                                         String evento = “Convescote”;




 tipos de variáveis do Processing
operadores
símbolos que o compilador usa para   int x = 10; // 10 é valor de x
executar cálculos e comandos no      int y = 20;
                                     int z = x + y * 2; // 50
programa
                                     // x é igual a y?
                                     boolean teste = (x == y); // false

                                     // x+y diferente de z?
                                     boolean teste2 = (x+y) != z; // true
métodos/funções




são os blocos básicos de todos os        int x = 10;
                                         int y = triplica(x); //30
programas
                                         void setup() {
foco na modularidade: funcionam como        aumentaX( 40 ); // x = 50
software independentes dentro dos           y = triplica( y ); // 90
                                         }
programas
                                         void aumentaX(int n){
podem retornar valores ou apenas            x = x + n; // ou (x += n;)
executar uma série de operações (void)   }

                                         int triplica (int n){
                                            return n*3;
                                         }
condições
if / else são métodos que avaliam se
uma expressão é verdadeira (true) ou
falsa (false)

condições são a base dos algoritmos e
teorias formais de lógica, fornecem aos
programas momentos de decisão em
que caminho percorrer: verdadeiro e
falso, ligado e desligado, válido e
inválido
condições e repetição
array
é uma coleção / lista de variáveis

possibilita o uso de muitas variáveis de
mesmo tipo e evita a criação de um
nome para cada

utilizada para maioria de operações de
repetição
objetos e classes   OOP concept: programação orientada
                    a objetos

                    divide as idéias em blocos menores: ex.
                    órgãos são feitos de tecidos, tecidos
                    são feitos de células, e por aí vai
livros
protótipos
links
http://processing.org/
http://processing.org/exhibition/
http://processing.org/reference/
http://processing.org/learning/

http://sketch.processing.org/
http://www.luckybite.com/iprocessing/
http://www.openprocessing.org/

http://sanchothefat.com/labs/161/pjsbox
http://9elements.com/io/projects/html5/canvas/
http://www.theantenna.net/
http://www.wefeelfine.org/
http://universe.daylife.com/
http://www.escapemotions.com/experiments.html

http://www.openframeworks.cc/

http://scratch.mit.edu/
vídeos

         aquascript
         http://youtu.be/XZki5lGhHII



         I Want You To Want Me
         by Jonathan Harris and Sep Kamvar
         http://youtu.be/GZUaXDm4qik

         ACCESS
         an interactive art installation by Marie Sester
         http://youtu.be/678EaXPekFo


         hand from above
         http://vimeo.com/7042266
obrigado!
marlus@marlus.com

Mais conteúdo relacionado

Mais procurados

A linguagem de programação c
A linguagem de programação cA linguagem de programação c
A linguagem de programação cClausia Antoneli
 
5. Atribuições especiais; Arrays; Tipos de ciclos; Classes-pacote – Fundament...
5. Atribuições especiais; Arrays; Tipos de ciclos; Classes-pacote – Fundament...5. Atribuições especiais; Arrays; Tipos de ciclos; Classes-pacote – Fundament...
5. Atribuições especiais; Arrays; Tipos de ciclos; Classes-pacote – Fundament...Manuel Menezes de Sequeira
 
Semana 4: Atribuições especiais, matrizes, ciclos, classes pacote
Semana  4: Atribuições especiais, matrizes, ciclos, classes pacoteSemana  4: Atribuições especiais, matrizes, ciclos, classes pacote
Semana 4: Atribuições especiais, matrizes, ciclos, classes pacoteManuel Menezes de Sequeira
 
Python: a primeira mordida
Python: a primeira mordidaPython: a primeira mordida
Python: a primeira mordidaBonoBee
 
Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem Capolllorj
 
Curso de OO com C# - Parte 02 - Introdução ao C#
Curso de OO com C# - Parte 02 - Introdução ao C#Curso de OO com C# - Parte 02 - Introdução ao C#
Curso de OO com C# - Parte 02 - Introdução ao C#Leonardo Melo Santos
 
mod4-estruturas-dadosestaticas-ordenacao
mod4-estruturas-dadosestaticas-ordenacaomod4-estruturas-dadosestaticas-ordenacao
mod4-estruturas-dadosestaticas-ordenacaodiogoa21
 
3. Funções/repórteres e listas em Snap!; Utilização de variáveis – Fundamento...
3. Funções/repórteres e listas em Snap!; Utilização de variáveis – Fundamento...3. Funções/repórteres e listas em Snap!; Utilização de variáveis – Fundamento...
3. Funções/repórteres e listas em Snap!; Utilização de variáveis – Fundamento...Manuel Menezes de Sequeira
 
10+ Coisas Que Odeio Em Php
10+ Coisas Que Odeio Em Php10+ Coisas Que Odeio Em Php
10+ Coisas Que Odeio Em PhpAlmir Mendes
 
Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”
Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”
Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”Kratos879
 
Programando em C++ // Estrutura Básica
Programando em C++ // Estrutura Básica Programando em C++ // Estrutura Básica
Programando em C++ // Estrutura Básica Yuri Camelo
 
14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...
14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...
14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...Manuel Menezes de Sequeira
 

Mais procurados (18)

A linguagem de programação c
A linguagem de programação cA linguagem de programação c
A linguagem de programação c
 
5. Atribuições especiais; Arrays; Tipos de ciclos; Classes-pacote – Fundament...
5. Atribuições especiais; Arrays; Tipos de ciclos; Classes-pacote – Fundament...5. Atribuições especiais; Arrays; Tipos de ciclos; Classes-pacote – Fundament...
5. Atribuições especiais; Arrays; Tipos de ciclos; Classes-pacote – Fundament...
 
Semana 4: Atribuições especiais, matrizes, ciclos, classes pacote
Semana  4: Atribuições especiais, matrizes, ciclos, classes pacoteSemana  4: Atribuições especiais, matrizes, ciclos, classes pacote
Semana 4: Atribuições especiais, matrizes, ciclos, classes pacote
 
Interfaces e polimorfismo
Interfaces e polimorfismoInterfaces e polimorfismo
Interfaces e polimorfismo
 
Python: a primeira mordida
Python: a primeira mordidaPython: a primeira mordida
Python: a primeira mordida
 
Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem C
 
Curso de OO com C# - Parte 02 - Introdução ao C#
Curso de OO com C# - Parte 02 - Introdução ao C#Curso de OO com C# - Parte 02 - Introdução ao C#
Curso de OO com C# - Parte 02 - Introdução ao C#
 
mod4-estruturas-dadosestaticas-ordenacao
mod4-estruturas-dadosestaticas-ordenacaomod4-estruturas-dadosestaticas-ordenacao
mod4-estruturas-dadosestaticas-ordenacao
 
Introducao ao C#
Introducao ao C#Introducao ao C#
Introducao ao C#
 
3. Funções/repórteres e listas em Snap!; Utilização de variáveis – Fundamento...
3. Funções/repórteres e listas em Snap!; Utilização de variáveis – Fundamento...3. Funções/repórteres e listas em Snap!; Utilização de variáveis – Fundamento...
3. Funções/repórteres e listas em Snap!; Utilização de variáveis – Fundamento...
 
10+ Coisas Que Odeio Em Php
10+ Coisas Que Odeio Em Php10+ Coisas Que Odeio Em Php
10+ Coisas Que Odeio Em Php
 
Fascículo1java
Fascículo1javaFascículo1java
Fascículo1java
 
Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”
Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”
Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”
 
Introdução à Linguagem C
Introdução à Linguagem CIntrodução à Linguagem C
Introdução à Linguagem C
 
Programando em C++ // Estrutura Básica
Programando em C++ // Estrutura Básica Programando em C++ // Estrutura Básica
Programando em C++ // Estrutura Básica
 
Linguagem C - Vetores
Linguagem C - VetoresLinguagem C - Vetores
Linguagem C - Vetores
 
14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...
14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...
14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...
 
Mock Objects
Mock ObjectsMock Objects
Mock Objects
 

Semelhante a Processing: programação para artes visuais

Semelhante a Processing: programação para artes visuais (20)

Paradigmas de Linguagens de programacao - Aula #2
Paradigmas de Linguagens de programacao - Aula #2Paradigmas de Linguagens de programacao - Aula #2
Paradigmas de Linguagens de programacao - Aula #2
 
Aula5 introducao c
Aula5 introducao cAula5 introducao c
Aula5 introducao c
 
Aula5 introducao c
Aula5 introducao cAula5 introducao c
Aula5 introducao c
 
Aula python
Aula pythonAula python
Aula python
 
Java - Primeiros passos
Java - Primeiros passosJava - Primeiros passos
Java - Primeiros passos
 
Aula01
Aula01Aula01
Aula01
 
Usando o winplot
Usando o winplotUsando o winplot
Usando o winplot
 
Utilizandoo winplot
Utilizandoo winplotUtilizandoo winplot
Utilizandoo winplot
 
JavaScript: agora é sério
JavaScript: agora é sérioJavaScript: agora é sério
JavaScript: agora é sério
 
Javascript
JavascriptJavascript
Javascript
 
A linguagem java
A linguagem javaA linguagem java
A linguagem java
 
Python Training #1 ed.6
Python Training #1 ed.6 Python Training #1 ed.6
Python Training #1 ed.6
 
Estrutura de linguagem C++
Estrutura de linguagem C++Estrutura de linguagem C++
Estrutura de linguagem C++
 
Introdução à utilização de openFrameworks para o desenvolvimento de aplicaçõ...
Introdução à utilização de openFrameworks para  o desenvolvimento de aplicaçõ...Introdução à utilização de openFrameworks para  o desenvolvimento de aplicaçõ...
Introdução à utilização de openFrameworks para o desenvolvimento de aplicaçõ...
 
Interfaces e Porlimosfismo
Interfaces e PorlimosfismoInterfaces e Porlimosfismo
Interfaces e Porlimosfismo
 
Python Training #1, ed. 6
Python Training #1, ed. 6Python Training #1, ed. 6
Python Training #1, ed. 6
 
Aula2
Aula2Aula2
Aula2
 
Python Training #1 - ed5
Python Training #1 - ed5Python Training #1 - ed5
Python Training #1 - ed5
 
Aula4
Aula4Aula4
Aula4
 
Cartilha de Octave para Matematica Computacional.pdf
Cartilha de Octave para Matematica Computacional.pdfCartilha de Octave para Matematica Computacional.pdf
Cartilha de Octave para Matematica Computacional.pdf
 

Processing: programação para artes visuais

Notas do Editor