Más del práctico 3 - Ejercicio 1

Más del práctico 3 - Ejercicio 1

de Mauricio Eguia -
Número de respuestas: 0
En el ejercicio se pide dibujar 100 veces la misma displayList, con lo que todas las columnas de triángulos tienen la misma posición relativa entre los vértices de su geometría.
El ejercicio también propone que se utilice sólo una displayList, borrándola luego de dibujarla las 100 veces.

Notar que el movimiento de las columnas tiene un ciclo, llegando en algún momento a la disposición inicial.
Si queremos que cada una de las columnas tenga un período diferente, utilizar una única displayList no es la mejor opción, dado que la tendríamos que compilar 100 veces por render (dibujando una vez cada compilación), sin aprovechar la ventaja que nos brindan las displayLists.

Otra alternativa es pre-compilar un número fijo de posiciones, por ejemplo 50 posiciones diferentes de la columna tal que la posición 51 sea igual que la 1 en la secuencia). Las 50 posiciones se corresponden a un período.
Si se quiere que el período sea de X segundos, tenemos que pasar desde una posición a la siguiente en X/50 segundos. Si entre un render que se dibujó la posición 10 y el siguiente pasaron 2X/50 segundos, la siguiente posición a dibujar es la 12.
Para implementar esta solución hay que llevar el tiempo acumulado, índice en la secuencia de posiciones y valor del período, además de la ubicación espacial y color que hacen parte del ejercicio original.
En cada render, dependiendo del tiempo transcurrido se actualizan los tiempos acumulados y los índices de posición.

La contra de esta solución es que cuando el período es demasiado grande, se puede llegar a notar las transiciones entre una posición y la siguiente.

Saludos