Выпуклая оболочка 3Д
Разработан новый метод определения характеристик легких человека. Определение объема
происходит с помощью специальных наноботов которые вдыхаются вместе с газом и равномерно
распределяются по легкому. Каждый нанобот непрерывно передает свои координаты на специальный
радиоуловитель. Так как наноботов очень много, то объем и площадь легкого можно
определить аппроксимируя эти показатели выпуклой оболочкой, построенной по координатам наноботов.
После измерений наноботы в течении дня сами выводятся из легких вместе с дыханием.
Ваша задача по заданному набору точек в пространстве рассчитать характеристики выпуклой оболочки: объем
и площадь! Выпуклая оболочка – это наименьшее выпуклое множество, содержащее все заданные точки. "Наименьшее множество" здесь означает наименьший элемент по отношению к вложению множеств, то есть такое выпуклое множество, содержащее все заданные точки, что оно содержится в любом другом выпуклом множестве, содержащем все заданные точки.
Входные данные
t – число тестов [t <= 100], затем следуют t тестовых последовательностей.
Каждая тестовая последовательность начинается с числа N количества заданных точек [10 <= N <= 1000].
Затем следует ровно N строк, в каждой из которых содержится по 3 вещественных числа Xi, Yi, Zi,
где [-10.0 <= Xi, Yi, Zi <= 10.0].
Выходные данные
Для каждого теста необходимо вывести два вещественных числа. Площадь и объем выпуклой оболочки с точностью 0.01
Пример
Входные данные:
1
10
0.00000 0.00000 0.00000
1.00000 0.00000 0.00000
0.00000 1.00000 0.00000
0.00000 0.00000 1.00000
1.00000 1.00000 0.00000
1.00000 0.00000 1.00000
0.00000 1.00000 1.00000
1.00000 1.00000 1.00000
0.50000 0.50000 0.50000
0.66666 0.77777 0.88888
Выходные данные:
6.0000 1.0000
|