使用python Mayavi 绘制矢量场图

系统 2229 0

安装

可参考 mayavi文档 http://docs.enthought.com/mayavi/mayavi/installation.html#installing-with-pip

首先安装 mayavi

            
               pip install mayavi
            
          

如果出现Microsoft Visual C++ 14.0 is required 则需安装对应的Windows c++库

可以参考https://blog.csdn.net/weixin_42057852/article/details/80857948

或者https://blog.csdn.net/gtf215998315/article/details/80194526

再安装PyQt5

            
              pip install PyQt5
            
          

安装好后接下来就是代码

代码

            
              import numpy as np
from mayavi import mlab
from sympy import *
from mayavi.mlab import *

def Demo():
    x,y,z = np.mgrid [0:1:20j , 0:1:20j , 0:1:20j]

    u = -y  
    v = x
    w = z #矢量场三坐标分量表达式

    x = Symbol('x')#引入符合x
    expr = sin(x)/ x#表达式形式
    f = lambdify(x,expr,"numpy")#表达式中x符合用数组代替
    data = np.linspace(1,10,10000)#取数组1至10,线性分割1000份

    print(data)
    print(f(data))#将数组data带入表达式

    mlab.quiver3d(u,v,w)#绘制矢量场
    mlab.outline()#绘制边框


def test_flow():
    x, y, z = np.mgrid[-5:5:40j, -5:54:40j, 0:4:20j]#x y z网格化,形成填充三维坐标数组
    u = y #矢量场x分量
    v = -x #矢量场y分量
    w = np.ones_like(z)*0.05#数组用1来填充  #矢量场z分量
    quiver3d(u, v, w,mask_points=10)#绘制矢量场
    obj = flow(u, v, w)#在矢量场中放置可移动物体以检查流场
    return obj

test_flow()

            
          

运行结果

使用python Mayavi 绘制矢量场图_第1张图片

是不是很漂亮,那个多边形物体可以移动到不同位置以检测流场 。

参考https://blog.csdn.net/qq_42731466/article/details/84894825


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论