---
title: "PROYECTO FINAL: Composición Interactiva"
---

# Generalidades

El proyecto consiste en que utilices Processing para desarrollar una **composición visual que cambie su aspecto a través de interacción de mouse y/o teclado**.

Opcionalmente puedes incorporar **cambios que sucedan de manera autónoma** (animación).

Sugerencias de aspectos visuales que puedes volver interactivos y/o animados:

* Posiciones
* Dimensiones
* Distancias / Separaciones
* Colores
* Grosores
* Cantidad de repeticiones
* Rangos de repeticiones
* Etc...

La idea es que además presentes un **contexto** en el cual visualices que esta composición interactiva podría existir.

Algunas sugerencias de contextos/formatos posibles para el proyecto:

* **Arte/Diseño interactivo**, en el que la audiencia es quien interactúa como parte de la obra
* **Simulación de inputs/outputs físicos**, en el que prototipas con interacciones de mouse y/o teclado a entradas de datos como sensores.
* **Herramienta interactiva**, que permite que alguien más o tú experimente y genere resultados visuales
* **Visuales en vivo / VJ**, en el que tú interactúas como *performer* con tu programa

# Aspectos técnicos

El código de tu proyecto ha de contener lo siguiente:

* Dibujo con líneas, figuras básicas, y/o polígonos
* Uso de colores o tonos de escala de grises
* Variables que funcionen como parámetros de dibujo
* Al menos un aspecto repetitivo expresado con ciclo `while` o `for`
* Uso del ciclo de animación con las funciones `setup()` y `draw()`

Además, ha de incorporar **al menos un** aspecto de interactividad que modifique algún parámetro de la composición:

* Posición del *mouse* en alguno de los ejes (`mouseX`, `mouseY`)
* Estado del *mouse* (`mousePressed`)
* Estado del teclado y teclas (`keyPressed`, `key`)

Opcionalmente, incorpora:

* Animación basada en acumuladores
* Aleatoriedad
* Repeticiones alternadas, ciclos anidados, etc.

# Entrega

La entrega del proyecto consistirá en tres partes:

* Avances del proceso
* Presentación en vivo
* Dossier en PDF

## Avances del proceso

Publica en el foro del Proyecto Final tus referencias, avances, bocetos, código, resultados, dudas, comentarios, etc. al final de cada sesión de trabajo.

Hacerlo te permitirá tener retroalimentación oportuna y te facilitará tener registrado tu proceso creativo para los otros dos puntos.

Si gustas publicar más seguido, ¡adelante!

## Presentación en vivo

Presentarás tu proyecto al grupo en la última sesión del curso.

Utiliza entre 5 y 8 minutos para compartirnos:

* Descripción general de tu proyecto: título, descripción, contexto
* Demostración del proyecto: imágenes y/o videos resultantes, demostración de interacciones 
* Documentación del proceso creativo: referencias, sketches, prototipos, hallazgos, obstáculos
* Conclusiones: lecciones, posible trabajo a futuro

## Dossier en PDF

Complementa tu presentación con un documento/diapositivas en PDF a entregar a más tardar al finalizar la última sesión del curso, en la sección correspondiente de Actividades.

Incluye en este documento/diapositivas:

* Descripción general de tu proyecto: título, descripción, contexto
* Demostración del proyecto: imágenes resultantes, enlaces a videos que demuestren la interacción
* Documentación del proceso creativo: referencias, sketches, prototipos, hallazgos, obstáculos
* Conclusiones: lecciones, posible trabajo a futuro
* Código fuente completo y documentado con comentarios

*Puedes utilizar este dossier como apoyo visual para tu presentación en vivo*

# Recomendaciones

**Documenta frecuentemente** tu proceso: Te recomiendo guardar **versiones distintas** del código cada vez que hagas cambios significativos, y hacer **capturas de imagen y/o video** en todas las etapas.

Estaré presente en las sesiones para asesoría y resolución de dudas a nivel individual y grupal. ¡No dudes en **compartir tus preguntas**!

# Notas relevantes

* [[Ciclo de animación]](/notas/draw.html)
* [[Interactividad con mouse y teclado]](/notas/interactividad.html)
* [[Animación en función del tiempo (*frameCount*)]](/notas/animacion-frameCount.html)
* [[Animación básica con acumuladores]](/notas/animacion-basica.html)
