PDF de programación - Programar con Processing en Python

Programar con Processing en Pythongráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 10 de Enero del 2018)
1.732 visualizaciones desde el 10 de Enero del 2018
908,3 KB
20 paginas
Creado hace 8a (08/07/2015)
Programar con Processing en Python

J.B. Hayet

CENTRO DE INVESTIGACI ´ON EN MATEM´ATICAS

Julio 2015

J.B. Hayet

Processing-Python Mode, Julio 2015

,

1 / 20

El “lenguaje” Processing

Processing:

Un dialecto de Java, muy simplificado.
Una IDE sencilla e intuitiva.
A priori ninguna dificultad para programadores en C, C++.
La meta es tocar a un p´ublico que no sabe de lenguajes en
general, enfocado a gr´aficos interactivos, sonido, v´ıdeo,
animaci´on. . .

J.B. Hayet

Processing-Python Mode, Julio 2015

,

2 / 20

El “lenguaje” Processing

Aplicaciones particularmente bien adaptadas:

ense˜nanza: rudimentos programaci´on hasta POO,
ense˜nanza: ilustraci´on animada de conceptos,
prototipaje r´apido de aplicaciones, “sketches”
visualizaci´on de datos.

J.B. Hayet

Processing-Python Mode, Julio 2015

,

3 / 20

Una IDE reducida a lo esencial

J.B. Hayet

Processing-Python Mode, Julio 2015

,

4 / 20

Una IDE reducida a lo esencial

Una ventana de texto, para escribir el c´odigo.
Una consola.
Una ventana gr´afica, con el output del programa.

Interfaz de la IDE simplista:

En unos minutos, se entiende como funciona todo.

J.B. Hayet

Processing-Python Mode, Julio 2015

,

5 / 20

Sketches

El concepto de Sketch es el de “proyecto” de las IDEs
normales, es decir el un programa con una o varias unidades de
compilaci´on.
A un Sketch corresponde a un directorio en un directorio de
Sketches.
Los archivos de los Sketches tienen extensi´on .pde (Java) o
.pyde (Python).
Los diferentes archivos aparecen como pesta˜nas en la ventana
del c´odigo.

J.B. Hayet

Processing-Python Mode, Julio 2015

,

6 / 20

Librer´ıas disponibles

Integrados

Importaci´on de datos XML, SVG
Exportaci´on PDF, DXF, etc.
Video
Redes
Comunicaci´on serial

External Contributions
Sonido: Ess, Sonia
Computer Vision: JMyron, ReacTIVision,BlobDetection
Interface: proCONTROLL, Interfascia
. . .

J.B. Hayet

Processing-Python Mode, Julio 2015

,

7 / 20

Varios modos de programaci´on

Tres maneras de programar en Python (con el Python Mode)

Modo b´asico (dibujos est´aticos, codigo secuencial).
Modo continuo (animaci´on, funciones).
Modo objeto (clases Python).
Se puede adaptar a la audiencia. . .

J.B. Hayet

Processing-Python Mode, Julio 2015

,

8 / 20

Varios modos de programaci´on

Modo b´asico, programaci´on imperativa

s i z e ( 5 1 2 , 5 1 2 )
b a c k g r o u n d ( 2 5 5 )
n o S t r o k e ( )
f o r

i n r a n g e ( 1 0 0 ) :

i
f i l l ( random ( 2 5 5 ) , random ( 2 5 5 ) , random ( 2 5 5 ) )
x = random ( 5 1 2 )
y = random ( 5 1 2 )
r e c t ( x , y , 5 0 , 5 0 )

Ciclos, llamadas a funciones, variables. . .

J.B. Hayet

Processing-Python Mode, Julio 2015

,

9 / 20

Varios modos de programaci´on

Modo continuo, programaci´on procedural

d e f

s e t u p ( ) :
s i z e ( 7 2 9 , 7 2 9 )
b a c k g r o u n d ( 2 5 5 )
n o S t r o k e ( )
f r a m e R a t e ( 1 )

d e f draw ( ) :

d r a w C r o s s ( 0 , 0 , 7 2 9 )

J.B. Hayet

Processing-Python Mode, Julio 2015

10 / 20

,

Varios modos de programaci´on

Modo continuo, programaci´on procedural

d e f d r a w C r o s s ( x , y , w ) :

i f w<1:

r e t u r n

f i l l ( random ( 2 5 5 ) , random ( 2 5 5 ) , random ( 2 5 5 ) )
r e c t ( x+w/ 3 , y+w/ 3 ,w/ 3 ,w/ 3 )
r e c t ( x , y+w/ 3 ,w/ 3 ,w/ 3 )
r e c t ( x+2∗w/ 3 , y+w/ 3 ,w/ 3 ,w/ 3 )
r e c t ( x+w/ 3 , y , w/ 3 ,w/ 3 )
r e c t ( x+w/ 3 , y+2∗w/ 3 ,w/ 3 ,w/ 3 )
d r a w C r o s s ( x , y , w/ 3 )
d r a w C r o s s ( x+2∗w/ 3 , y , w/ 3 )
d r a w C r o s s ( x , y+2∗w/ 3 ,w/ 3 )
d r a w C r o s s ( x+2∗w/ 3 , y+2∗w/ 3 ,w/ 3 )

Funciones, recursiones. . .

J.B. Hayet

Processing-Python Mode, Julio 2015

11 / 20

,

Varios modos de programaci´on

Modo continuo, programaci´on procedural
Dos funciones invocadas por default:

setup() : al crear la ventana,
draw() : funci´on de dibujo llamada en cada ciclo (frecuencia
adaptable. . . )

Simulaci´on din´amica. . .

J.B. Hayet

Processing-Python Mode, Julio 2015

12 / 20

,

Varios modos de programaci´on

Modo continuo, programaci´on procedural
+ Handlers para eventos de rat´on, teclados. . .

mousePressed()
mouseReleased()
mouseMoved()
keyPressed()

...

Variables globales mouseX, mouseY, pmouseX, pmouseY. . .

J.B. Hayet

Processing-Python Mode, Julio 2015

13 / 20

,

Varios modos de programaci´on

Modo objeto: programaci´on orientada a objetos, clases. . .
Usar la applet de Processing en otro programa. . .
Usaremos clases en los talleres de rob´otica.

J.B. Hayet

Processing-Python Mode, Julio 2015

14 / 20

,

Varios modos de programaci´on

Implicit data types (int, float, boolean)
Arrays
Loops
Conditionals and Logical Operators
Strings
Variables and Scoping

J.B. Hayet

Processing-Python Mode, Julio 2015

15 / 20

,

Gr´aficos

Es lo m´as interesante del lenguaje:

se encarga de toda la parte generalmente t´ecnicamente delicada
de inicializaci´on integrando varias modalidades gr´aficas por
default (2D, 3D, OpenGL. . . ),
muy f´acil de crear animaciones, visualizaciones din´amicas aun
para debutante,
gr´aficos, sonidos, animaci´on son al centro del concepto.

J.B. Hayet

Processing-Python Mode, Julio 2015

16 / 20

,

Gr´aficos

J.B. Hayet

Processing-Python Mode, Julio 2015

17 / 20

,

Gr´aficos

Modo 2D

d e f

s e t u p ( ) :

s i z e ( 3 2 0 , 2 4 0 )
b a c k g r o u n d ( 1 5 3 )

d e f draw ( ) :

l i n e ( 0 , 0 , width , h e i g h t )

J.B. Hayet

Processing-Python Mode, Julio 2015

18 / 20

,

Gr´aficos

Modo P3D

d e f

s e t u p ( ) :

s i z e ( 3 2 0 , 2 4 0 , P3D)

d e f draw ( ) :

b a c k g r o u n d ( 0 )
s t r o k e ( 2 5 5 , 0 , 0 )
t r a n s l a t e ( w i d t h / 2 , h e i g h t / 2 )
r o t a t e X ( c o s ( frameCount ∗ PI / 3 0 0 ) )
l i n e ( 0 , 0 , 0 , width , h e i g h t , −200)
l i n e ( 0 , 0 , 0,− width , h e i g h t , −200)
l i n e ( width , h e i g h t , −200,− width , h e i g h t , −200)

J.B. Hayet

Processing-Python Mode, Julio 2015

19 / 20

,

Features adicionales

Soporte para im´agenes.
Soporte para manejo de v´ıdeo.
Unos esfuerzos para portar el OpenCV a Processing
https://github.com/atduskgreg/opencv-processing

J.B. Hayet

Processing-Python Mode, Julio 2015

20 / 20

,
  • Links de descarga
http://lwp-l.com/pdf8276

Comentarios de: Programar con Processing en Python (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad