安裝
可參考 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()
運行結果
是不是很漂亮,那個多邊形物體可以移動到不同位置以檢測流場 。
參考https://blog.csdn.net/qq_42731466/article/details/84894825
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
