Paso 19: Trazar funciones y animaciones de la escritura
En su corazón, esta pantalla de cubo LED es una lista tridimensional de puntos. El programa de actualización de pantalla lee a través de esta lista, capa por capa, y luego escribe los valores de los registros de cambio que la luz los correspondientes puntos en el cubo del LED. La ventaja de esta configuración es que los valores de la lista pueden modificarse en cualquier momento, y el programa de actualización de pantalla automáticamente actualizará el cubo del LED para reflejar estas modificaciones.
Para simplificar la escritura animaciones, he escrito algunas funciones de dibujo simple para encender LEDs y apagar. Utilizan coordenadas cartesianas (que pueden tener valores de 0 a 3 en cualquier dirección) para especificar LEDs, por lo que quiere un conocimiento básico de coordenadas cartesianas antes de escribir tus propias animaciones.
diagrama (x, y, z, n) - esta función establece un solo LED en (x, y, z) para el valor n, que puede ser 0 (apagado) o 1 (on, valor por defecto).
plotFill (x1, y1, z1, x 2, y2, z2, n) -esta función llena un prisma rectangular con las esquinas opuestas (x1, y1, z1) y (x2, y2, z2) n. Nuevamente, n puede ser 0 o 1 (1 es el valor por defecto).
fullcube(n) y fullCube(n) - estas funciones son idénticas y llenar el cubo de LED todo con n, que puede ser 0 o 1 (1 es el valor por defecto).
clear(n) - Similar a fullcube, esta función llena el cubo entero con n, pero por defecto es 0 en vez de 1.
Estas son las funciones básicas de trazado y pueden utilizarse para crear tus propias animaciones siguiendo los siguientes pasos.
Aquí están los pasos básicos para escribir un capítulo de animación:
- Utilizar clear(), fullcube(0)o fullCube(0) para borrar el cuadro anterior y empezar con un "lona" en blanco
- Usar plot() y plotFill() para dibujar el marco
- Utilice la función incorporada de la sleep(t) para hacer una pausa durante t segundos después de mostrar el marco. Normalmente utilizo 0.075 como mi valor . Valores de t mayores causan una animación más lento y viceversa
- Repita para cada fotograma de la animación