美文网首页
Matplotlib:生成三维立方体网格模型

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

作者: 胜负55开 | 来源:发表于2019-11-09 22:21 被阅读0次

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

    模型包括如下内容:

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

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

    实现效果如下:

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

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

    相关文章

      网友评论

          本文标题:Matplotlib:生成三维立方体网格模型

          本文链接:https://www.haomeiwen.com/subject/kzxobctx.html