Está en la página 1de 16

Procesamiento de Informacin general

Este tutorial es para Procesamiento de 2 +. Si encuentra errores o tiene


comentarios, por favor hganoslo saber. Este tutorial es una adaptacin del
libro, la visualizacin de datos por Ben Fry, O'Reilly 2007.

Processing es un entorno de programacin sencillo que fue creado para


hacer ms fcil el desarrollo de aplicaciones orientadas visualmente, con nfasis
en la animacin y proporcionar a los usuarios informacin instantnea a travs
de la interaccin. Los desarrolladores queran una forma de "boceto" ideas en
cdigo. A medida que sus capacidades se han ampliado a lo largo de la ltima
dcada, produccin ha llegado a ser utilizado por ms avanzada a nivel de
produccin de trabajo, adems de su papel de esbozo. Originalmente construido
como una extensin de dominio especfico para Java dirigido a artistas y
diseadores, Procesamiento se ha convertido en un diseo en toda regla y una
herramienta de creacin de prototipos utilizados para los trabajos de instalacin
a gran escala, grficos en movimiento, y la visualizacin de datos complejos.
El proceso se basa en Java, pero debido a los elementos del programa en el
procesamiento son bastante simples, usted puede aprender a usar, incluso si
usted no sabe cualquier Java. Si est familiarizado con Java, lo mejor es olvidar
que el procesamiento tiene nada que ver con Java por un tiempo, hasta que se
consiga la cada de cmo funciona la API.
La versin ms reciente de procesamiento puede ser descargado en
http://processing.org/download
Un objetivo importante del proyecto era desarrollar este tipo de programacin
accesible a un pblico ms amplio. Por esta razn, el procesamiento se puede
descargar gratis, uso gratuito, y de cdigo abierto. Pero los proyectos
desarrollados con el medio ambiente Tratamiento y bibliotecas del ncleo puede
ser utilizado para cualquier propsito. Este modelo es idntico al GCC, la
coleccin de compiladores de GNU. GCC y sus bibliotecas asociadas (por
ejemplo, libc) son de cdigo abierto bajo la Licencia Pblica General de GNU
(GPL), que establece que los cambios en el cdigo debe estar disponible. Sin
embargo, los programas creados con GCC (ejemplos demasiado numerosos
para mencionarlos) no son en s mismos deben ser de cdigo abierto.

Procesamiento consta de:


El entorno de desarrollo Processing (PDE). Este es el software que se ejecuta
cuando se hace doble clic en el icono de procesamiento. El PDE es un entorno
de desarrollo integrado (IDE) con un conjunto minimalista de caractersticas
diseadas como una simple introduccin a la programacin o para probar una
sola vez las ideas.
Una coleccin de funciones (tambin conocidos como comandos o mtodos)
que constituyen el "ncleo" Interfaz de programacin o API, as como varias
bibliotecas que admiten las funciones ms avanzadas como el envo de datos a
travs de una red, la lectura de imgenes en directo desde una cmara web y
guardar imgenes complejas en formato PDF.
Una sintaxis del lenguaje, idntica a Java, pero con algunas modificaciones.
Una comunidad activa en lnea, basado en http://processing.org.

Por esta razn, las referencias a "Tratamiento" puede ser algo ambiguo.
Estamos hablando de la API, el entorno de desarrollo, o en el sitio web?
Tendremos cuidado en este texto para referirse a cada uno.

Dibujar con procesamiento


Un programa de procesamiento se llama un boceto. La idea es hacer que Java
estilo de programacin se sienten ms como secuencias de comandos, y
aprobar el proceso de secuencias de comandos para escribir cdigo
rpidamente. Sketches se almacenan en el cuaderno, una carpeta que se utiliza
como la ubicacin predeterminada para guardar todos tus proyectos. Bocetos
que se almacenan en el cuaderno de dibujo se puede acceder desde Archivo
Sketchbook. Por otra parte, en Archivo Abrir ... se puede utilizar para abrir un
croquis de otra parte del sistema.
Programadores avanzados no necesita utilizar el PDE, y en su lugar puede
optar por utilizar sus bibliotecas con el entorno Java de eleccin. Sin embargo,
si usted acaba de empezar, se recomienda el uso de la EDP para sus primeros

proyectos para familiarizarse con la forma de hacer las cosas. Mientras que el
procesamiento se basa en Java, nunca fue destinado a ser un IDE Java con

-ruedas de entrenamiento. Para responder mejor a nuestro pblico objetivo, el


modelo conceptual (cmo funcionan los programas, cmo las interfaces se
construyen y cmo se manejan los archivos) es algo diferente de Java.

Hola mundo

El equivalente de procesamiento de un "Hello World" programa es simplemente


para dibujar una lnea:
lne (15, 25, 70, 90);

Ingresa el siguiente ejemplo y pulse el botn Run, que es un icono que se


parece al botn de reproduccin desde cualquier dispositivo de audio o video.
Su cdigo se mostrar en una nueva ventana, con un fondo gris y negro de una
lnea de coordenadas (15, 25) a (70, 90). La coordenada (0, 0) es el superior
izquierdo de la ventana de visualizacin. Sobre la base de este programa para
cambiar el tamao de la ventana de visualizacin y el color de fondo, escriba el
siguiente

cdigo:

size(tamao en pixeles)(400, 400); background (fondo)(192, 64, 0);


stroke(carrera)(255); line(lnea)(150, 25, 270, 350);

Esta versin establece el tamao de la ventana de 400 x 400 pxeles, establece


los antecedentes de un rojo anaranjado, y dibuja la lnea en blanco, poniendo el
color de trazo a 255. Por defecto, los colores se especifica en el rango de 0 a
255. Otras variaciones de los parmetros para el accidente cerebrovascular () la
funcin de proporcionar resultados alternos.

stroke(255);
// sets the stroke color to white stroke(255, 255, 255);
// identical to the line above stroke(255, 128, 0);
// bright orange (red 255,
green 128, blue 0) stroke(#FF8000);
// bright orange as a web color
stroke(255, 128, 0, 128); // bright orange with 50% transparency

Las mismas alternativas trabajar para el relleno (), la cual establece el color de
relleno y el fondo () funcin, que limpia la ventana de visualizacin. Como todas
las funciones de procesamiento que afectan a las propiedades del dibujo, los
colores de relleno y trazo afectar toda la geometra dibuja en pantalla hasta que
las siguientes funciones de trazo y relleno.

Hola ratn

Un programa escrito en forma de lista de instrucciones (como en los ejemplos


anteriores) se llama un dibujo esttico. En un dibujo esttico, una serie de
funciones que se utilizan para realizar tareas o crear una sola imagen sin ningn
tipo de animacin o interaccin. Los programas interactivos se dibujan como
una serie de fotogramas que se pueden crear mediante la adicin de funciones
titulado setup () y draw (), como se muestra en el siguiente cdigo. Estos se
basan en las funciones que son llamadas automticamente

void setup() {
size(400, 400);
stroke(255);
background(192, 64, 0);
}
void draw() {
line(150, 25, mouseX, mouseY);
}

El bloque setup () se ejecuta una vez, y el bloque draw () se ejecuta


repetidamente. Como tal, la configuracin () se puede utilizar para cualquier
inicializacin, en este caso, fijando el tamao de la pantalla, haciendo que el
fondo de color naranja, y establecer el color del trazo a blanco. El bloque de
traccin () se utiliza para controlar la animacin. La funcin size () siempre debe
ser
la
primera
lnea
dentro
de
setup
().
Debido a que la funcin del fondo () se utiliza slo una vez, la pantalla se llene
de lneas como se mueve el ratn. Para dibujar una sola lnea que sigue el
ratn, mover el fondo () para la funcin draw (), que se borrar la ventana de
visualizacin (llenndolo de color naranja) de cada sorteo time () se ejecuta.

void setup() {
size(400, 400);
stroke(255);
}
void draw() {
background(192, 64, 0);
line(150, 25, mouseX, mouseY);
}

Programas estticos son los ms comnmente usado para los ejemplos


extremadamente simples, o las secuencias de comandos que se ejecutan de
forma lineal y luego salir. Por ejemplo, un programa esttico podra empezar,
dibuja
una
pgina
en
un
archivo
PDF,
y
salir.
La mayora de los programas utilizarn el setup () y draw () bloques. Manejo del
ratn ms avanzado tambin se puede introducir, por ejemplo, la funcin
mousePressed () se llamar siempre que se pulsa el ratn. En el ejemplo
siguiente, cuando se pulsa el ratn, la pantalla se borra a travs del fondo ()
funcin:
void setup() {
size(400, 400);
stroke(255);

}
void draw() {
l
line(150, 25, mouseX, mouseY);
void mousePressed() {
background(192, 64, 0);
}

Exportacin y distribucin de su trabajo

Una de las caractersticas ms significativas del entorno Processing es su


capacidad para agrupar el dibujo en una aplicacin con un solo clic. Seleccione
Archivo Exportar aplicacin para empaquetar su dibujo actual como una
aplicacin. Esta voluntad de agrupar el dibujo como una aplicacin para
Windows, Mac OS X y Linux. Las carpetas de aplicaciones se sobrescriben
cada vez que la exportacin realizar una copia o eliminarlos de la carpeta de
dibujo antes de realizar cambios en el contenido de la carpeta. Como
alternativa, puede desactivar el borrado automtico de archivos en las
Preferencias.
La

creacin

de

imgenes

de

su

trabajo

Si no desea distribuir el proyecto actual, es posible que desee crear imgenes


de su salida en su lugar. Las imgenes se guardan con el saveFrame () funcin.
Adicin saveFrame () al final de draw () producir una secuencia numerada de
imgenes en formato TIFF de salida del programa, llamada pantalla 0001.tif,
0002.tif pantalla, y as sucesivamente.

Un nuevo archivo se guardar cada sorteo time () funciona - cuidado, esto


puede llenar rpidamente su carpeta del sketch con cientos de archivos.
Tambin puede especificar su propio nombre y tipo de archivo para el archivo
que
se
guarda
con
una
funcin
como:
saveFrame

("output.png")

Para hacer lo mismo para una secuencia de nmeros, utilice # (lneas interiores)
donde
los
nmeros
deben
colocarse:
saveFrame

("output-#

png.");

Para obtener resultados de alta calidad, usted puede escribir geometra a


archivos PDF en lugar de la pantalla, tal como se describe en la seccin
posterior
sobre
la
funcin
size
().
Ejemplos

de

referencia

los

Mientras que muchos programadores aprender a cdigo en la escuela, otros se


ensean y aprenden por s mismos. Aprender por su cuenta consiste en buscar
en un montn de otros cdigos: correr, alterar, rompiendo, y aumentarla hasta
que pueda formar de nuevo en algo nuevo. Con este modelo de aprendizaje en
mente, la descarga de software de procesamiento incluye cientos de ejemplos
que muestran diferentes caractersticas del medio ambiente y la API.
Los ejemplos se puede acceder desde el archivo Ejemplos men. Estn
agrupados en categoras basadas en su funcin (como Motion, Tipografa e
Imagen) o las bibliotecas que utilizan (PDF, Red y Video).
Encontrar un tema interesante en la lista y tratar de ejemplo. Vers las funciones
que le son familiares, por ejemplo, accidente cerebrovascular (), lnea (), y el
fondo (), as como otros que todava no han sido cubiertas. Para ver cmo
funciona una funcin, seleccione su nombre y haga clic con el botn derecho y
seleccione Buscar en referencia en el men pop-up (Buscar en la referencia
tambin se puede encontrar bajo el men Ayuda). Esto abrir la referencia para
esa
funcin
en
su
navegador
web
por
defecto.
Adems de una descripcin de la sintaxis de la funcin, cada pgina de
referencia incluye un ejemplo que utiliza la funcin. Los ejemplos de referencia
son mucho ms cortas (normalmente cuatro o cinco lneas cada una) y ms fcil

de
Ms

seguir

que

los
acerca

ejemplos

de
size

cdigo

ms.
()

La funcin size () define la anchura y altura variables globales. Para objetos


cuyo tamao depende de la pantalla, utilice siempre la anchura y la altura de las
variables en lugar de un nmero. Esto evita problemas cuando la lnea size () se
altera.
tamao

(400,

400);

/ / El camino equivocado para especificar el centro de la pantalla


elipse
(200,
200,
50,
50);

/ / Siempre el medio, no importa cmo el tamao () cambia de lnea


elipse
(anchura
/
2,
altura
/
2,
50,
50);
En los ejemplos anteriores, la funcin size () slo se especifica una anchura y
altura de la ventana que se crear. Un parmetro opcional para la funcin size ()
especifica cmo los grficos se representan. Un procesador se encarga de
cmo la API de procesamiento se lleva a cabo una funcin de salida en
particular (ya sea la pantalla o una pantalla impulsado por una tarjeta grfica de
gama alta, o un archivo PDF). El procesador predeterminado hace un excelente
trabajo con alta calidad de grficos vectoriales 2D, pero a expensas de la
velocidad. En particular, el trabajo con los pixeles directamente es lento. Varios
otros representadores se incluyen con el procesamiento, cada una con una
funcin nica. Aun a riesgo de llegar demasiado lejos en los detalles, he aqu
una descripcin de los modos de dibujo otros posibles para usar con
Processing.
tamao

(400,

400,

P2D);

El renderizador P2D utiliza OpenGL para hacer ms rpido de grficos de dos


dimensiones, utilizando simples de procesamiento de grficos de API y la
exportacin del entorno de desarrollo de aplicaciones de procesamiento de fcil.
tamao

(400,

400,

P3D);

El renderizador P3D tambin utiliza OpenGL para hacer ms rpido. Puede


dibujar objetos tridimensionales y objetos de dos dimensiones en el espacio, as
como
la
iluminacin,
la
textura,
los
materiales
y.
tamao

(400,

400,

PDF,

"output.pdf");

El representador PDF saca toda la geometra a un archivo en lugar de la


pantalla. Para utilizar PDF, adems de alterar su funcin size (), debe
seleccionar Importar biblioteca, entonces PDF en el men Dibujo. Este es un
primo del procesador predeterminado, sino que escribe directamente en
archivos PDF.
Carga

visualizacin

de

datos

Uno de los aspectos nicos de la API de procesamiento es la forma se manejan


los archivos. El loadImage () y loadStrings () funciona cada uno esperara
encontrar un archivo dentro de una carpeta con el nombre de datos, que es un
subdirectorio
de
la
carpeta
de
dibujo.
Avanzado:
Notas
sobre
la
carpeta
de
datos
La carpeta de datos de direcciones de una frustracin comn cuando se trata de
cdigo que se pone a prueba a nivel local sino que se despliegan en la web. Al
igual que Java, el software escrito con Processing est sujeta a las restricciones
de seguridad que determinan cmo un programa puede tener acceso a recursos
tales como el disco duro local o en otros servidores a travs de Internet. Esto
evita que los desarrolladores maliciosos de escribir cdigo que pueda daar su
computadora
o
comprometer
sus
datos.
Las restricciones de seguridad puede ser complicado para trabajar durante el
desarrollo. Cuando se ejecuta un programa a nivel local, los datos se pueden
leer directamente desde el disco, a pesar de que se debe colocar en relacin
con el usuario "directorio de trabajo", generalmente la ubicacin de la aplicacin.
Cuando se ejecuta en lnea, los datos deben venir de un lugar en el mismo
servidor. Podra estar incluido en el propio cdigo (en un archivo JAR, discutido
ms adelante, o desde otra URL en el mismo servidor). Para un archivo local,
clase FileInputStream de Java se puede utilizar. Si el archivo est empaquetado
en un archivo JAR, el getResource () se utiliza. Para un archivo en el servidor,
URL.openStream () podra ser empleado. Durante el viaje desde el desarrollo de
la implementacin, puede ser necesario el uso de estas tres funciones.

Con el procesamiento, cada uno de estos escenarios (y algunos otros) se


maneja de forma transparente por las funciones del archivo de API. Mediante la
colocacin de recursos en la carpeta de datos, procesamiento de paquetes de
los archivos que sean necesarios para el uso en lnea y fuera de lnea.
Funciones de administracin de archivos incluyen loadStrings (), que lee un
archivo de texto en una matriz de objetos String y loadImage () que lee una
imagen en un objeto PImage, el contenedor para los datos de imagen en
Processing.
/ / Ejemplos de cargar un archivo de texto y una imagen JPEG
/
/
De
la
carpeta
de
datos
de
un
boceto.
String
[]
=
lneas
loadStrings
("something.txt");
PImage
image
=
loadImage
("imagen.jpg");
Estos ejemplos pueden ser un poco ms fcil de leer si se conocen los
conceptos de programacin de tipos de datos y clases. Cada variable debe
tener
un
tipo
de
datos,
como
String
o
PImage.
El String [] sintaxis significa "un conjunto de datos de la clase String." Este
arreglo es creado por la funcin loadStrings y se le da el nombre de las lneas,
sino que probablemente se utilizar ms adelante en el programa bajo este
nombre. La razn loadStrings crea una matriz es que se divide el archivo
something.txt en sus lneas individuales. La siguiente funcin crea una nica
variable de clase PImage, con el nombre de la imagen.
Para agregar un archivo a la carpeta de datos de un esquema de
procesamiento, utilice el Sketch Aadir opcin de men Archivo o arrastre el
archivo a la ventana del editor de la PDE. La carpeta de datos se crear si no
existe
ya.
Para ver el contenido de la carpeta de dibujo, utilice el Sketch Sketch Folder
Mostrar opcin del men. Esto abre la ventana de boceto en el navegador de
archivos
de
su
sistema
operativo.
Bibliotecas

aadir

nuevas

caractersticas

Una biblioteca es una coleccin de cdigo en un formato especificado que hace


que sea fcil de utilizar en el procesamiento. Las bibliotecas han sido
importantes para el crecimiento del proyecto, ya que permitir a los

desarrolladores hacer nuevas caractersticas accesibles para los usuarios sin


necesidad de que sean parte del ncleo de procesamiento de API.
Varias bibliotecas centrales vienen con Processing. Estos se pueden ver en la
seccin Bibliotecas de la referencia en lnea (tambin disponible en el men
Ayuda dentro del PDE). Estas bibliotecas se puede ver en
http://processing.org/reference/libraries/
Un ejemplo de ello es la biblioteca de exportacin PDF. Esta biblioteca permite
escribir archivos PDF directamente desde Processing. Estos archivos de
grficos vectoriales se pueden escalar a cualquier tamao y salida a
resoluciones
muy
altas.
Para utilizar la biblioteca de PDF en un proyecto, elija Sketch Importar
Biblioteca pdf. Esto aadir la siguiente lnea a la parte superior del boceto:
importar

processing.pdf

*.;

Los programadores de Java reconocer el comando de importacin. En


Processing, esta lnea tambin se utiliza para determinar qu cdigo se
suministra con un boceto cuando se exporta como un applet o aplicacin.
Ahora que la biblioteca PDF se importa, puede utilizarlo para crear un archivo.
Por ejemplo, la siguiente lnea de cdigo crea un nuevo archivo PDF llamado
lines.pdf
que
se
puede
dibujar.
beginRecord

(PDF,

"lines.pdf");

Cada funcin de dibujo como lnea () y la elipse () ahora se basar en la


pantalla,
as
como
para
el
PDF.
Otras bibliotecas proporcionan caractersticas tales como la lectura de imgenes
desde una cmara, enviar y recibir comandos MIDI y OSC, control sofisticado
cmara 3D, y el acceso a bases de datos MySQL.
Bocetos

secuencias

de

comandos

Bocetos de procesamiento se compone de una o ms pestaas, con cada ficha


representa un fragmento de cdigo. El medio ambiente est diseado en torno a
proyectos que son unas cuantas pginas de cdigo, y frecuentemente tres o

cinco fichas en total. Esto abarca un importante nmero de proyectos


desarrollados para probar ideas y prototipos, a menudo antes de su
incorporacin a un proyecto ms grande o la construccin de una aplicacin
ms
robusta
para
una
mayor
implementacin.
La idea de dibujar es idntica a la de secuencias de comandos, excepto que
usted no est trabajando en un lenguaje de script interpretado, sino ganar la
ventaja de rendimiento de la compilacin de archivos de clase Java. Por
supuesto, en sentido estricto, s Java es un lenguaje interpretado, pero su
compilacin bytecode que trae mucho ms cerca del "metal" de lenguajes como
JavaScript,
Python
o
Ruby.
Procesamiento nunca fue pensado como el lenguaje de programacin visual
final para, en su lugar, nos propusimos hacer algo que era:
Un libro de bocetos para nuestro propio trabajo, lo que simplifica la mayora
de
las
tareas
que
emprendemos.
Un entorno de programacin adecuado para la enseanza de la
programacin
a
un
pblico
no
tradicional.
Una piedra angular de lenguajes de scripting a las lenguas ms complicadas
o
difciles,
como
en
toda
regla
Java
o
C
+
+.
En la interseccin de estos puntos es un equilibrio entre la velocidad y
simplicidad de uso. Si no se preocupan por la velocidad, podra tener sentido
usar Python, Ruby, o muchos otros lenguajes de scripting. Esto es
especialmente cierto para el lado de la educacin. Si no se preocupan por hacer
una transicin a ms idiomas avanzadas, probablemente nos volveramos a
evitar una sintaxis de C + + o Java estilo. Sin embargo, Java tiene un buen
punto de partida para esbozar una lengua porque es mucho ms indulgente que
C / C + + y tambin permite a los usuarios exportar esquemas para la
distribucin
a
travs
de
la
web.
Procesamiento rene nuestra experiencia en la construccin de software de
este tipo (bocetos de obras interactivas o visualizacin de datos-driven) y
simplifica las piezas que sentimos debe ser ms fcil, como para empezar
rpidamente, y aislar a los nuevos usuarios de temas como los relacionados con
la
creacin
de
Java.
No

empezar

por

tratar

de

construir

una

catedral

Si ya est familiarizado con la programacin, es importante entender cmo se

diferencia de Procesamiento de otros entornos de desarrollo y lenguajes. El


proyecto de procesamiento alienta un estilo de trabajo que se basa el cdigo
rpidamente, entendiendo que tanto el cdigo se puede utilizar como un boceto
rpido, o las ideas se estn probando antes de desarrollar un proyecto final.
Esto podra ser interpretado errneamente como ingeniera de software hereja.
Tal vez no estamos muy lejos de la "piratera", pero esto es ms apropiado para
las funciones de procesamiento en el que se utiliza. Por qu los estudiantes de
la fuerza o programadores ocasionales para aprender sobre contextos grficos,
roscados, y las funciones de manejo de eventos antes de poder mostrar algo en
la pantalla que interacta con el ratn? Lo mismo va para los desarrolladores
avanzados: por qu siempre necesita comenzar con los mismos dos pginas
de
cdigo
cada
vez
que
comience
un
proyecto?
En otro escenario, la posibilidad de probar las cosas con rapidez es una
prioridad mucho ms alta que la estructura del cdigo sofisticado. Por lo
general, usted no sabe lo que el resultado ser, por lo que podra construir algo
de una semana para probar una hiptesis inicial, y construir algo nuevo basado
en la siguiente en lo que se aprendi en la primera semana. Con este fin,
recordar las siguientes consideraciones como usted comienza a escribir cdigo
con
procesamiento:
Tenga cuidado con la creacin de estructuras innecesarias en el cdigo. Al
aprender acerca de encapsular el cdigo en clases, es la tentacin de hacer las
clases cada vez ms pequeos, ya que los datos siempre se puede destilar
ms. Necesitas clases en el nivel de las molculas, los tomos, o quarks? El
hecho de tomos de ir ms pequeo no significa que tenemos que trabajar en
un nivel inferior de abstraccin. Si una clase es la mitad de una pgina, tiene
sentido tener seis subclases adicionales que son cada media pgina? Podra
lo mismo puede lograr con una sola clase que es una pgina y media en total?
Tenga en cuenta la magnitud del proyecto. No siempre es necesaria la
construccin de software a nivel empresarial en el primer da. Explora primera:
averiguar el cdigo mnimo necesario para ayudar a responder a sus preguntas
y
satisfacer
su
curiosidad.
El argumento no es evitar la continua reescritura, sino ms bien para retrasar el
trabajo de ingeniera hasta que sea apropiado. El umbral de por dnde empezar
ingeniera de una pieza de software es mucho ms tarde que en los proyectos
de programacin tradicionales porque hay un tipo de arte en el proceso inicial de
iteracin
rpida.
Por supuesto, una vez que las cosas estn funcionando, evite la tentacin de
volver a escribir por s mismo. Una reescritura se debe utilizar al abordar un

problema completamente diferente. Si has conseguido golpear el clavo en la


cabeza, debe refactorizar para limpiar los nombres de funciones e interacciones
de clase. Pero una reescritura completa del cdigo ya terminado es casi siempre
una mala idea, no importa lo "feo" que pueda parecer.

También podría gustarte