qhull не сообщает соседние грани
Я новичок в qhull, и у меня есть вопрос о том, как его использовать. Я протестировал два набора точек для вычисления их выпуклых оболочек, но одна обычно сообщает о результате, в то время как другая не сообщает о соседних фасетах в каждой вершине и центрах каждой фасеты. Первый набор точек, который я использовал:
3
10
-0.25 -0.5 0.3125
0 -0.5 0.25
0.25 -0.5 0.3125
-0.375 0 0.140625
-0.125 0 0.015625
0.125 0 0.015625
0.375 0 0.140625
-0.25 0.5 0.3125
0 0.5 0.25
0.25 0.5 0.3125
и следующая команда
$ qhull.exe < data.txt f
в командной строке получает нормальный вывод:
Vertices and facets:
- p0(v3): -0.25 -0.5 0.31
neighbors: f3 f7 f10 f17 f18
- p7(v2): -0.25 0.5 0.31
neighbors: f3 f7 f8 f25 f26
- p3(v0): -0.38 0 0.14
neighbors: f3 f8 f10
- p4(v6): -0.13 0 0.016
neighbors: f8 f10 f18 f24 f26 f27
- p9(v7): 0.25 0.5 0.31
neighbors: f13 f7 f20 f25 f28
- p2(v5): 0.25 -0.5 0.31
neighbors: f7 f13 f17 f22 f23
- p6(v1): 0.38 0 0.14
neighbors: f13 f20 f22
- p1(v8): 0 -0.5 0.25
neighbors: f17 f18 f23 f24
- p5(v9): 0.13 0 0.016
neighbors: f20 f22 f23 f24 f27 f28
- p8(v10): 0 0.5 0.25
neighbors: f25 f26 f27 f28
...
но когда я попробовал этот набор точек:
3
10
-0.66247 6.77857e-17 0.438866
-0.470008 -0.628891 0.616412
0.66247 -6.77857e-17 0.438866
0 -0.628891 0.395504
0.496414 -0.664223 0.687619
-0 0.628891 0.395504
-0.125 0 0.015625
-0.496414 0.664223 0.687619
0.470008 0.628891 0.616412
0.125 -0 0.015625
результат не может сообщить соседний фасет для каждой вершины:
Vertices and facets:
- p6(v5): -0.13 0 0.016
- p7(v2): -0.5 0.66 0.69
- p0(v0): -0.66 6.8e-017 0.44
- p8(v6): 0.47 0.63 0.62
- p4(v3): 0.5 -0.66 0.69
- p2(v1): 0.66 -6.8e-017 0.44
- p1(v7): -0.47 -0.63 0.62
- p3(v8): 0 -0.63 0.4
- p9(v9): 0.13 -0 0.016
- p5(v10): -0 0.63 0.4
...
Также я попробовал C++ интерфейс qhull на втором наборе точек, список соседних фасетов в каждой вершине равен NULL. Почему это происходит?