Matplotlib:生成三维立方体网格模型

阿里云双11来了!从本博客参与阿里云,服务器最低只要86元/年!

需求:本人要生成如下的网络模型,因苦于没有找到合适的软件直接生成,只能借以matplotlib来完成。因为matplotlib并非三维建模的专家,因此用其生成的模型即使加了透明度,其当出现“面与面重叠”时,会叠加透明度数值!即:单个面的透明度是0.1;如果两个透明度是0.1的平面有重叠的区域,那么该重叠区域的透明度就线性增加到0.2!

模型包括如下内容:

  • 10 \times 10 \times 10的空间立方体网格模型;
  • 100个观测点阵列;
  • 1个由观测点所组成观测面;
  • 可人为定义的“地下特殊单元”,用不同颜色表示;

本程序实现的细节说明:本程序不是直接一个块体一个块体的生成模型,而是分6步,每一步生成”所有块体“的一个子面:比如第一步生成所有块体的上表面,第二步生成所有块体的下表面,第三步生成所有块体的前表面,以此类推共6步完成。
优点没有重叠面的产生!如果直接以块体为单位绘制,那么块体之间会有重叠的面,从而会导致透明度减弱!

实现效果如下:


图1:用matplotlib生成三维网格模型所能达到的最好效果图

完整可直接使用程序在这儿:3dmodel.py

https://www.jianshu.com/p/6478e908472c

Python量化投资网携手4326手游为资深游戏玩家推荐:《【游戏推荐】致命框架2丨敢不敢进入自己“导演”的游戏?

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论