La imagen de arriba se llama hexa-glifo. Los hexaglifos son algunos patrones geniales que inventé mientras hacía garabatos durante mi clase DiffEq. Así es como haces uno:
- Considere el siguiente conjunto de puntos, con forma de hexagrama regular. El hexágono interno es el que contendrá el glifo final, mientras que los 6 puntos externos forman una estrella y es donde comenzaremos a dibujar nuestras líneas.
- De los seis puntos externos, seleccione aleatoriamente un par. Para mayor eficiencia, debería haber al menos otro punto entre los dos puntos seleccionados (de lo contrario, no tendría ningún efecto en la figura final). Luego, desde cada uno de los dos puntos, lanza un rayo hacia el otro. Este rayo está bloqueado por líneas anteriores.
- Repita este proceso hasta que se hayan formado los 9 bordes, como se muestra en las siguientes imágenes.
- Aquí hay un ejemplo de rayos bloqueados. Los extremos del segmento del rayo todavía son visibles, pero la porción central está ocluida por los dos primeros segmentos que dibujamos.
- Estos dos rayos también están "bloqueados", pero esto no causa ninguna diferencia visible porque están bloqueados por la misma otra línea.
- Avance rápido hasta que se dibujan las 9 líneas. Si desea una explicación más detallada de estos pasos omitidos, puedo exponer.
- Finalmente, elimina los puntos de la estrella. Para que parezca más bonito, también se eliminan los puntos gruesos.
El reto
Su desafío es generar una representación visual de un hexaglifo aleatorio. Este es el código de golf, gana la menor cantidad de bytes.
Todos los hexaglifos posibles deben aparecer con alguna probabilidad positiva. Se generan diferentes hexaglifos al cambiar el orden en que se dibujan los 9 bordes.
Además, todas las imágenes producidas por su programa deben ser hexaglifos válidos. Ciertos patrones (como un esquema completo del hexágono interno) no pueden aparecer como un hexaglifo, por lo que el programa no debe generarlos.
El resultado debe ser una imagen gráfica (impresa en pantalla o archivo).
El hexágono debe ser regular, pero puede aparecer en cualquier orientación.
Las reflexiones / rotaciones no se consideran únicas. (Esto podría hacer que el requisito 1 sea más fácil de seguir).
'01'
espacio intercalado en lugar de ' *'
.
I made up while doodling during my DiffEq class
. La forma en que ocurren todos los grandes descubrimientos ...: P