L'immagine sopra è chiamata hexa-glifo. Gli esa-glifi sono alcuni fantastici schemi che ho creato mentre scarabocchiavo durante la mia lezione DiffEq. Ecco come ne crei uno:
- Considera la seguente serie di punti, a forma di esagramma regolare. L'esagono interno è ciò che conterrà il glifo finale, mentre i 6 punti esterni formano una stella e sono dove inizieremo a disegnare le nostre linee.
- Dai sei punti esterni, seleziona casualmente una coppia. Per efficienza, dovrebbe esserci almeno un altro punto tra i due punti selezionati (altrimenti, non avrebbe alcun effetto sulla cifra finale). Quindi, da ciascuno dei due punti, lancia un raggio verso l'altro. Questo raggio è bloccato dalle righe precedenti.
- Ripetere questo processo fino a quando non sono stati formati tutti e 9 i bordi, come mostrato nelle prossime immagini.
- Ecco un esempio di raggi bloccati. Le estremità del segmento di raggio sono ancora visibili, ma la porzione centrale è occlusa dai primi due segmenti che abbiamo disegnato.
- Anche questi due raggi sono "bloccati", ma ciò non causa alcuna differenza visibile perché sono bloccati dalla stessa altra linea.
- Avanzamento rapido fino a quando non vengono tracciate tutte e 9 le linee. Se vuoi una spiegazione più dettagliata di questi passaggi saltati, posso esporre.
- Infine, rimuovi i punti della stella. Per renderlo più bello, vengono rimossi anche i punti spessi.
La sfida
La tua sfida è quella di produrre una rappresentazione visiva di un glifo-glifo casuale. Questo è code-golf, vince meno byte.
Tutti i possibili glifi glifi dovrebbero apparire con qualche probabilità positiva. Diversi hexa-glifi vengono generati cambiando l'ordine in cui vengono disegnati i 9 bordi.
Inoltre, tutte le immagini emesse dal tuo programma devono essere glifi glifi validi. Alcuni schemi (come un contorno completo dell'esagono interno) non possono apparire come un glifo-esfo, e quindi il programma non deve emetterli.
L'output dovrebbe essere un'immagine grafica (stampata su schermo o file).
L'esagono deve essere regolare, ma può apparire in qualsiasi orientamento.
Riflessioni / rotazioni non sono considerate uniche. (Ciò potrebbe rendere il requisito 1 più semplice da seguire).
'01'
con spazio interlacciato invece di ' *'
.
I made up while doodling during my DiffEq class
. Il modo in cui avvengono tutte le grandi scoperte ...: P