---
title: "Reto: Transformando Oscilaciones"
---

# Descripción

Desarrolla una composición visual basada en la repetición de un elemento gráfico, donde cada instancia de ese elemento tenga un aspecto y/o comportamiento distinto pero relacionado al de sus vecinos.

Plantea la repetición utilizando expresiones de ciclo `for`, e invoca funciones trigonométricas (`sin()`, `cos()`) y/o de *noise* (`noise()`) para darle a cada elemento su aspecto y/o comportamiento distinto.

Obtén al menos tres variaciones distintas modificando parámetros numéricos de tu código.

Considera la aplicación de la composición visual: ¿es una portada de libro? ¿un póster? ¿el prototipo de un muro animado y/o interactivo?

## Parámetros

Considera que el *aspecto y/o comportamiento distinto* de cada elemento lo puedes realizar a partir de las siguientes cantidades, estáticas o en movimiento:

* Posiciones
* Dimensiones
* Ángulo(s) de rotación
* Colores
* Cantidad de componentes (e.g. cantidad de vueltas de espiral, cantidad de picos de estrella)
* etc

## Repetición

Algunas ideas para ordentar tu elemento usando repetición:

* Fila
* Cuadrícula
* Cuadrícula desfasada
* Aleatoria
* Alrededor de un punto
* y más...

# Entrega

## Avances

Comparte en el canal *#workshop* tus avances de cada día, siguiendo el cronograma especificado debajo.

Incluye lo siguiente, según aplique:

* Referencias visuales / Análogo
* Boceto(s) realizados
* Resultados visuales: Capturas y/o grabaciones de pantalla
* Descripción de tu proceso: cuáles eran tus objetivos, qué pudiste lograr, qué *obstáculos* y *hallazgos* encontraste, cómo te sentiste.
* Código fuente (formatéalo escribiendo \`\`\` antes y después del código) 
* Dudas que tengas

## Final

Cuando termines tu composición, compártela en el canal *#showroom*:

* Imágenes resultantes
* Título
* Breve descripción

## Retroalimentación

Comenta, pregunta y/o agrega *reacciones* a las publicaciones de las demás!

# Cronograma

Tendremos cinco sesiones para realizar el reto.

Los temas que revisaremos en cada una son:

1. Repaso y posibilidades de **repetición** con más de una variable (**cuadrículas**, **gradientes**)
2. **Oscilación** y funciones **trigonométricas**
3. Aleatorio pero continuo: **noise()**
4. **Coordenadas polares**
5. Integración

Los avances a lograr en cada sesión son:

1. Prototipo de *layout* general, con cuadrículas y gradientes
2. Experimenta implementando oscilación a tu composición:
	- Busca que cada elemento tenga un aspecto y/o comportamiento distinto pero relacionado a sus vecinos
3. Experimenta implementando *noise* a tu composición, en lugar o además de la oscilación:
	- Busca que cada elemento tenga un aspecto y/o comportamiento distinto pero relacionado a sus vecinos
4. Experimenta con coordenadas polares, ya sea con figuras u ordenamientos construidas con ellas
5. Completa y documenta tu composición con sus variaciones

# Notas relevantes

## Repetición

* [[Ciclos while y for]](/notas/ciclos.html)
* [[Repeticiones alternadas: Ciclos, módulo y condicionales]](/notas/ciclos-modulo.html)
* [[Ciclos anidados: Repetición en dos dimensiones]](/notas/ciclos-anidados.html)
* [[Gradientes de color]](/notas/gradientes.html)

## Oscilación

* [[Ángulos en radianes]](/notas/angulos.html)
* [[Funciones trigonométricas]](/notas/trig.html)
* [[Coordenadas polares]](/notas/coordenadas-polares.html)

## Animación

* [[Animación en función del tiempo (*frameCount*)]](/notas/animacion-frameCount.html)
* [[Animación básica con acumuladores]](/notas/animacion-basica.html)


