Задача A. Куб и конус

Автор:Ян Т.   Ограничение времени:5 сек
Входной файл:input.txt   Ограничение памяти:1512 Мб
Выходной файл:output.png  
Максимальный балл:100  

Условие

Создайте 3D модель, состоящую из куба и конуса. Нижнее основание куба со стороной 2м должно лежать в центре плоскости XY. Центр нижней грани куба должен совпадать с началом координат. Рёбра куба должны быть параллельны осям координат. Основание конуса должно полностью лежать на верхней грани куба. Диаметр основания равен 2м. Высота конуса равна 2м. Ребра, которые являются образующими конуса, должны быть сглажены. Остальные не должны быть сглажены. Модель не должна использовать материалы и текстуры.

В качестве решения следует отправлять файл формата OBJ (расширение .obj). Размер файла не должен превышать 1Мб.

Модель проверяется на основе попиксельного сравнения рендеров с указанных во входном файле ракурсов. В качестве метрики для сравнения рендеров моделей используется величина dssim. Баллы за каждый тест начисляются в зависимости от величины метрики.

Рис. 1
Рис. 2

Источник света:

TypePoint Light
Color(255, 255, 255)
Power1000W
Specular1.00
Radius0.1m
Location(4.07625 m, 1.00545 m, 5.90386 m)
Rotation(37.3, 3.16, 107)

Камера:

Focal Length50mm
Dimensions520x520

Формат входного файла

Во входном файле содержатся x, y, z — координаты камеры в метрах и rx, ry, rz — углы поворота в радианах.

Примеры тестов

Входной файл (input.txt) Выходной файл (output.png)
1
3.247246 0.572713 6.586146
0.623353 -0.000000 1.745370
Смотри рис. 1
2
4.063557 6.389879 5.386734
1.150240 -0.000000 2.575168
Смотри рис. 2

Задача B. Бочка

Автор:Ян Т.В.   Ограничение времени:5 сек
Входной файл:input.txt   Ограничение памяти:1512 Мб
Выходной файл:output.png  
Максимальный балл:8  

Условие

Вам необходимо разработать упрощенную 3D модель бочки.

Терминология

Бочка должна быть симметрична относительно оси Z. Геометрический центр модели должен находиться в точке начала координат. Любое сечение, перпендикулярное оси Z, имеет форму правильного шестиугольника. Размеры бочки показаны на рис. 1 и 2. Высота бочки — 50 см, радиус описанной окружности торца — 16 см, вписанной — 15 см. радиус описанной окружности каждого дна — 15 см, донья расположены на расстоянии 2 см от торца, клёпки скреплены двумя шейными обручами, ширина каждого — 5 см и толщина 1 см, радиус описанной окружности бочки — 20 см, расстояние между шейными обручами — 20 см.

Имеются рендеры из viewport с нескольких ракурсов в ортогональной проекции — рис. 3, рис. 4 и рис. 5. Обратите внимание, что рендеры также несут дополнительную информацию о форме, расположении и размерах модели. Модель не должна содержать текстур. Все единицы измерения должны соответствовать физическим величинам. Координаты в экспортируемой модели должны быть указаны в метрах.

Модель проверяется на основе попиксельного сравнения рендеров с указанных во входном файле ракурсов. К модели применяется автоматически созданный материал со случайно подобранным оттенком. В качестве метрики для сравнения рендеров моделей используется величина dssim по каждому цветовому каналу. Баллы за каждый тест начисляются в зависимости от величины метрики.

Рис. 1
Рис. 2
Рис. 3
Рис. 4
Рис. 5
Рис. 6
Рис. 7

Источник света:

TypeSun
Color(255, 255, 255)
Specular1.00
Strength10.0
Location(10 m, -10 m, 20 m)
Rotation(30, 30, 0)

Камера:

Focal Length50mm

Render Engine: Eevee

Формат входного файла

Во входном файле содержатся x, y, z — координаты камеры в метрах и rx, ry, rz — углы поворота в радианах.

Формат выходного файла

В качестве решения следует отправлять файл формата OBJ (расширение .obj). Размер файла не должен превышать 999997 Байт.

Примеры тестов

Входной файл (input.txt) Выходной файл (output.png)
1
0.769121 0.104515 0.577232
0.937262 0.310457 1.456047
Смотри рис. 6
2
-0.265041 -0.534795 0.099727
-1.386667 -0.679788 2.503420
Смотри рис. 7

Задача C. Русская изба

Автор:Ян Т.В.   Ограничение времени:5 сек
Входной файл:input.txt   Ограничение памяти:1512 Мб
Выходной файл:output.png  
Максимальный балл:100  

Условие

Вам необходимо разработать 3D модель избы.

Терминология

Стены сруба имеют одинаковую длину, длина одного бревна — 6 метров, диаметр — 40см, высота cруба — 3 метра. Модели бревен должны быть сглажены и состоять из минимально возможного количества полигонов. Нижнее основание избы должно лежать в плоскости XY, центр которой должен совпадать с началом координат. Стены, параллельные оси X, начинаются с плах. Дверь расположена со стороны отрицательной координаты оси Y на высоте 20см (радиус бревна). У избы есть 2 окна, в стенах, которые параллельны оси Y. Окна расположены на высоте двух бревен. Дверь и окна отцентрированы относительно стен, в которых они расположены. Толщина рамы окна — 10см и выступает рама на 10см от оконного стекла. Толщина дверной коробки — 10см м выступает она на 10см от двери.

Фронтоны крыши параллельны оси Y. Высота пика фронтона 4 метра. Высота от верхней точки фронтона до верхней точки кровли по Z — 20см. Нижняя часть кровли крыши выступает на 20см от стен. Расстояние от фронтона до краев крыши (козырек и кровля) — 40см.

Имеются рендеры из viewport с нескольких ракурсов в ортогональной проекции — Рис. 3, Рис. 4 и Рис. 5. Обратите внимание, что рендеры также несут дополнительную информацию о модели. В модели должны быть использованы материалы со следующими названиями: Door, FrameWindow, Glass, Roof, Wood. Модель не должна содержать текстур.

Модель проверяется на основе попиксельного сравнения рендеров с указанных во входном файле ракурсов. Используется этот материал. Файл с материалом должен называться solve.mtl. В качестве метрики для сравнения рендеров моделей используется величина dssim по каждому цветовому каналу. Баллы за каждый тест начисляются в зависимости от величины метрики.

Рис. 1
Рис. 2
Рис. 3
Рис. 4
Рис. 5

Источник света:

TypeSun
Color(255, 255, 255)
Specular1.00
Strength10.0
Location(10 m, -10 m, 20 m)
Rotation(30, 30, 0)

Камера:

Focal Length50mm

Render Engine: Eevee

Формат входного файла

Во входном файле содержатся x, y, z — координаты камеры в метрах и rx, ry, rz — углы поворота в радианах.

Формат выходного файла

В качестве решения следует отправлять файл формата OBJ (расширение .obj). Размер файла не должен превышать 999997 Байт.

Примеры тестов

Входной файл (input.txt) Выходной файл (output.png)
1
12.106017 -21.362740 7.596452
1.352770 -0.016627 0.518276
Смотри рис. 1
2
-7.702930 -14.359091 0.718060
1.719138 -0.042989 -0.500862
Смотри рис. 2

0.883s 0.012s 47