Я завантажив POV-ray і створив цю блискучу металеву сферу 90-х років:
Ваше завдання - зробити те ж саме, але зробити це, застосувавши механізм візуалізації самостійно в якомога менше байтах. Вам не доведеться повторювати це точне зображення - будь-яке зображення світловідбивної сфери над нескінченною шаховою дошкою буде робити, якщо воно відповідає критеріям, наведеним нижче.
Правила:
На зображенні має бути відображена відбивна сфера, що нависає над нескінченною шашкою. Як зображення шашки, так і його відображення у сфері повинні бути показані на зображенні. Повинно бути наочно зрозуміло, що це те, що ми бачимо. Крім цього, вам належать деталі геометрії, кольорів, властивостей матеріалу тощо.
На сцені повинно бути деяке освітлення: частини сфери повинні бути темнішими, ніж інші частини, і візуально слід мати можливість приблизно розповідати, звідки йде світло. Крім того, ви залежить від деталей моделі освітлення. (Ви можете придумати власну спрощену модель освітлення, якщо вам подобається.) Куля не повинна кидати тінь.
Вищеописані два критерії - чи справді це виглядає як блискуча сфера над шаховою дошкою, освітленою джерелом світла - буде оцінюватися громадою за допомогою голосування. Тому відповідь повинна мати позитивний бал, щоб мати право на перемогу.
Вихід повинен бути не менше 300х300 пікселів. Його можна відобразити на екрані або записати у файл, або це добре.
Ваш код повинен працювати менш ніж за годину на розумному сучасному комп’ютері. (Це щедро - POV-промінь надає вищезазначену сцену практично миттєво.)
Жодна вбудована функція відстеження променів не може використовуватися - ви повинні реалізувати візуалізатор самостійно.
Це код-гольф , тому позиція з позитивним балом із найкоротшим кодом (у байтах) виграє. Однак ви також можете грати в мета-гру, щоб отримати найбільшу кількість голосів, намалювавши гарне зображення (при цьому, звичайно, не дотримуючись код).
Цей виклик може здатися смішним важким, але оскільки геометрія закріплена, алгоритм відображення такої сцени шляхом відстеження променів є досить простим. Це насправді лише випадок ітерації над кожним пікселем у вихідному зображенні та оцінки математичного виразу, щоб побачити, яким він повинен бути колір, тому я оптимістичний, що ми побачимо кілька хороших відповідей.