使用Python使用顶点,法线和多边形(三角表面网格)绘制3d体积

时间:2018-09-06 16:49:52

标签: python python-3.x matplotlib scipy plotly

我正在处理从构建3d体积的软件工具中提取的数据。我承认我在绘制3D数据方面经验有限。

我能够绘制顶点的点云并查看体积的投影,但是无法根据给出的信息弄清楚如何生成3d体积。

我找到了一些资源,但不知道如何合并我的数据。

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

谢谢您的帮助。

0 个答案:

没有答案