Comando Zip: un ejemplo práctico. Diagonales trazadas desde un vértice de un polígono

Etiquetas: 

El comando Zip es muy útil en Geogebra, pero algo desconocido. Está pensado para obtener secuencias a partir de elementos de otras secuencias.
Explicaciones en el Wiki de Geogebra (inglés): http://wiki.geogebra.org/en/Zip_Command
Explicaiones en el manual de Geogebra (castellano): http://wiki.geogebra.org/en/Manual:Zip_Command
Además se trata de un comando mucho más eficiente que el comando Sequence (Secuencia) utilizado en conjunción con el comando Element (Elemento).
Por ello es muy recomendable usar este comando cuando se trabaja con listas y secuencias grandes en aquellos casos en los que permite la obtención de las secuencias deseadas.

El archivo se ha realizado de la siguiente manera (con la configuración del idioma de Geogebra en inglés):

  • Defino los deslizadores para establecer el radio del polígono, el número de vértices y para elegir un vértice concreto (R, n, k)
  • Defino el punto C como futuro centro del polígono
  • Uso números complejos y el comando Zip para obtener la lista 'vertices': vertices= Zip[ C + R (cos(2π / n K), sin(2π / n K)), K, Sequence[n]]
  • Construyo el polígono: poly1 = Polygon[vertices]
  • Selecciono un vértice como elemento de una nueva lista: verticeSeleccionado = {Element[vertices, k]}
  • Obtengo una nueva lista de vértices excluyendo el vértice seleccionado y los dos vértices adyacentes: verticesReducidos = vertices \ Sequence[C + (R cos(2π / n j), R sin(2π / n j)), j, k - 1, k + 1]
  • Obtengo la lista de diagonales: diagonales= Flatten[Zip[Zip[Segment[X, Y], Y, verticesReducidos], X, verticeSeleccionado]] (El comando Flatten, Aplana en la versión de idioma castellano, convierte una lista de listas en una sola lista; su uso aquí no es imprescindible, pero resulta más elegante devolver una lista que no contenga a su vez listas)

Añadir nuevo comentario