Наведене вище зображення називається гексагліфом. Гексагліфи - це якісь круті візерунки, які я склала під час малювання під час мого класу DiffEq. Ось як ви робите:
- Розглянемо наступний набір точок, що мають форму звичайної гексаграми. Внутрішній шестикутник - це те, що буде містити кінцевий гліф, тоді як зовнішні 6 точок утворюють зірку і саме там ми почнемо малювати наші лінії.
- Із зовнішніх шести точок випадковим чином виберіть пару. Для ефективності між двома вибраними точками має бути хоча б ще одна точка (інакше це не вплине на кінцеву цифру). Потім від кожної з двох точок киньте промінь назустріч іншій. Цей промінь блокується попередніми рядками.
- Повторіть цей процес, поки не сформуються всі 9 країв, як показано на наступних кількох зображеннях.
- Ось приклад заблокованих променів. Кінці променевого сегмента все ще видно, але середня частина оклюзірована першими двома сегментами, які ми намалювали.
- Ці два промені також "заблоковані", але це не спричиняє видимих різниць, оскільки вони блокуються тією ж іншою лінією.
- Швидке перемотування вперед, поки не намалюються всі 9 ліній. Якщо ви хочете більш детальне пояснення цих пропущених кроків, я можу викласти.
- Нарешті, видаліть точки зірки. Щоб вона виглядала красивіше, товсті крапки також видаляються.
Змагання
Ваша задача полягає у виведенні візуального зображення випадкового гексагліфа. Це кодовий гольф, виграє найменше байт.
Всі можливі гексагліфи повинні з’являтися з певною позитивною ймовірністю. Різні гексагліфи утворюються зміною порядку, в якому намальовано 9 ребер.
Крім того, всі зображення, видані вашою програмою, повинні бути дійсними гексагліфами. Певні візерунки (наприклад, повний контур внутрішнього шестикутника) не можуть відображатись як гексагліф, і тому програма не повинна виводити їх.
На виході має бути графічне зображення (друкується на екрані чи файлі).
Шестикутник повинен бути регулярним, але може з’являтися в будь-якій орієнтації.
Роздуми / обертання не вважаються унікальними. (Це може полегшити виконання вимоги 1).
'01'
з перемежованим простором замість ' *'
.
I made up while doodling during my DiffEq class
. Як відбуваються всі великі відкриття ...: P