- 22, Oct 2024
- #1
Джо живет на Багамах. Сейчас зима. Его дети разочарованы отсутствием снега. Джо нужно сделать снег для своих детей. К счастью, у него есть 3D-принтер. Он планирует сделать из него снежинки. К сожалению, он понятия не имеет, как будет выглядеть снежинка. На самом деле он никогда не видел снежинки! Давайте поможем ему, создав программу, которая автоматически генерирует для него 2d-изображение снежинки.
Вход
Диаметр изображения (в пикселях), процент изображения, которое на самом деле является снежинкой.
Выход
Изображение снежинки необходимого диаметра. Его можно сохранить в файл или отобразить пользователю.
Технические характеристики
Создайте клин с углом 30 градусов. Создайте Броуновское дерево с начальным семенем в острие клина. Отразите клин вокруг центра изображения 12 раз, чтобы создать остальную часть изображения. Снежинка имеет белый цвет. Фон имеет черный цвет.
Подсчет очков
Поскольку существуют разные способы создания броуновского дерева, оценка равна 10 * количество голосов «за» — оценка в гольфе.
Счет в гольфе определяется как количество байтов в программе со следующими бонусами:
-20% Можно произвольно указать симметрию снежинки.
-50% Можно указать форму снежинки. (Благодаря возможности указать соотношение длин сторон клина.)
Побеждает наибольшее количество очков.
Вот изображение того, какой будет форма клина при соотношении примерно 2:
Табло:
Мартин Баттнер: 10 * 14 – 409 = -269
Ними: 10 * 1 — 733 * .5 = -356,5
Оптимизатор: 10 * 5 – 648 = -598
Победителем стал Мартин со счетом -269!
#code-challenge #graphical-output #geometry