063 Python必备库-从人机交互到艺术设计

时间:2022-10-01 07:35:22

一、概述

  • 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 Python必备库-从人机交互到艺术设计

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 Python必备库-从人机交互到艺术设计

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 Python必备库-从人机交互到艺术设计

三、Python库之游戏开发

3.1 PyGame

PyGame: 简单的游戏开发功能库,http://www.pygame.org

  • 提供了基于SDL的简单游戏开发功能及实现引擎
  • 理解游戏对外部输入的响应机制及角色构建和交互机制
  • Python游戏入门最主要的第三方库

063 Python必备库-从人机交互到艺术设计

3.2 Panda3D

Panda3D: 开源、跨平台的3D渲染和游戏开发库,http://www.panda3d.org

  • 一个3D游戏引擎,提供Python和C++两种接口
  • 支持很多先进特性:法线贴图、光泽贴图、卡通渲染等
  • 由迪士尼和卡尼基梅隆大学共同开发

063 Python必备库-从人机交互到艺术设计

3.3 cocos2d

ocos2d: 构建2D游戏和图形界面交互式应用的框架,http://python.cocos2d.org/

  • 提供了基于OpenGL的游戏开发图形渲染功能
  • 支持GPU加速,采用树形结构分层管理游戏对象类型
  • 适用于2D专业级游戏开发

063 Python必备库-从人机交互到艺术设计

四、Python库之虚拟现实

4.1 VR Zero

VR Zero: 在树莓派上开发VR应用的Python库,https://github.com/WayneKeenan/python-vrzero

  • 提供大量与VR开发相关的功能
  • 针对树莓派的VR开发库,支持设备小型化,配置简单化
  • 非常适合初学者实践VR开发及应用

063 Python必备库-从人机交互到艺术设计

4.2 pyovr

pyovr: Oculus Rift的Python开发接口,https://github.com/cmbruns/pyovr

  • 针对Oculus VR设备的Python开发库
  • 基于成熟的VR设备,提供全套文档,工业级应用设备
  • Python+虚拟现实领域探索的一种思路

063 Python必备库-从人机交互到艺术设计

4.3 Vizard

Vizard: 基于Python的通用VR开发引擎,http://www.worldviz.com/vizard-virtual-reality-software

  • 专业的企业级虚拟现实开发引擎
  • 提供详细的官方文档
  • 支持多种主流的VR硬件设备,具有一定通用性

063 Python必备库-从人机交互到艺术设计

五、Python库之图形艺术

5.1 Quads

Quads: 迭代的艺术,https://github.com/fogleman/Quads

  • 对图片进行四分迭代,形成像素风
  • 可以生成动图或静图图像
  • 简单易用,具有很高展示度

063 Python必备库-从人机交互到艺术设计

5.2 ascii_art

ascii_art: ASCII艺术库,https://github.com/jontonsoup4/ascii_ar

  • 将普通图片转为ASCII艺术风格
  • 输出可以是纯文本或彩色文本
  • 可采用图片格式输出

063 Python必备库-从人机交互到艺术设计

5.3 turtle

turtle: 海龟绘图体系,https://docs.python.org/3/library/turtle.html

063 Python必备库-从人机交互到艺术设计

063 Python必备库-从人机交互到艺术设计

六、单元小结

6.1 从人机交互到艺术设计

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