Comando Zip: diagonales desde un vértice de un polígono
Esta aplicación está diseñada para resolver un problema concreto y es un ejemplo de cómo se puede utilizar el comando ZIP que es más eficiente que el comando Sequence (Secuencia):
- Construir un polígono de un número de lados elegido por el usuario
- El polígono se puede mover desplazando su centro
- Se puede elegir un vértice concreto
- Se dibujan todas las diagonales que parten del vértice concreto
- Se definen los deslizadores: n es un deslizador entero de 3 a 30. R toma valores de 0.5 a 5 y es el radio del polígono regular que se desea dibujar. k toma valores enteros de 1 a n
- Se genera la lista de vértices: vertices = Zip[(x(C), y(C)) + R (cos(2π / n K), sen(2π / n K)), K, Secuencia[n]]
- Deseamos seleccionar uno de los vértices: verticeSeleccionado = {Elemento[vertices, k]}
- Generamos otra lista con todos los vértices excepto el vértice seleccionado y sus dos vértices adyacentes: verticesReducidos = vertices \ Secuencia[C + (R cos(2π / n j), R sen(2π / n j)), j, k - 1, k + 1] (hacemos uso del operador \ que sirve para quitar elementos de una lista: http://wiki.geogebra.org/es/Listas)
- Para dibujar las diagonales que parten del vértice seleccionado hemos usado: diagonales = Aplana[Zip[Zip[Segmento[X, Y], Y, verticesReducidos], X, verticeSeleccionado]] (puede resultar complicado de entender si no se está familiarizado con el comando Zip, en cuyo caso puede usarse un procedimiento más sencillo de entender: diagonales2= Secuencia[Segmento[Elemento[verticeSeleccionado,1],Elemento[verticesReducidos,k]],k,1,n-3])
Carlos Fleitas, febrero de 2014