Polígonos dinámicos
Se trata de un sencillo ejemplo de la utilización del comando Secuencia con finalidad experimental y artística.
LA CONSTRUCCIÓN:
- Usamos los deslizadores R y r para establecer el radio de dos circunferencias (en ambos deslizadores mostramos los textos Radio polígono exterior y Radio polígono interior como subtítulos y los mostramos en lugar de mostrar los nombres de las variables R y r).
- Definimos las circunferencias: b = Curva[R cos(t), R sen(t), t, 0, 2 pi] y c = Curva[r cos(t), r sen(t), t, 0, 2 pi]
- Usamos dos deslizadores adicionales (a y t) con valores de 0 a 2pi (Giro polígono).
- Definimos una secuencia de puntos sobre cada una de las dos circunferencias (de : listaInterior = Secuencia[(r cos(2π / n k + a), r sen(2π / n k + a)), k, 0, n - 1] listaExterior = Secuencia[(R cos(2π / i k + t), R sen(2π / i k + t)), k, 0, i - 1]
- Obsérvese que modificando los valores de los deslizadores a y t, lo que se consigue es girar los puntos correspondientes.
- Por último creamos una lista de listas de segmentos, Se trata de los segmentos que unen cada punto de una de las listas de puntos con todos los puntos de la otra: listaSegmentos = Zip[Zip[Segmento[A, B], A, listaExterior], B, listaInterior]
- Para crear movimiento, animamos los deslizadores que determinan el radio del polígono interior (animación oscilante) y los que determinan el ángulo de giro de ambos polígonos (animación creciente).
- Esas animaciones, finalmente, hemos hecho que estén controladas por tres casillas de control. Por ejemplo, la casilla de control Movimiento Polígono Exterior se llama d y va a controlar la animación del deslizador llamado t que es el que determina el giro del polígono exterior. Esto se consigue añadiendo un script (Al actualizar) al deslizador d: IniciaAnimación[t,d]
Carlos Fleitas, 2014