python安装vpython_VPython:一个Python的3D图形动画库+被忽略的数据可视化功能
1 說明:
=====
1.1 VPython是一套簡單易用的三維圖形庫,使用它可以快速創(chuàng)建三維場景和動畫。
1.2 VPython 是python默認的3D模塊,與PyOpenGL相比,容易上手,無需太多編程技巧。
1.3 主要講解入門,對代碼進行修改,代碼為注釋版,同時講一講ta被人忽略的強大的數(shù)據(jù)可視化作圖功能。
1.4 支持中文,建議默認瀏覽器為谷歌瀏覽器。
2 準備:
=====
2.1 官網(wǎng):
https://www.vpython.org/ #網(wǎng)速慢https://vpython.org/ #網(wǎng)速慢https://www.glowscript.org/docs/VPythonDocs/index.htmlhttps://pypi.org/project/vpython/https://github.com/vpython/glowscript #GlowScript 3.0 VPython,是最新版的VPython,源代碼來自這里,進行修改2.2 環(huán)境:
華為筆記本電腦、深度deepin-linux操作系統(tǒng)、python3.8和微軟vscode編輯器。
2.3 安裝:
pip install vpython#本機安裝,采用清華國內源,超速sudo pip3.8 install -i https://mirrors.aliyun.com/pypi/simple vpython3 Helloworld:
==========
3.1 代碼:
from vpython import *#t = text(text='Faces forward', pos=vec(-4,0,0),color=color.cyan, billboard=True, emissive=True)#屏幕默認大小和背景顏色#注意vec=vectortext(text='Hello World', pos=vec(-4,0,0),color=color.cyan, billboard=True, emissive=True)3.2 操作和效果圖:
4 box和scene:
===========
4.1 代碼:
from vpython import *#注意不管scene.caption的位置放在哪里,都是在scene==canvas==畫布的下面顯示文字scene.caption = """3D text can be "billboard" text -- always facing you.你好"""#屏幕=scene大小==canvas=畫布==差不多scene.width = 500scene.height = 500#背景顏色,默認為黑色#scene.background = color.gray(0.9)scene.background = color.red#注意沒有box(),下面不顯示文字,也就是scene不顯示在瀏覽器中#pos==position==位置,初始位置0,0,0==屏幕中心#size==邊長==長=寬=高==1box(pos=vec(0,0,0), opacity=1, size=vec(1,1,1), texture=textures.flower)#scene.caption = """你好"""4.2 效果圖:
5 Bounce:
=======
5.1 代碼:
from vpython import *scene.caption = """1 滑動鼠標滑輪進行zoom放大縮小2 點擊右鍵進行旋轉"""side = 4.0thk = 0.3s2 = 2*side - thks3 = 2*side + thkwallR = box (pos=vector( side, 0, 0), size=vector(thk, s2, s3), color = color.red)wallL = box (pos=vector(-side, 0, 0), size=vector(thk, s2, s3), color = color.red)wallB = box (pos=vector(0, -side, 0), size=vector(s3, thk, s3), color = color.blue)wallT = box (pos=vector(0, side, 0), size=vector(s3, thk, s3), color = color.blue)wallBK = box(pos=vector(0, 0, -side), size=vector(s2, s2, thk), color = color.gray(0.7))ball = sphere (color = color.green, radius = 0.4, make_trail=True, retain=200)ball.mass = 1.0ball.p = vector (-0.15, -0.23, +0.27)side = side - thk*0.5 - ball.radiusdt = 0.3while True: rate(200) ball.pos = ball.pos + (ball.p/ball.mass)*dt if not (side > ball.pos.x > -side): ball.p.x = -ball.p.x if not (side > ball.pos.y > -side): ball.p.y = -ball.p.y if not (side > ball.pos.z > -side): ball.p.z = -ball.p.z5.2 效果圖:
===講解被忽略的數(shù)據(jù)可視化功能===
6 gdots:
======
6.1 代碼:
#散點圖==gdots==graph-dots==Scatterfrom vpython import *#oscillation = graph(title=s, x, y, fast=False, width=800)#圖表標題,支持中文,x和y坐標軸名稱,圖表寬800graph(, x, y, fast=False, width=800) #等同上面data=[[1,5],[4,2],[6,1],[2,5],[3,4]]funct3 = gdots(color=color.red, size=6, label='dots')funct3.plot(data)6.2 圖:其實內置plotly,簡單且強大。
7 gvbars:
=======
7.1 代碼:
'''#1組gvbars==graph-v-bars==垂直柱狀圖from vpython import *#圖表標題,支持中文,x和y坐標軸名稱,圖表寬800graph(, x, y, fast=False, width=800) data=[[1,5],[2,2],[3,3],[4,4],[5,6]]funct3 = gvbars(delta=0.4, color=color.green, label='bars')funct3.plot(data)'''#2組gvbars==graph-v-bars==垂直柱狀圖#備注:gvbars==ghbars≠gbarsfrom vpython import *#圖表標題,支持中文,x和y坐標軸名稱,圖表寬800graph(, x, y, fast=False, width=800) #數(shù)據(jù)1data1=[[1,5],[2,2],[3,3],[4,4],[5,6]]funct1 = gvbars(delta=0.4, color=color.green, label='bars-1')funct1.plot(data1)#數(shù)據(jù)2data2=[[1,3],[2,5],[3,4],[4,2],[5,2]]funct2 = gvbars(delta=0.4, color=color.red, label='bars-2')funct2.plot(data2)7.2 圖:
8 gcurve:
=======
8.1 代碼:
#2組gcurve==graph-curve==折線圖#也是Scatter兼顧from vpython import *#圖表標題,支持中文,x和y坐標軸名稱,圖表寬800graph(, x, y, fast=False, width=800) #數(shù)據(jù)1data1=[[1,5],[2,2],[3,3],[4,4],[5,6]]funct1 = gcurve(color=color.blue, width=4, markers=True, marker_color=color.black, label='curve-1')funct1.plot(data1)#數(shù)據(jù)2data2=[[1,3],[2,5],[3,4],[4,2],[5,2]]funct2 = gcurve(color=color.green, width=4, markers=True, marker_color=color.red, label='curve-2')funct2.plot(data2)8.2 效果圖:
===可用圖形簡單,但很方便===
大神,可以適當修改,位置在:
比如本機root下的位置
/usr/local/python3.8/lib/python3.8/site-packages/vpython/vpython.py
第2071行開始,適當增加即可。
放一個官網(wǎng)源代碼的圖,代碼就省略了。
===好強大呀,而且很簡單,國內基本沒有人介紹===
===自己整理并分享出來===
喜歡的點贊、評論、關注、轉發(fā)和收藏。
總結
以上是生活随笔為你收集整理的python安装vpython_VPython:一个Python的3D图形动画库+被忽略的数据可视化功能的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: springboot 前缀_Spring
- 下一篇: ios 自动打包命令_【实践】iOS使用