Я скачал POV-ray и отрисовал этот блестящий металлический шар в стиле 90-х:
Ваша задача состоит в том, чтобы сделать то же самое, но сделать это, внедрив механизм рендеринга самостоятельно в как можно меньшее количество байтов. Вам не нужно копировать это точное изображение - подойдет любое изображение отражающей сферы над бесконечной шахматной доской, если оно соответствует критериям, приведенным ниже.
Правила:
Изображение должно изображать отражающую сферу, парящую над бесконечной шахматной доской. Как сама шахматная доска, так и ее отражение в сфере должны быть показаны на изображении. Должно быть визуально ясно, что это то, что мы видим. Помимо этого, детали геометрии, цвета, свойства материала и т. Д. До вас.
В сцене должно быть некоторое освещение: части сферы должны быть темнее, чем другие, и визуально должно быть возможно приблизительно определить, откуда исходит свет. Кроме того, детали модели освещения зависят от вас. (Вы можете придумать свою собственную упрощенную модель освещения, если хотите.) Сфера не должна отбрасывать тень.
Два вышеупомянутых критерия - действительно ли это выглядит как блестящая сфера над шахматной доской, освещенной источником света - будут оцениваться сообществом с помощью голосования. Таким образом, ответ должен иметь положительный балл, чтобы иметь право на победу.
Вывод должен быть не менее 300х300 пикселей. Это может быть отображено на экране или записано в файл, либо в порядке.
Ваш код должен быть запущен менее чем за час на разумном современном компьютере. (Это щедро - POV-ray визуализирует вышеуказанную сцену практически мгновенно.)
Никакая встроенная функция трассировки лучей не может быть использована - вы должны реализовать рендер самостоятельно.
Это код-гольф , поэтому выигрывает запись с положительным результатом и самым коротким кодом (в байтах). Тем не менее, вы также можете сыграть в мета-игру, чтобы набрать наибольшее количество голосов, нарисовав красивую картинку (при этом, конечно, оставляя код коротким).
Эта задача может показаться нелепо сложной, но поскольку геометрия фиксирована, алгоритм рендеринга такой сцены с помощью трассировки лучей довольно прост. На самом деле это просто случай итерации по каждому пикселю в выходном изображении и оценки математического выражения, чтобы увидеть, каким должен быть его цвет, поэтому я надеюсь, что мы увидим несколько хороших ответов.