У нас немає жодного виклику, як намалювати реальний тривимірний куб, тож ось це:
Виклик
Ваше завдання - намалювати повернутий кубик з перспективою. Це може бути в окремому вікні або як зображення.
Вхідні дані
Ваш вхід - 3 окремі числа від 0 до 359,99 ... Вони представляють обертання навколо осі x, y та z у градусах.
0 0 0
30 0 40
95 320 12
Вихідні дані
Ви можете або відобразити його в окремому вікні, або зберегти зображення. Ви можете використовувати будь-який тип дисплея (векторний, растрований тощо).
Редагувати: ASCII також дозволено, щоб дозволити мови для гольфу мати лише текстовий вихід.
Вихід для растрової або ASCII графіки повинен бути не менше 50 * 50 (пікселі для растерізації, символи для ASCII)
Додаткова інформація
Позитивна вісь z вказує з вікна, вісь x горизонтальна, а вісь y вертикальна. В основному стандарт OpenGL.
Обертання проти годинникової стрілки, якщо дивитися на куб у негативному напрямку конкретної осі, наприклад, дивлячись на вісь y.
Камера повинна знаходитись на осі z на відстані розумної відстані від куба у від’ємному напрямку z, куб повинен знаходитись у (0; 0; 0). The. куб також повинен бути повністю видимим і займати не менше 50% рамки малювання. Камера повинна дивитися в позитивному напрямку z на куб.
Обертання куба застосовуються в порядку x-> y-> z.
Куб обертається навколо його центру, він не рухається.
Для проектування куба на 2d простір потрібно розділити координати x і y куба на відстань, паралельне осі z між точкою та камерою.
Правила
Бібліотеки візуалізації дозволені, але вершини повинні бути визначені в коді. Немає модельного класу 3d кубів.
Тестові справи
google will tell you the formula.
Ні , виклики повинні містити якомога більше матеріалів та інформації, необхідних для їх вирішення, включених до основної публікації . Мені не потрібно було йти на гуглінг чи у Вікіпедію лише для того, щоб почати розуміти.