063 Python必備庫-從人機交互到藝術設計


一、概述

  • Python庫之圖形用戶界面
  • Python庫之游戲開發
  • Python庫之虛擬現實
  • Python庫之圖形藝術

二、Python庫之圖形用戶界面

2.1 PyQt5

PyQt5: Qt開發框架的Python接口,https://www.riverbankcomputing.com/software/pyqt

  • 提供了創建Qt5程序的Python API接口
  • Qt是非常成熟的跨平台桌面應用開發系統,完備GUI
  • 推薦的Python GUI開發第三方庫

063-從人機交互到藝術設計-01.jpg?x-oss-process=style/watermark

2.2 wxPython

wxPython: 跨平台GUI開發框架,https://www.wxpython.org

  • 提供了專用於Python的跨平台GUI開發框架
  • 理解數據類型與索引的關系,操作索引即操作數據
  • Python最主要的數據分析功能庫,基於Numpy開發
import wx

app = wx.App(False)
frame = wx.Frame(None, wx.ID_ANY, "Hello World") frame.Show(True)
app.MainLoop()

063-從人機交互到藝術設計-02.jpg?x-oss-process=style/watermark

2.3 PyGObject

PyGObject: 使用GTK+開發GUI的功能庫,https://pygobject.readthedocs.io

  • 提供了整合GTK+、WebKitGTK+等庫的功能
  • GTK+:跨平台的一種用戶圖形界面GUI框架
  • 實例:Anaconda采用該庫構建GUI
import gi
gi.require_version("Gtk", "3.0")

from gi.repository import Gtk

window = Gtk.Window(title="Hello World")
window.show()
window.connect("destroy", Gtk.main_quit)
Gtk.main()

063-從人機交互到藝術設計-03.jpg?x-oss-process=style/watermark

三、Python庫之游戲開發

3.1 PyGame

PyGame: 簡單的游戲開發功能庫,http://www.pygame.org

  • 提供了基於SDL的簡單游戲開發功能及實現引擎
  • 理解游戲對外部輸入的響應機制及角色構建和交互機制
  • Python游戲入門最主要的第三方庫

063-從人機交互到藝術設計-04.jpg?x-oss-process=style/watermark

3.2 Panda3D

Panda3D: 開源、跨平台的3D渲染和游戲開發庫,http://www.panda3d.org

  • 一個3D游戲引擎,提供Python和C++兩種接口
  • 支持很多先進特性:法線貼圖、光澤貼圖、卡通渲染等
  • 由迪士尼和卡尼基梅隆大學共同開發

063-從人機交互到藝術設計-05.jpg?x-oss-process=style/watermark

3.3 cocos2d

ocos2d: 構建2D游戲和圖形界面交互式應用的框架,http://python.cocos2d.org/

  • 提供了基於OpenGL的游戲開發圖形渲染功能
  • 支持GPU加速,采用樹形結構分層管理游戲對象類型
  • 適用於2D專業級游戲開發

063-從人機交互到藝術設計-06.jpg?x-oss-process=style/watermark

四、Python庫之虛擬現實

4.1 VR Zero

VR Zero: 在樹莓派上開發VR應用的Python庫,https://github.com/WayneKeenan/python-vrzero

  • 提供大量與VR開發相關的功能
  • 針對樹莓派的VR開發庫,支持設備小型化,配置簡單化
  • 非常適合初學者實踐VR開發及應用

063-從人機交互到藝術設計-07.jpg?x-oss-process=style/watermark

4.2 pyovr

pyovr: Oculus Rift的Python開發接口,https://github.com/cmbruns/pyovr

  • 針對Oculus VR設備的Python開發庫
  • 基於成熟的VR設備,提供全套文檔,工業級應用設備
  • Python+虛擬現實領域探索的一種思路

063-從人機交互到藝術設計-08.jpg?x-oss-process=style/watermark

4.3 Vizard

Vizard: 基於Python的通用VR開發引擎,http://www.worldviz.com/vizard-virtual-reality-software

  • 專業的企業級虛擬現實開發引擎
  • 提供詳細的官方文檔
  • 支持多種主流的VR硬件設備,具有一定通用性

063-從人機交互到藝術設計-09.jpg?x-oss-process=style/watermark

五、Python庫之圖形藝術

5.1 Quads

Quads: 迭代的藝術,https://github.com/fogleman/Quads

  • 對圖片進行四分迭代,形成像素風
  • 可以生成動圖或靜圖圖像
  • 簡單易用,具有很高展示度

063-從人機交互到藝術設計-10.jpg?x-oss-process=style/watermark

5.2 ascii_art

ascii_art: ASCII藝術庫,https://github.com/jontonsoup4/ascii_ar

  • 將普通圖片轉為ASCII藝術風格
  • 輸出可以是純文本或彩色文本
  • 可采用圖片格式輸出

063-從人機交互到藝術設計-11.jpg?x-oss-process=style/watermark

5.3 turtle

turtle: 海龜繪圖體系,https://docs.python.org/3/library/turtle.html

063-從人機交互到藝術設計-12.jpg?x-oss-process=style/watermark

063-從人機交互到藝術設計-13.jpg?x-oss-process=style/watermark

六、單元小結

6.1 從人機交互到藝術設計

  • PyQt5、wxPython、PyGObject
  • PyGame、Panda3D、cocos2d
  • VR Zero、pyovr、Vizard
  • Quads、ascii_art、turtle


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM