Programar con Processing en Python

Documentos relacionados
Programar con Processing

Librerías JavaScript Processing.js

PROCESSING. El interfaz del programa es el siguiente: Antes de iniciar su utilización, hay que saber algunos aspectos importantes.

03. Interpolar. Objetivo Interpolar los parámetros de una ilustración; modificar colores en el espacio HSB.

Gráficos por Computador

Tema: Processing y manejo de hardware con Arduino

INTRODUCCION. Quées Processing? Objetivos. Proyecto

Gráficos por Computador

TEMA 4: PROGRAMACIÓN

Gráficos por Computador

Diplomado C#.NET con Visual Studio

Gráficos por Computador

INTRODUCCIÓN...9 CAPÍTULO 1. ELEMENTOS DE UN PROGRAMA INFORMÁTICO...11

Flash: Animación para medios interactivos

Instrumentación virtual (Aplicaciones Educativas) José Manuel Ruiz Gutiérrez

Introducción a Arduino

Raspberry PI. Programa de Estudio.

Cómo abordamos la enseñanza de la programación?

Contenido. Prefacio Orígenes de la programación orientada a objetos... 1

Tema 1. Herencia y Polimorfismo

JAVA 7 Los fundamentos del lenguaje Java

Índice INTRODUCCIÓN...11 CAPÍTULO 1. SELECCIÓN DE ARQUITECTURAS Y HERRAMIENTAS DE PROGRAMACIÓN...13

Programación I Recursividad.

Ejecutar el instalador y seguir los pasos. Una vez instalado abrir el SDK Manager y seleccionar los paquetes necesarios. En nuestro caso son los

ING1310 Introducción a la Computación. Python. Conceptos Básicos. Carlos Reveco

Objetivos y Temario CURSO JAVA 7

FUNDAMENTOS DEL MOTOR DE JUEGO DE BLENDER 2.49b

Master en Java Certificación para Programadores

Clase 2: Programación

Especialista TIC en Diseño con Adobe Flash Cc y ActionScript 3.0

Adobe Dreamweaver CS6 Elementos multimedia

Actividad. Un lenguaje gráfico en el entorno educativo que permite representar la lógica de un diagrama de flujo es Flowol.

Experto en Diseño, Programacion y Creación Web

LENGUAJES JÓVENES PROGRAMADORES

Computación Gráfica = CG = Computer Graphics

Lenguaje Orientado por Objetos Simple, Poderoso y Fácil de aprender Robusto Interactivo Arquitectura neutral Interpretado y de alto desempeño

La última versión disponible cuando se redactó este manual era la 5 Beta (versión ), y sobre ella versa este manual.

UNIVERSIDAD RICARDO PALMA FACULTAD DE INGENIERÍA

Definición de Memoria

Tema 1 Introducción. David Vallejo Fernández. Curso 2007/2008. Escuela Superior de Informática

Introducción a Java. Dr. (c) Noé Alejandro Castro Sánchez

Introducción a Java LSUB. 30 de enero de 2013 GSYC

Rocío Abascal Mena Erick López Ornelas Sergio Zepeda Hernández. Hola Mundo con Processing

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.

Tema 5: Tratamiento de imágenes fijas.

TRABAJO DE TITULACIÓN PREVIO A LA OBTENCIÓN DEL TÍTULO DE INGENIERO EN MECATRÓNICA

CURSO DE PROGRAMACIÓN DESDE CERO CON UNITY BIENVENIDOS!

1

Universidad Autónoma de Tlaxcala. M.C. José Juan Hernández Mora. Primera Sesión

Bitbloq 2: Entorno de programación

Proyecto final de Ingeniería Electrónica

Visor del libro digital

APLICACIONES MÓVILES NATIVAS

Guía del Curso IFCD052PO PROGRAMACIÓN EN JAVA

Java para no Programadores

Lenguaje de Programación: C++ Directivas al preprocesador

José Luis Alonzo Velázquez

Java para no Programadores

PROGRAMACIÓN EN JAVA

Para crear un arreglo de cualquier tipo de elementos la sintaxis es:

Programa Formativo. Código: Curso: Programación con JAVA 8 SE Standard Edition Modalidad: ONLINE Duración: 120h.

Práctica 6. Localización de páginas web con SDL Trados Studio

Programación I. Carrera: IFM Participantes. Representantes de la academia de sistemas y computación de los Institutos Tecnológicos.

Evolución de la Programación Orientada a Objetos

Conceptos básicos de Arduino:

MATERIAL ADICIONAL... XV PRÓLOGO... XVII INTRODUCCIÓN...XXI

El lenguaje Visual Basic 2008

DEFINICIONES BÁSICAS DE LAS ESTRUCTURAS DE DATOS

Oracle Certified Associate, Java SE 8 Programmer

1. Explorando la ventana Python

La plataforma Arduino y su programación en entornos gráficos

Lenguaje de Programación: C++ GLUT (como instalarlo)

Transcripción:

Programar con Processing en Python J.B. Hayet CENTRO DE INVESTIGACIÓN EN MATEMÁTICAS 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úblico que no sabe de lenguajes en general enfocado a gráficos interactivos sonido vídeo animación... J.B. Hayet Processing-Python Mode Julio 2015 2 / 20

El lenguaje Processing Aplicaciones particularmente bien adaptadas: enseñanza: rudimentos programación hasta POO enseñanza: ilustración animada de conceptos prototipaje rápido de aplicaciones sketches visualización 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ódigo. Una consola. Una ventana gráfica 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ón. A un Sketch corresponde a un directorio en un directorio de Sketches. Los archivos de los Sketches tienen extensión.pde (Java) o.pyde (Python). Los diferentes archivos aparecen como pestañas en la ventana del código. J.B. Hayet Processing-Python Mode Julio 2015 6 / 20

Librerías disponibles Integrados Importación de datos XML SVG Exportación PDF DXF etc. Video Redes Comunicación serial External Contributions Sonido: Ess Sonia Computer Vision: JMyron ReacTIVisionBlobDetection Interface: procontroll Interfascia... J.B. Hayet Processing-Python Mode Julio 2015 7 / 20

Varios modos de programación Tres maneras de programar en Python (con el Python Mode) Modo básico (dibujos estáticos codigo secuencial). Modo continuo (animación 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ón Modo básico programación imperativa s i z e (512 512) background (255) nostroke ( ) f o r i i n range ( 1 0 0 ) : f i l l ( random ( 2 5 5 ) random ( 2 5 5 ) random ( 2 5 5 ) ) x = random (512) y = random (512) 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ón Modo continuo programación procedural d e f s e t u p ( ) : s i z e (729 729) background (255) nostroke ( ) framerate ( 1 ) d e f draw ( ) : drawcross ( 0 0 7 2 9 ) J.B. Hayet Processing-Python Mode Julio 2015 10 / 20

Varios modos de programación Modo continuo programación procedural d e f drawcross ( x y w ) : i f w<1: return 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) drawcross ( x y w/3) drawcross ( x+2 w/3 y w/3) drawcross ( x y+2 w/3 w/3) drawcross ( 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ón Modo continuo programación procedural Dos funciones invocadas por default: setup() : al crear la ventana draw() : función de dibujo llamada en cada ciclo (frecuencia adaptable... ) Simulación dinámica... J.B. Hayet Processing-Python Mode Julio 2015 12 / 20

Varios modos de programación Modo continuo programación procedural + Handlers para eventos de ratón 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ón Modo objeto: programación orientada a objetos clases... Usar la applet de Processing en otro programa... Usaremos clases en los talleres de robótica. J.B. Hayet Processing-Python Mode Julio 2015 14 / 20

Varios modos de programación 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áficos Es lo más interesante del lenguaje: se encarga de toda la parte generalmente técnicamente delicada de inicialización integrando varias modalidades gráficas por default (2D 3D OpenGL... ) muy fácil de crear animaciones visualizaciones dinámicas aun para debutante gráficos sonidos animación son al centro del concepto. J.B. Hayet Processing-Python Mode Julio 2015 16 / 20

Gráficos J.B. Hayet Processing-Python Mode Julio 2015 17 / 20

Gráficos Modo 2D d e f s e t u p ( ) : s i z e (320 240) background (153) 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áficos Modo P3D d e f s e t u p ( ) : s i z e (320 240 P3D) d e f draw ( ) : background ( 0 ) s t r o k e ( 2 5 5 0 0 ) t r a n s l a t e ( width /2 h e i g h t /2) r o t a t e X ( cos ( framecount PI / 300)) 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ágenes. 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