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 serem usadas posteriormente num programa
int a; // declarando a = 5; // definindo valor de ‘a’ int a = 10; // erro ao declarar 2a vez
podem ser usadas várias vezes e seu valor modificado durante o programa
int x = 10; // inteiro int y = 20;
servem para evitar repetição no código
boolean visivel = true;
tipos de variáveis do Processing
float z = 1.5; // fração
String evento = “Convescote”;
operadores símbolos que o compilador usa para executar cálculos e comandos no programa
int x = 10; // 10 é valor de x int y = 20; int z = x + y * 2; // 50 // 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 programas foco na modularidade: funcionam como software independentes dentro dos programas podem retornar valores ou apenas executar uma série de operações (void)
int x = 10; int y = triplica(x); //30 void setup() { aumentaX( 40 ); // x = 50 y = triplica( y ); // 90 } void aumentaX(int n){ x = x + n; // ou (x += n;) } 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
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/i processing/http://www.openprocessing.org/ http://sanchothefat.com/labs/161/pjsboxhttp://9e lements.com/io/projects/html5/canvas/http://www.theantenna.net/htt p://www.wefeelfine.org/http://universe.daylife.com/http://www.esca pemotions.com/experiments.htmlhttp://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 marlus@marlus.com marlus@marlus.com