日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux安装python_VTK:华为笔记本电脑+深度deepin-linux+python下安装和入门

發(fā)布時(shí)間:2024/1/23 linux 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux安装python_VTK:华为笔记本电脑+深度deepin-linux+python下安装和入门 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1 說明:

=====

1.1 vtk,(visualization toolkit)是一個(gè)開源的免費(fèi)軟件系統(tǒng),主要用于三維計(jì)算機(jī)圖形學(xué)、圖像處理和可視化。

1.2 是一個(gè)開源、跨平臺、可自由獲取、支持并行處理的圖形應(yīng)用函數(shù)庫。

1.3 vtk的內(nèi)核是用C++構(gòu)建的。

1.4 是在三維函數(shù)庫OpenGL的基礎(chǔ)上采用面向?qū)ο蟮脑O(shè)計(jì)方法發(fā)展起來的。

1.5 可以自由的通過Java,Tcl/Tk和Python各種語言使用vtk,本文主要是用python3下使用vtk。

2 準(zhǔn)備:

=====

2.1 環(huán)境:

華為筆記本電腦、深度deepin-linux操作系統(tǒng)、python3.8和微軟vscode編輯器。

2.2 官網(wǎng):

https://vtk.org/https://gitlab.kitware.com/vtk/vtkhttps://lorensen.github.io/VTKExamples/site/Python/ #代碼來源#對官方代碼進(jìn)行修改、刪減、整理、注釋,符合國人和小白要求

2.3 源碼安裝:

#第一步:官網(wǎng),這個(gè)頁面https://vtk.org/download/#本機(jī)下載是這個(gè)文件,速度很慢,大概1個(gè)小時(shí)vtk-9.0.0-cp38-cp38-linux_x86_64.whl#第二步:將下載的文件放在桌面的VTK文件夾下,并打開終端進(jìn)入該文件夾cd /home/xgj/Desktop/VTK#安裝sudo pip3.8 install vtk-9.0.0-cp38-cp38-linux_x86_64.whl

安裝

驗(yàn)證安裝是否成功

3 Helloworld:

==========

3.1 熟悉wtk的GUI的基本設(shè)置:

3.1.1 窗口標(biāo)題名、窗口大小、窗口位置、背景顏色和代碼結(jié)構(gòu)。

3.1.2 代碼:

#方法一:import vtk#---第一層:繪制器---ren = vtk.vtkRenderer() # 負(fù)責(zé)管理場景的渲染過程#注意顏色定義類似opengl的ren.SetBackground(0.1, 0.2, 0.4) #在這里設(shè)置背景顏色:藍(lán)色#---第二層:繪制窗口---renWin = vtk.vtkRenderWindow()# 窗口標(biāo)題名renWin.SetWindowName("The first window") #不支持中文# 窗口大小renWin.SetSize(800, 800)# 設(shè)置窗口位置:默認(rèn)0,0==左上角renWin.SetPosition(10, 10)# 繪制窗口添加繪制器renWin.AddRenderer(ren)#---第三層:創(chuàng)建窗口交互器---iren = vtk.vtkRenderWindowInteractor()iren.SetRenderWindow(renWin)iren.Initialize()iren.Start()#方法二:import vtkdef main(): #---第一層:繪制器--- ren = vtk.vtkRenderer() # 負(fù)責(zé)管理場景的渲染過程 #注意顏色定義類似opengl的 ren.SetBackground(0.1, 0.2, 0.4) #在這里設(shè)置背景顏色:藍(lán)色 #---第二層:繪制窗口--- renWin = vtk.vtkRenderWindow() # 窗口標(biāo)題名 renWin.SetWindowName("The first window") #不支持中文 # 窗口大小 renWin.SetSize(800, 800) # 設(shè)置窗口位置:默認(rèn)0,0==左上角 renWin.SetPosition(10, 10) # 繪制窗口添加繪制器 renWin.AddRenderer(ren) #---第三層:創(chuàng)建窗口交互器--- iren = vtk.vtkRenderWindowInteractor() iren.SetRenderWindow(renWin) iren.Initialize() iren.Start()if __name__ == '__main__': main()#main() #方法三,省略,就是不要if-name-main

3.1.3 圖:

3.2 靜態(tài)helloworld:

3.2.1 代碼:

import vtk# Create a text actor.txt = vtk.vtkTextActor()txt.SetInput("Hello World") #不支持中文txtprop = txt.GetTextProperty()txtprop.SetFontFamilyToArial()txtprop.BoldOn()#字體大小設(shè)置txtprop.SetFontSize(36)txtprop.ShadowOn()txtprop.SetShadowOffset(4, 4)#文本顯示坐標(biāo),默認(rèn)0,0==左下角#注意300,300是指離左下角0,0的300,300的距離坐標(biāo),是固定不變的#不會(huì)隨著窗口變大而改變txt.SetDisplayPosition(300, 300)# 繪制器ren = vtk.vtkRenderer() # 負(fù)責(zé)管理場景的渲染過程#注意顏色定義類似opengl的ren.SetBackground(0.1, 0.2, 0.4) #在這里設(shè)置背景顏色:藍(lán)色# 繪制器添加演員ren.AddActor(txt)# 繪制窗口renWin = vtk.vtkRenderWindow()# 窗口標(biāo)題名renWin.SetWindowName("Hello World") #不支持中文# 窗口大小renWin.SetSize(800, 800)# 設(shè)置窗口位置:默認(rèn)0,0==左上角renWin.SetPosition(600, 20) #盡量居中# 繪制窗口添加繪制器renWin.AddRenderer(ren)# 創(chuàng)建窗口交互器iren = vtk.vtkRenderWindowInteractor()iren.SetRenderWindow(renWin)iren.Initialize()# 窗口讀取繪制器生成的圖形iren.Start()

3.2.2 圖:

3.3 動(dòng)態(tài)Hello world:

3.3.1 代碼:

import vtk#啟動(dòng)文字源碼框架,內(nèi)置的textSource = vtk.vtkTextSource()textSource.SetText("Hello World") #設(shè)置顯示文字textSource.SetForegroundColor(1.0, 0.0, 0.0) #字體顏色為紅色textSource.BackingOn()textSource.Update()#Create a mapper and actormapper = vtk.vtkPolyDataMapper()mapper.SetInputConnection(textSource.GetOutputPort())#和actor執(zhí)行動(dòng)作actor = vtk.vtkActor()actor.SetMapper(mapper)# 繪制器ren = vtk.vtkRenderer() # 負(fù)責(zé)管理場景的渲染過程#注意顏色定義類似opengl的ren.SetBackground(0.1, 0.2, 0.4) #在這里設(shè)置背景顏色:藍(lán)色# 繪制器添加actor,雖然有“演員”的意思,這里指執(zhí)行單元或者內(nèi)容ren.AddActor(actor) # 繪制窗口renWin = vtk.vtkRenderWindow()# 窗口標(biāo)題名renWin.SetWindowName("Hello world") #不支持中文# 窗口大小renWin.SetSize(800, 800)# 設(shè)置窗口位置:默認(rèn)0,0==左上角renWin.SetPosition(600, 20) #盡量居中# 繪制窗口添加繪制器renWin.AddRenderer(ren)# 創(chuàng)建窗口交互器iren = vtk.vtkRenderWindowInteractor()iren.SetRenderWindow(renWin)iren.Initialize()# 窗口讀取繪制器生成的圖形iren.Start()

3.3.2 效果圖:

4 官方3D圖:

=========

4.1 arrow=箭頭

4.1.1 代碼:

import vtk#---add------------#自帶箭頭源arrow_source = vtk.vtkArrowSource()# 映射器mapper = vtk.vtkPolyDataMapper()# 映射器添加數(shù)據(jù)源mapper.SetInputConnection(arrow_source.GetOutputPort())# 實(shí)例化執(zhí)行單元actor = vtk.vtkActor()# 執(zhí)行單元添加映射器actor.SetMapper(mapper)#---add-------------# 繪制器ren = vtk.vtkRenderer() # 負(fù)責(zé)管理場景的渲染過程#注意顏色定義類似opengl的ren.SetBackground(0.1, 0.2, 0.4) #在這里設(shè)置背景顏色:藍(lán)色# 繪制器添加執(zhí)行單元ren.AddActor(actor) #---add----------# 繪制窗口renWin = vtk.vtkRenderWindow()# 窗口標(biāo)題名renWin.SetWindowName("arrow") #不支持中文# 窗口大小renWin.SetSize(800, 800)# 設(shè)置窗口位置:默認(rèn)0,0==左上角renWin.SetPosition(600, 20) #盡量居中# 繪制窗口添加繪制器renWin.AddRenderer(ren)# 創(chuàng)建窗口交互器iren = vtk.vtkRenderWindowInteractor()iren.SetRenderWindow(renWin)iren.Initialize()# 窗口讀取繪制器生成的圖形iren.Start()

4.1.2 效果圖

4.2 cylinder=圓柱體:

4.2.1 代碼:

import vtk#定義主函數(shù)def main(): #加載自帶,實(shí)例化cylinder cylinder_source = vtk.vtkCylinderSource() #不設(shè)置,就是默認(rèn)的高和半徑 #cylinder_source.SetHeight(3.0) # 設(shè)置柱體的高 #cylinder_source.SetRadius(1.0) # 設(shè)置柱體橫截面的半徑 cylinder_source.SetResolution(8) #8條邊,特點(diǎn) #映射器 mapper = vtk.vtkPolyDataMapper() # 映射器添加數(shù)據(jù)源 mapper.SetInputConnection(cylinder_source.GetOutputPort()) # 實(shí)例化執(zhí)行單元 actor = vtk.vtkActor() # 執(zhí)行單元添加映射器 actor.SetMapper(mapper) #cylinder特點(diǎn) actor.RotateX(30.0) actor.RotateY(-45.0) # 繪制器 ren = vtk.vtkRenderer() # 負(fù)責(zé)管理場景的渲染過程 #注意顏色定義類似opengl的 ren.SetBackground(0.1, 0.2, 0.4) #在這里設(shè)置背景顏色:藍(lán)色 # 繪制器添加動(dòng)作 ren.AddActor(actor) # 繪制窗口 renWin = vtk.vtkRenderWindow() # 窗口標(biāo)題名 renWin.SetWindowName("cylinder") #不支持中文 # 窗口大小 renWin.SetSize(800, 800) # 設(shè)置窗口位置:默認(rèn)0,0==左上角 renWin.SetPosition(600, 20) #盡量居中 # 繪制窗口添加繪制器 renWin.AddRenderer(ren) # 創(chuàng)建窗口交互器 iren = vtk.vtkRenderWindowInteractor() iren.SetRenderWindow(renWin) iren.Initialize() # 窗口讀取繪制器生成的圖形 iren.Start()if __name__ == '__main__': main()

4.2.2 效果圖:

4.3 cube=正方體:

4.3.1 代碼:

import vtk#---在arrow代碼基礎(chǔ)上修改:改變處:arrow變cube------------# 讀取數(shù)據(jù)cube_source = vtk.vtkCubeSource()cube_source.Update()#記得加這句不加看不到模型,不同處# 建圖(將點(diǎn)拼接成立方體)mapper = vtk.vtkPolyDataMapper()mapper.SetInputData(cube_source.GetOutput()) #因?yàn)閡pdate,所以選擇這個(gè)#mapper.SetInputData(cube_source.GetOutputPort()) #報(bào)錯(cuò),不同處# 根據(jù)創(chuàng)建執(zhí)行單元actor = vtk.vtkActor()actor.SetMapper(mapper)#這是cube=正方體表面顏色:紅色1.0, 0.0, 0.0actor.GetProperty().SetColor(0.1, 0.2, 0.4) #藍(lán)色#---改變處:arrow變cube-------------# 繪制器ren = vtk.vtkRenderer() # 負(fù)責(zé)管理場景的渲染過程#注意顏色定義類似opengl的ren.SetBackground(0.0, 0.0, 0.0) #在這里設(shè)置背景顏色:黑色# 繪制器添加執(zhí)行單元ren.AddActor(actor) # 繪制窗口renWin = vtk.vtkRenderWindow()# 窗口標(biāo)題名renWin.SetWindowName("cube") #不支持中文# 窗口大小renWin.SetSize(1600, 1200)# 設(shè)置窗口位置:默認(rèn)0,0==左上角renWin.SetPosition(300, 20) #盡量居中# 繪制窗口添加繪制器renWin.AddRenderer(ren)# 創(chuàng)建窗口交互器iren = vtk.vtkRenderWindowInteractor()iren.SetRenderWindow(renWin)iren.Initialize()# 窗口讀取繪制器生成的圖形iren.Start()

4.3.2 效果圖:

4.4 cone=圓錐體:

4.4.1 代碼:

import vtk#---在arrow代碼基礎(chǔ)上修改---#改動(dòng)1:僅僅:改arrow為conecone_source=vtk.vtkConeSource() # 映射器mapper = vtk.vtkPolyDataMapper()# 映射器添加數(shù)據(jù)源mapper.SetInputConnection(cone_source.GetOutputPort()) #改動(dòng)2:僅僅改arrow為cone# 實(shí)例化actor=執(zhí)行單元actor = vtk.vtkActor()# 執(zhí)行單元添加映射器actor.SetMapper(mapper)#---add-------------# 繪制器ren = vtk.vtkRenderer() # 負(fù)責(zé)管理場景的渲染過程#注意顏色定義類似opengl的ren.SetBackground(0.1, 0.2, 0.4) #在這里設(shè)置背景顏色:藍(lán)色# 繪制器添加執(zhí)行單元ren.AddActor(actor) #---add----------# 繪制窗口renWin = vtk.vtkRenderWindow()# 窗口標(biāo)題名renWin.SetWindowName("cone") #不支持中文,改動(dòng)3:僅僅:改arrow為cone# 窗口大小renWin.SetSize(800, 800)# 設(shè)置窗口位置:默認(rèn)0,0==左上角renWin.SetPosition(600, 20) #盡量居中# 繪制窗口添加繪制器renWin.AddRenderer(ren)# 創(chuàng)建窗口交互器iren = vtk.vtkRenderWindowInteractor()iren.SetRenderWindow(renWin)iren.Initialize()# 窗口讀取繪制器生成的圖形iren.Start()

4.4.2 效果圖:

4.5 disk=碟:

4.5.1 特點(diǎn):顏色設(shè)置的另外一種方法,與上面的數(shù)字法不同。

4.5.2 代碼:

import vtkdef main(): #調(diào)出顏色設(shè)置,實(shí)例化 colors = vtk.vtkNamedColors() #調(diào)出disk設(shè)置,實(shí)例化,自帶 diskSource = vtk.vtkDiskSource() # Create a mapper and actor. mapper = vtk.vtkPolyDataMapper() mapper.SetInputConnection(diskSource.GetOutputPort()) actor = vtk.vtkActor() #設(shè)置disk碟的actor執(zhí)行單元的顏色 actor.GetProperty().SetColor(colors.GetColor3d("Cornsilk")) actor.SetMapper(mapper) # 繪制器 ren = vtk.vtkRenderer() # 負(fù)責(zé)管理場景的渲染過程 #注意顏色定義類似opengl的數(shù)字法 #ren.SetBackground(0.1, 0.2, 0.4) #在這里設(shè)置背景顏色:藍(lán)色 #vtk自身的顏色設(shè)置法 ren.SetBackground(colors.GetColor3d("DarkGreen")) # 繪制器添加執(zhí)行單元 ren.AddActor(actor) # 繪制窗口 renWin = vtk.vtkRenderWindow() # 窗口標(biāo)題名 renWin.SetWindowName("disk") #不支持中文,改動(dòng)3:僅僅:改arrow為disk # 窗口大小 renWin.SetSize(800, 800) # 設(shè)置窗口位置:默認(rèn)0,0==左上角 renWin.SetPosition(600, 20) #盡量居中 # 繪制窗口添加繪制器 renWin.AddRenderer(ren) # 創(chuàng)建窗口交互器 iren = vtk.vtkRenderWindowInteractor() iren.SetRenderWindow(renWin) iren.Initialize() # 窗口讀取繪制器生成的圖形 iren.Start()if __name__ == '__main__': main()

4.5.3 效果圖:

4.6 sphere=球體:

4.6.1 代碼:

import vtk#自帶,sphere=球體,實(shí)例化調(diào)出sphere_source = vtk.vtkSphereSource()sphere_source.SetCenter(0, 0, 0)sphere_source.SetRadius(5.0)# 映射器mapper = vtk.vtkPolyDataMapper()# 映射器添加數(shù)據(jù)源mapper.SetInputConnection(sphere_source.GetOutputPort())# 實(shí)例化執(zhí)行單元actor = vtk.vtkActor()# 執(zhí)行單元添加映射器actor.SetMapper(mapper)# 繪制器ren = vtk.vtkRenderer() # 負(fù)責(zé)管理場景的渲染過程#注意顏色定義類似opengl的ren.SetBackground(0.1, 0.2, 0.4) #在這里設(shè)置背景顏色:藍(lán)色# 繪制器添加執(zhí)行單元ren.AddActor(actor) # 繪制窗口renWin = vtk.vtkRenderWindow()# 窗口標(biāo)題名renWin.SetWindowName("sphere") #不支持中文# 窗口大小renWin.SetSize(800, 800)# 設(shè)置窗口位置:默認(rèn)0,0==左上角renWin.SetPosition(600, 20) #盡量居中# 繪制窗口添加繪制器renWin.AddRenderer(ren)# 創(chuàng)建窗口交互器iren = vtk.vtkRenderWindowInteractor()iren.SetRenderWindow(renWin)iren.Initialize()# 窗口讀取繪制器生成的圖形iren.Start()

4.6.2 效果圖:

===自己整理并分享出來===

喜歡的就點(diǎn)贊、關(guān)注、評論、轉(zhuǎn)發(fā)和收藏。

總結(jié)

以上是生活随笔為你收集整理的linux安装python_VTK:华为笔记本电脑+深度deepin-linux+python下安装和入门的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。