INTROducción PROCESSING
13/12/2012
CapsuLabs
Sergio Lario, E-mail: slario@gmail.com
Introducción Processing es una adaptación del lenguaje JAVA pensada para facilitar la programación a usuarios no expertos, y enfocado a los “Computer Graphics” (imagen, diseño, animación e interactividad). Es un entorno simplificado, de código abierto y compatible con los sistemas operativos Linux, Win y OSX.
Objetivos • •
01
Conocer los términos y conceptos básicos de Processing. Lograr las bases necesarias para leer y crear programas sencillos.
Estructura
02
Los programas en Processing se denominan “sketch”. Estos contienen dos funciones principales casi siempre obligadas.
Void Setup () {} Contiene los parámetros principales del “sketch” donde inicializamos la pantalla, la línea, el color y otros aspectos. Se ejecuta una sola vez en el inicio de todo.
Sintaxis
“Dibuja” se ejecuta a continuación del setup pero se repite continuamente con la frecuencia de refresco de nuestra pantalla.
Arrays
03
Los indicadores sintácticos nos diferencian semánticamente y funcionalmente el código.
04
Un “array” es una colección de datos del mismo tipos enumeradas por un índice. Podemos crear “arrays” de cualquier tipo de dato (variable).
Comments // /* */ /*
Void Draw () {}
int[] nums ) int [3] nums [0] = 90 nums [1] = 150 nums [2] = 30
Simple Multiple Esta línea no será compilada */
Variables boolean Variable que sólo permite dos estados. True Fals
05 byte Utilizamos 8 bits para definir un número entero contenido entre -128 y 127
int
float
char
La computadora utiliza 4 bytes (32 bits) al definir un número sin decimales entre -2.147.438.648 y 2.147.438.647
Necesitamos 4 bytes (32 bits) de memoria para definir un número decimal entre -3,4028235e+38 y 3,4028235e+38
Almacena un carácter ASCII. Utiliza un byte (8bits) de memoria. Las cadenas de caracteres se denominan “String”.
CapsuLabs: Jueves 13 de Diciembre de 2012 / 19’00h – 21’00h Sergio Lario, E-mail: slario@gmail.com
Operadores
06
Asignación = Modifica el valor de una variable asignándole el valor de la expresión a la derecha del signo x=10+5 (x será 15)
Matemáticos
Modulo % El valor del resto en la división entera entre dos valores. 14%10 = 4
+ * /
Condicionales
Suma Resta Multiplicación División
== != < >
Igual a No igual a Menor que Mayor que
Sentencias de control
07
If(condició) {} else {} Se ejecuta el código entre los primeros corchetes si la condición se cumple; sino se cumple se ejecuta el código entre los segundos corchetes.
for (int i =0; i< repeticions, i++) {} Se utiliza para repetir un bloque de código un número a veces definido. Contamos arriba o abajo con i++ o i - -
La Pantalla Gráfica
08
El Sketch de Processing se visualiza en una ventana gráfica al ejecutarse. Esta contiene cierto número de píxeles que hemos dispuesto en el setup en función de la resolución que queramos de la misma. (ex: size (640, 480). Cada Píxel o posición en esta ventana viene dado por coordenadas cartesianas con el origen en la esquina izquierda superior (0, 0). Para posicionar cualquier objeto nos tenemos que referir a este sistema.
Elementos Gráficos 2D punto (point) línea (line) arco (arco) triángulo (triángulo) cuadrado (quad) rectángulo (rect) elipse (ellipse)
curva (curve) bezier (bezierCurve) vertex (vertex) (curveVertex) (bezierVertex) (PShape)
Transformaciones 2D/3D Mover Rotar Escalar
translate() rotate() escale()
translateX() ... rotateY() ... escaleZ() ...
pusMatrix() popMatrix()
Atributos Gráficos 2D grueso del trazo suavizado tipo ángulo trazo no suavizado modo de elipse modo rectángulo tipo final trazo
strokeWeight() smooth() strokeJoin() noSmooth() ellipseMode() rectMode() strokeCap()
Color color de fondo modo (rgb-hsv) color del trazo formas vacías formas sin trazo color interno
background() colorMode() stroke() noFill() noStroke() fill()
Librerías
09
Processing, al ser una plataforma abierta, se puede ampliar con las más de 100 librerías que crean sus colaboradores. Estas abren las posibilidades de processing a otros muchos ámbitos cómo: Visión artificial Control remoto
Audio y Vídeo Sensores
Simulación Física y muchas más!
Ayuda
10 Siempre que necesitemos ayuda el primer paso es dirigirnos al “Reference” de processing. También puedes encontrar tutoriales estructurados en: http://processing.org/learning
CapsuLabs: Sergio Larios, E-mail: slario@gmail.com Pera más información, visitar: http://processing.org/learning