SlideShare uma empresa Scribd logo
13/10/2014
1
Processing
http://www.processing.org
Cláudio L. V. Oliveira
prof.claudioluis@fatecjd.edu.br
Outubro de 2014
• Processing é uma linguagem de programação
gratuita e de código aberto construída para
artes eletrônicas e projetos visuais;
• Tem como principal objetivo ensinar noções
básicas de programação de computador em
um contexto visual;
• Projeto iniciado em 2001 por Casey Reas e
Ben Fry, ambos ex-membros do Grupo de
Computação do MIT Media Lab.
Processing
13/10/2014
2
Processing
• O IDE da Processing inclui um sketchbook,
uma alternativa para organizar projetos sem
adotar o padrão utilizado na maioria das IDEs.
• Os sketches (programas) criados são uma
subclasse do Java Papplet, classe que
implementa a maioria das funcionalidades da
Processing.
• Ao compilar todo o código do sketch é
traduzido para Java.
Processing
• IDE da Processing:
13/10/2014
3
Processing
• Um dos objetivos da Processing é atuar como
uma ferramenta para não-programadores ou
iniciantes em programação, através da
satisfação imediata com um retorno visual,
por exemplo:
println("Olá Pessoal!");
Processing
• Fácil e rápido retorno visual, por exemplo,
desenho de uma elipse:
size (200, 200); // Tamanho da tela
ellipse (100, 100, 190, 190);
13/10/2014
4
Processing
• Definição de cores (método fill). Um único
parâmetro entre 0 e 255 realizar o
preenchimento em uma escala de tons de
cinza:
size (200, 200);
fill (0);
ellipse (100, 100, 190, 190);
Processing
• Definição de cores (método fill). Três
parâmetros entre 0 e 255 realizar o
preenchimento no padrão RGB:
size (200, 200);
fill(255, 255, 0);
ellipse (100, 100, 190, 190);
13/10/2014
5
Processing
• Desenho de um retângulo:
size (200, 200);
rect (5, 5, 190, 190);
Processing
• Exibição de texto no contexto gráfico:
size(200, 200);
fill(0);
text("Olá Pessoal!", 10, 20);
13/10/2014
6
Processing
• Estrutura básica de um sketch:
void setup() {
size(200, 200);
noLoop();
}
void draw() {
fill (0);
text("Olá Pessoal!", 10, 20);
}
Processing
• Unindo os conceitos para desenvolver
pequenos sketches:
void setup() {
size(200, 200);
noLoop();
}
void draw() {
fill(0);
rect (5, 5, 80, 20);
fill (255);
text("Olá Pessoal!", 10, 20);
}
13/10/2014
7
Processing
• Animação simples:
int i = 10;
void setup() {
size(200, 200);
}
void draw() {
background(0);
fill (255);
text("Olá Pessoal!", 10, i);
delay(150);
i = i + 10;
if (i > height)
i = 10;
}
Processing
• Fontes e alinhamento do texto:
int i = 10;
void setup() {
size(200, 200);
textFont(createFont("SansSerif",18));
textAlign(CENTER);
}
// Implementar o método draw() ...
13/10/2014
8
Processing
• Outra animação:
int i = 10, p = 10;
void setup() {
size(200, 200);
}
void draw() {
background(0);
fill (0, 255, 0);
ellipse (width/2, i, 25, 25);
delay(100);
i = i + p;
if ((i > height) || (i < 0))
p = p * -1;
}
Processing
• Utilização de imagens:
PImage bola;
int i = 10, p = 10;
void setup() {
size(200, 200);
bola = loadImage("bola.gif");
}
void draw() {
background(0);
fill (0, 255, 0);
image (bola, width/2, i);
delay(100);
i = i + p;
if ((i > (height - bola.height)) || (i < 0))
p = p * -1;
}
13/10/2014
9
Processing
• Eventos do mouse:
void setup() {
frame.setTitle("UsoMouse");
size (360, 180);
fill (255); // Cor branca
}
void draw() {
if (mousePressed) {
ellipse(mouseX, mouseY, 100, 100);
}
else {
rect(mouseX, mouseY, 100, 100);
}
}
Processing
• Bibliotecas – Exemplo G4P (GUI for
Processing):
13/10/2014
10
Processing
• Bibliotecas:
import g4p_controls.*;
GLabel lNome;
GTextField tNome;
String imagens[];
GImageButton botao;
void setup() {
frame.setTitle("Biblioteca G4P");
size (360, 180);
background(245);
lNome = new GLabel(this, 10, 20, 340, 20, "Digite o seu
nome:");
tNome = new GTextField(this, 10, 40, 340, 20);
imagens = new String[] {"botao-ok.png", "botao-ok.png",
"botao-ok-press.png" };
botao = new GImageButton(this, 10, 70, imagens);
}
Processing
• Bibliotecas:
void draw() {
}
public void handleButtonEvents(GImageButton
controle, GEvent evento) {
if (controle == botao) {
fill(0);
textFont(createFont("SansSerif",18));
text ("Olá, " + tNome.getText(), 10, 160);
}
}

Mais conteúdo relacionado

PDF
Introdução à Programação Gráfica com Processing
PPTX
Introdução à Programacao em Processing
PPT
Compus Party - processing e arduino
PDF
Processing e Arduino
PPT
Conceitos Fundamentais de Programacao
PDF
Introdução à programação em Android e iOS - Conceitos fundamentais de program...
PDF
Conceitos fundamentais de_programacao
PPTX
TDC2014 SP - C/C++ - Modularização de Código C
Introdução à Programação Gráfica com Processing
Introdução à Programacao em Processing
Compus Party - processing e arduino
Processing e Arduino
Conceitos Fundamentais de Programacao
Introdução à programação em Android e iOS - Conceitos fundamentais de program...
Conceitos fundamentais de_programacao
TDC2014 SP - C/C++ - Modularização de Código C

Mais procurados (20)

PDF
Linguagem c
PDF
Php e mysql aplicacao completa a partir do zero
ODP
Linguagem C e Dev-C++ Algumas Explicações
PDF
Conceitos e técnicas de programação apresentação
PDF
Linguagem C (UFRPE)
PPTX
O compilador dev c++
PPTX
1. Computador; Línguas naturais; Linguagens de Programação; Algoritmo e progr...
PDF
LIA - Linguagem Interpretada de Algoritmos
PDF
Linguagem c wellington telles - aula 02
PDF
Tutorial dev cpp 001 - criação, leitura e alteração de arquivos
PDF
Notas deaulas
PDF
Linguagem C 01 - Tópicos Introdutórios
PDF
Lógica de Programação - Unimep/Pronatec - Aula11
PDF
Paradigmas de Linguagens de Programação - Quatro Paradigmas + Ambientes de Pr...
PDF
Pi1415 tudo
PDF
Apostila de Linguagem C
PDF
Introdução+à+linguagem+c
PPTX
02 Introdução à programação.pptx
PDF
Linguagens de programação
PPTX
Linguagem C Entendendo a Programação
Linguagem c
Php e mysql aplicacao completa a partir do zero
Linguagem C e Dev-C++ Algumas Explicações
Conceitos e técnicas de programação apresentação
Linguagem C (UFRPE)
O compilador dev c++
1. Computador; Línguas naturais; Linguagens de Programação; Algoritmo e progr...
LIA - Linguagem Interpretada de Algoritmos
Linguagem c wellington telles - aula 02
Tutorial dev cpp 001 - criação, leitura e alteração de arquivos
Notas deaulas
Linguagem C 01 - Tópicos Introdutórios
Lógica de Programação - Unimep/Pronatec - Aula11
Paradigmas de Linguagens de Programação - Quatro Paradigmas + Ambientes de Pr...
Pi1415 tudo
Apostila de Linguagem C
Introdução+à+linguagem+c
02 Introdução à programação.pptx
Linguagens de programação
Linguagem C Entendendo a Programação
Anúncio

Destaque (19)

PDF
Como o crowdfunding pode ajudar a financiar o seu negócio? - O Poder da Rede ...
PPT
Inspeção de Engrenagens Utilizando Eddy Current Array
PPS
Signicado deas palavras
PDF
Projeto de extensão MANS
PDF
Visys: Potencialize o seu atendimento com a soluções de nossa empresa
PDF
Navegando01 abril.2012
PPTX
The Top Five Benefits of Summer Day Camp
PPT
Arte contemporânea
PDF
Fazer um-blog
PDF
Como-ganhar-dinheiro
PPT
Planilla de calculo
PDF
Programa_Digital_Marketing_Lisboa_weekend
PPTX
Winplot: Estudando Função do 1º Grau Tarefa 5
PPTX
How Summer Camp Builds Self-Confidence
PPTX
Sincronizar la agenda telefónica de nuestro smartphone
PDF
O relato da carreira de um programador e universitário cego
PPTX
Alissandra saquerema
PDF
Proceso segundo esquicio
PPTX
Gestão de Erros
Como o crowdfunding pode ajudar a financiar o seu negócio? - O Poder da Rede ...
Inspeção de Engrenagens Utilizando Eddy Current Array
Signicado deas palavras
Projeto de extensão MANS
Visys: Potencialize o seu atendimento com a soluções de nossa empresa
Navegando01 abril.2012
The Top Five Benefits of Summer Day Camp
Arte contemporânea
Fazer um-blog
Como-ganhar-dinheiro
Planilla de calculo
Programa_Digital_Marketing_Lisboa_weekend
Winplot: Estudando Função do 1º Grau Tarefa 5
How Summer Camp Builds Self-Confidence
Sincronizar la agenda telefónica de nuestro smartphone
O relato da carreira de um programador e universitário cego
Alissandra saquerema
Proceso segundo esquicio
Gestão de Erros
Anúncio

Semelhante a Processing-introducao (17)

PDF
oficinaProcessingI
PPTX
Introdução a programação gráfica com Processing - Aula 01
PPTX
Introdução a programação gráfica com Processing - Aula 02
KEY
Processing: programação para artes visuais
PDF
Mobile Image Processing - JIM 2014
PDF
Apostila de programação visual netbeans
PDF
Apostil ade programação visual netbeans
PDF
JavaFX 1.2
PDF
JavaFX 1.2
PDF
Introducao a programacao de aplicacoes cientificas em java
PDF
LibreLogo: conceitos e possibilidades de uso educacional
PDF
Introdução ao JavaFX
PPTX
Padrões de projeto - Adapter, Proxy, Composite e Bridge
PDF
Aula de Introdução - JAVA
PDF
Aula de Introdução - JAVA
PDF
Linguagem de Programação Java para Iniciantes
PDF
Programação e Estruturas de Dados - Lic. Design e Multimédia
oficinaProcessingI
Introdução a programação gráfica com Processing - Aula 01
Introdução a programação gráfica com Processing - Aula 02
Processing: programação para artes visuais
Mobile Image Processing - JIM 2014
Apostila de programação visual netbeans
Apostil ade programação visual netbeans
JavaFX 1.2
JavaFX 1.2
Introducao a programacao de aplicacoes cientificas em java
LibreLogo: conceitos e possibilidades de uso educacional
Introdução ao JavaFX
Padrões de projeto - Adapter, Proxy, Composite e Bridge
Aula de Introdução - JAVA
Aula de Introdução - JAVA
Linguagem de Programação Java para Iniciantes
Programação e Estruturas de Dados - Lic. Design e Multimédia

Último (16)

PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PDF
Processos na gestão de transportes, TM100 Col18
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PPTX
Arquitetura de computadores - Memórias Secundárias
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
COBITxITIL-Entenda as diferença em uso governança TI
Processos na gestão de transportes, TM100 Col18
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Custos e liquidação no SAP Transportation Management, TM130 Col18
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Arquitetura de computadores - Memórias Secundárias
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...

Processing-introducao

  • 1. 13/10/2014 1 Processing http://www.processing.org Cláudio L. V. Oliveira prof.claudioluis@fatecjd.edu.br Outubro de 2014 • Processing é uma linguagem de programação gratuita e de código aberto construída para artes eletrônicas e projetos visuais; • Tem como principal objetivo ensinar noções básicas de programação de computador em um contexto visual; • Projeto iniciado em 2001 por Casey Reas e Ben Fry, ambos ex-membros do Grupo de Computação do MIT Media Lab. Processing
  • 2. 13/10/2014 2 Processing • O IDE da Processing inclui um sketchbook, uma alternativa para organizar projetos sem adotar o padrão utilizado na maioria das IDEs. • Os sketches (programas) criados são uma subclasse do Java Papplet, classe que implementa a maioria das funcionalidades da Processing. • Ao compilar todo o código do sketch é traduzido para Java. Processing • IDE da Processing:
  • 3. 13/10/2014 3 Processing • Um dos objetivos da Processing é atuar como uma ferramenta para não-programadores ou iniciantes em programação, através da satisfação imediata com um retorno visual, por exemplo: println("Olá Pessoal!"); Processing • Fácil e rápido retorno visual, por exemplo, desenho de uma elipse: size (200, 200); // Tamanho da tela ellipse (100, 100, 190, 190);
  • 4. 13/10/2014 4 Processing • Definição de cores (método fill). Um único parâmetro entre 0 e 255 realizar o preenchimento em uma escala de tons de cinza: size (200, 200); fill (0); ellipse (100, 100, 190, 190); Processing • Definição de cores (método fill). Três parâmetros entre 0 e 255 realizar o preenchimento no padrão RGB: size (200, 200); fill(255, 255, 0); ellipse (100, 100, 190, 190);
  • 5. 13/10/2014 5 Processing • Desenho de um retângulo: size (200, 200); rect (5, 5, 190, 190); Processing • Exibição de texto no contexto gráfico: size(200, 200); fill(0); text("Olá Pessoal!", 10, 20);
  • 6. 13/10/2014 6 Processing • Estrutura básica de um sketch: void setup() { size(200, 200); noLoop(); } void draw() { fill (0); text("Olá Pessoal!", 10, 20); } Processing • Unindo os conceitos para desenvolver pequenos sketches: void setup() { size(200, 200); noLoop(); } void draw() { fill(0); rect (5, 5, 80, 20); fill (255); text("Olá Pessoal!", 10, 20); }
  • 7. 13/10/2014 7 Processing • Animação simples: int i = 10; void setup() { size(200, 200); } void draw() { background(0); fill (255); text("Olá Pessoal!", 10, i); delay(150); i = i + 10; if (i > height) i = 10; } Processing • Fontes e alinhamento do texto: int i = 10; void setup() { size(200, 200); textFont(createFont("SansSerif",18)); textAlign(CENTER); } // Implementar o método draw() ...
  • 8. 13/10/2014 8 Processing • Outra animação: int i = 10, p = 10; void setup() { size(200, 200); } void draw() { background(0); fill (0, 255, 0); ellipse (width/2, i, 25, 25); delay(100); i = i + p; if ((i > height) || (i < 0)) p = p * -1; } Processing • Utilização de imagens: PImage bola; int i = 10, p = 10; void setup() { size(200, 200); bola = loadImage("bola.gif"); } void draw() { background(0); fill (0, 255, 0); image (bola, width/2, i); delay(100); i = i + p; if ((i > (height - bola.height)) || (i < 0)) p = p * -1; }
  • 9. 13/10/2014 9 Processing • Eventos do mouse: void setup() { frame.setTitle("UsoMouse"); size (360, 180); fill (255); // Cor branca } void draw() { if (mousePressed) { ellipse(mouseX, mouseY, 100, 100); } else { rect(mouseX, mouseY, 100, 100); } } Processing • Bibliotecas – Exemplo G4P (GUI for Processing):
  • 10. 13/10/2014 10 Processing • Bibliotecas: import g4p_controls.*; GLabel lNome; GTextField tNome; String imagens[]; GImageButton botao; void setup() { frame.setTitle("Biblioteca G4P"); size (360, 180); background(245); lNome = new GLabel(this, 10, 20, 340, 20, "Digite o seu nome:"); tNome = new GTextField(this, 10, 40, 340, 20); imagens = new String[] {"botao-ok.png", "botao-ok.png", "botao-ok-press.png" }; botao = new GImageButton(this, 10, 70, imagens); } Processing • Bibliotecas: void draw() { } public void handleButtonEvents(GImageButton controle, GEvent evento) { if (controle == botao) { fill(0); textFont(createFont("SansSerif",18)); text ("Olá, " + tNome.getText(), 10, 160); } }