日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

1 說明:

=====

1.1 我曾介紹過:《PyVista是一款python的可視化工具包(VTK)的高級API》,是很受喜歡的。

1.2 PyVista是VTK的Python/ target=_blank class=infotextkey>Python高級API,國內基本沒有介紹和教程。

1.3 PyVista比VTK、pyqt5和pyside2都簡單,所以,有必要再次深入介紹。

再發(fā):深入了解python的3D高級庫pyvista

 

2 生成gif并播放:

============

2.1 效果圖:

再發(fā):深入了解python的3D高級庫pyvista

 

2.2 代碼:

#第1步:導入模塊
import pyvista as pvimport numpy as np#第2步:3維坐標點取值范圍
x = np.arange(-10, 10, 0.25)
y = np.arange(-10, 10, 0.25)
#meshgrid的作用適用于生成網格型數(shù)據(jù)#可以接受兩個一維數(shù)組生成兩個二維矩陣,對應兩個數(shù)組中所有的(x,y)對x, y = np.meshgrid(x, y)#np.sqrt(x) : 計算數(shù)組各元素的平方根
r = np.sqrt(x ** 2 + y ** 2)
#獲取z值z = np.sin(r)
# Create and structured surface
grid = pv.StructuredGrid(x, y, z)#第3步:產生plt圖:靜態(tài)圖和gif動態(tài)圖
# Create a plotter object and set the scalars to the Z height
plt = pv.Plotter()#加入上面產生的gridplt.add_mesh(grid, scalars=z.ravel())#先按q退出靜態(tài)圖,進入動態(tài)圖gif展示print('Orient the view, then press "q" to close window and produce movie')
# setup camera and close
plt.show(auto_close=False)  #參數(shù)不能少#第4步:動態(tài)播放gif設置
# Open a gif,這個文件在根目錄下plt.open_gif("wave.gif")
#獲取點的參數(shù)pts = grid.points.copy()# Update Z and write a frame for each updated position
nframe = 30  #數(shù)值越大,動態(tài)展示時間越久
#[:nframe]是列表取值從0取到nframe個
for i in np.linspace(0, 2 * np.pi, nframe + 1)[:nframe]:
    #z值改變    z = np.sin(r + i)
    pts[:, -1] = z.ravel()
    #根系    plt.update_coordinates(pts)    plt.update_scalars(z.ravel())    plt.write_frame()# Close movie and delete object
plt.close()

3 球、線和圖例:

============

3.1 效果圖:

再發(fā):深入了解python的3D高級庫pyvista

 

3.2 代碼:

import pyvista as pv
# Create source to ray tracesphere = pv.Sphere(radius=0.85)
# Define line segmentstart = [0, 0, 0]
stop = [0.25, 1, 0.5]
# Perform ray tracepoints, ind = sphere.ray_trace(start, stop)# Create geometry to represent ray traceray = pv.Line(start, stop)intersection = pv.PolyData(points)# Render the result,調用圖p = pv.Plotter()#添加元素mesh,顏色設定、大小和文字標簽(圖例展示)#添加球==spherep.add_mesh(sphere,           show_edges=True, opacity=0.5, color="w",
           lighting=False, label="Test Mesh")
#添加線==rayp.add_mesh(ray, color="blue", line_width=5, label="Ray Segment")
p.add_mesh(intersection, color="maroon",
           point_size=25, label="Intersection Points")
#圖例展示p.add_legend()#圖片展示p.show()

4 布局subplot:

===========

4.1 效果圖:

再發(fā):深入了解python的3D高級庫pyvista

 

4.2 重點:

#第3步:定義一個圖,展示圖,布局shape=3*3
#就是3行3列
p = pv.Plotter(shape=(3, 3))

4.3 完整代碼:

#第1步:導入模塊
import pyvista as pv
#第2步:實例化模型,調用模型
cyl = pv.Cylinder()arrow = pv.Arrow()sphere = pv.Sphere()plane = pv.Plane()line = pv.Line()box = pv.Box()
cone = pv.Cone()poly = pv.Polygon()disc = pv.Disc()#第3步:定義一個圖,展示圖,布局shape=3*3
#就是3行3列
p = pv.Plotter(shape=(3, 3))
# Top row==第1行
p.subplot(0, 0)
p.add_mesh(cyl, color="tan", show_edges=True)
p.subplot(0, 1)
p.add_mesh(arrow, color="tan", show_edges=True)
p.subplot(0, 2)
p.add_mesh(sphere, color="tan", show_edges=True)
# Middle row==第2行
p.subplot(1, 0)
p.add_mesh(plane, color="tan", show_edges=True)
p.subplot(1, 1)
p.add_mesh(line, color="tan", line_width=3)
p.subplot(1, 2)
p.add_mesh(box, color="tan", show_edges=True)
# Bottom row==第3行
p.subplot(2, 0)
p.add_mesh(cone, color="tan", show_edges=True)
p.subplot(2, 1)
p.add_mesh(poly, color="tan", show_edges=True)
p.subplot(2, 2)
p.add_mesh(disc, color="tan", show_edges=True)
# Render all of themp.show()

分享到:
標簽:python
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定