Автор: | Dmitriy Merzlyakov | Ограничение времени: | 1 сек | |
Входной файл: | input.txt | Ограничение памяти: | 512 Мб | |
Выходной файл: | output.txt | |||
Максимальный балл: | 100 |
Заказчик выпускает 3-х мерный цилиндр единичного радиуса, на котором отмечены три точки, заданные в цилиндрических координатах (ϕi,zi), i = 1,2,3.
Юному программисту Васе поручено вырезать треугольник из цветной бумаги так, чтобы при наклеивании этого треугольника на цилиндр его вершины совпали с отмеченными точками, и чтобы такой треугольник не был наклеен сам на себя (при этом допускается пересечение по точкам или наличие общих сторон). Помимо этого такой треугольник должен быть невырожденным (иметь ненулевую площадь).
В дальнейшем, из этого цилиндра сделают развёртку путём разрезания цилиндра по любой прямой параллельной оси Z и разворачивания его на плоскость. Заказчик требует, чтобы любая такая прямая сечения пересекала этот треугольник не более 2-х раз.
Вася хочет минимизировать расход бумаги и поэтому собирается написать программу, которая по заданным 3 точкам на цилиндре определит наименьшую возможную площадь треугольника S > 0, который удовлетворяет всем указанным требованиям. Помогите Васе написать такую программу.
В i-ой (i = 1,2,3) строке содержатся числа ϕi,zi – координаты точек на цилиндре. При этом значения углов ϕi указаны в градусах.
Выходной файл содержит одно число S – минимальную возможную площадь треугольника с точностью не менее 5-го знака после запятой. Если такой треугольник построить нельзя – выведите 0.
Все входные значения являются целыми.
− 180 ≤ ϕi ≤ 180,
− 104 ≤ zi ≤ 104.
№ | Входной файл (input.txt ) |
Выходной файл (output.txt ) |
---|---|---|
1 |
|
|
2 |
|
|
Автор: | А. Баранов | Ограничение времени: | 1 сек | |
Входной файл: | input.txt | Ограничение памяти: | 512 Мб | |
Выходной файл: | output.txt | |||
Максимальный балл: | 100 |
Пусть имеется выпуклый многогранник и две плоскости, каждая из которых задается ортогональным к ней вектором U⃗k.
Известно, что плоскость можно сдвигать относительно начала координат
путем смещения всех составляющих ее точек на вектор S⃗k = tk ⋅ U⃗k|U⃗k|, где tk — произвольный скалярный параметр.
Требуется расположить указанные плоскости таким образом,
чтобы они разбивали исходный многогранник ровно на три части одинакового объема.
В начале входного файла "input.txt" записано число N, за которым следует 3 × N вещественных координат вершин.
Далее указано число M, за которым следует M граней, записанных в следующем виде.
Вначале для каждой грани указано число ее вершин, за которым следуют их индексы,
перечисленные в порядке их обхода для получения ограничивающего цикла грани.
При этом полагается, что нумерация вершин начинается с нуля.
В окончании входного файла записаны компоненты векторов, задающих плоскости
(сначала для 1-го, а затем для 2-го).
Если решение существует, в выходной файл "output.txt" следует вывести число 1
и пару вещественных параметров t1 и t2, указанных с точностью не менее 5-го знака после запятой.
В противном случае, выходной файл должен содержать единственное число 0.
Исходный многогранник является невырожденным (имеет ненулевой объем).
Все грани представляют собой выпуклые многоугольники.
Координаты всех вершин по модулю не превосходят 10.
Число вершин и граней не превосходит 100.
Гарантируется, что в пределах заданной
точности ответ может быть
получен однозначно.
№ | Входной файл (input.txt ) |
Выходной файл (output.txt ) |
---|---|---|
1 |
|
|
Автор: | Завгороднев А.А. | Ограничение времени: | 5 сек | |
Входной файл: | input.txt | Ограничение памяти: | 1512 Мб | |
Выходной файл: | output.png | |||
Максимальный балл: | 100 |
Вам необходимо исправить модель VR-шлема. Она содержит множество ненужных полигонов и "плохой" геометрии.
В исправленной модели должно быть не более 300 треугольников, но при этом она должна выглядеть точно также, как и исходная.
Модель доступна по ссылке.
Перед тестированием все полигоны триангулируются.
Модель проверяется на основе попиксельного сравнения рендеров с указанных во входном файле ракурсов. В качестве метрики для сравнения рендеров моделей используется величина dssim по каждому цветовому каналу. Баллы за каждый тест начисляются в зависимости от количества полигонов модели и он величины метрики.
Источник света:
Type | Sun |
Color | (255, 255, 255) |
Specular | 1.00 |
Strength | 10.0 |
Location | (10 m, -10 m, 20 m) |
Rotation | (30, 30, 0) |
Камера:
Focal Length | 50mm |
Render Engine: Eevee
Во входном файле содержатся x, y, z — координаты камеры в метрах и rx, ry, rz — углы поворота в радианах.
В качестве решения следует отправлять файл формата OBJ (расширение .obj
).
Размер файла не должен превышать 999997 Байт.
№ | Входной файл (input.txt ) |
Выходной файл (output.png ) |
---|---|---|
1 |
|
|
2 |
|