Я работаю с данными, извлеченными из программного инструмента, который создает трехмерный том. Я признаю, что у меня ограниченный опыт работы с построением трехмерных данных.
Я могу построить облако точек вершин и увидеть проекцию объема, но не могу понять, как создать трехмерный объем на основе предоставленной информации.
Я нашел несколько ресурсов, но не могу понять, как включить мои данные.
https://plot.ly/matplotlib/trisurf/
https://plot.ly/python/surface-triangulation/
https://jakevdp.github.io/PythonDataScienceHandbook/04.12-three-dimensional-plotting.html
Данные экспортируются в формате xml, который содержит вершины, нормали и многоугольники.
Вот пример первых 20 строк для каждого набора данных.
Вершины:
41.3746 -71.9483 99.2939
39.9933 -72.2932 91.6082
38.8267 -70.5162 101.5837
38.8114 -70.5493 99.3570
38.5727 -73.5902 92.0325
37.3125 -71.8751 100.6382
37.3807 -72.1649 91.0248
36.9158 -73.7528 93.2086
35.6580 -69.5154 100.8038
35.7263 -71.1415 101.1432
35.9080 -70.5831 97.7718
35.5319 -72.4994 91.4847
34.3521 -72.1859 99.8825
32.6906 -72.1007 99.6359
32.6198 -72.3278 92.4205
32.6685 -73.8458 93.3337
30.9771 -72.1165 99.3694
31.0271 -73.6257 93.2930
29.4589 -71.7870 99.1600
30.0208 -72.2815 92.6133
Нормалы: я предполагаю, что это векторы, которые указывают перпендикулярно поверхности от вершин треугольника, который я надеюсь создать.
0.877852 0.284483 0.385287
0.644255 0.299658 -0.703662
0.294628 0.262932 0.918728
0.349551 0.805103 -0.479190
0.084823 -0.836902 -0.540740
-0.061349 -0.734605 0.675716
-0.127035 0.286592 -0.949593
-0.129635 -0.919106 -0.372075
-0.113247 0.513063 0.850847
-0.207400 -0.290761 0.934047
0.214917 0.860152 -0.462548
-0.374428 -0.181695 -0.909280
-0.111230 -0.679569 0.725131
-0.145622 -0.489935 0.859510
-0.123850 0.169284 -0.977755
0.016976 -0.863405 -0.504225
-0.188490 -0.405656 0.894380
-0.012185 -0.749568 -0.661815
-0.143628 -0.303794 0.941849
-0.099332 0.366513 -0.925095
Полигоны: я не уверен, что эти данные пытаются мне сказать или как использовать эти данные для генерации поверхностей тома. Я думаю, что это степень треугольников, но я не уверен в единицах этих значений.
Редактировать
Просто нашел дополнительную информацию в документации:
Полигоны (треугольники) перечислены как тройки целых чисел (i, j, k), где каждое целое число индексирует соответствующую вершину в списке вершин, начиная с 1. Индексы вершин упорядочены в направлении против часовой стрелки, когда треугольник просматривается из вне поверхности.
1649 1 4643
11229 11230 11231
11233 10615 1651
11234 11235 11236
11237 11238 11239
11240 11241 11242
1 11243 4648
11244 11245 11246
11247 11248 11249
11250 4652 5907
4648 6473 11252
11254 11255 11256
11257 11254 11258
11259 39102 11261
3051 1653 11260
4654 42 11263
6814 4654 5001
11265 11266 11267
11266 11268 11269
11269 11237 11270
Спасибо за любую помощь.