楼主: 安然2016
2272 2

[软件应用] 星球大战与 Python 之间的那些事 [推广有奖]

  • 0关注
  • 13粉丝

讲师

7%

还不是VIP/贵宾

-

威望
0
论坛币
50136 个
通用积分
1.0002
学术水平
4 点
热心指数
12 点
信用等级
5 点
经验
5550 点
帖子
252
精华
0
在线时间
111 小时
注册时间
2016-2-16
最后登录
2017-5-25

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
阔别十年时光,全球瞩目的第七部星球大战电影《原力觉醒》于2016年1月9日在国内上映。它将重新燃起那段神秘的太空岁月与具有原力的宇宙时光。但是,星球大战和 Python 编程语言又有什么关系呢?

Python 与星球大战背后的工业光魔
提起 Python 语言,很多人会想起系统运维、Web开发等工作。很少有人会知道 Python 也能够用于电影视觉特效的制作,其中就包括了《星球大战》某些电影特效的制作。

星战之父乔治·卢卡斯于1975年创建了工业光魔Industrial Light and Magic,从第一部《星球大战》起便参与了电影的特效制作。据Python 官网介绍,工业光魔从1996年起开始使用 Python 语言,取代了此前的Unix shell脚本。工业光魔做出这个决定的原因,在于 Python 的学习难度低,开发速度快。当时, Python 还只是1.4版本。

工业光魔公司的Logo
电影特效行业竞争十分激烈,制作公司会不断地寻找更加优秀的编程语言,提高工作效率。工业光魔也是一直在评估 Python 语言的使用,但是近20年以来,还没有找到一个更好的替代品。

工业光魔的资深技术总监Tommy Burnette曾经这样评价道:

Python 在我们的生产流程中扮演了至关重要的作用。如果没有它,像《星球大战》第二部这样的大项目就很难完成。从集体渲染到批量处理再到影片合成, Python 将所有步骤都紧密的粘合在了一起。

由此可见 Python 的强大。

Star Wars API

你知道《星球大战》系列大战中出现了多少个种族,多少种飞船吗?这些答案都可以在Star Wars API中找到。

星球大战API
据开发者介绍,Star Wars API是全球首个量化的、可供编程使用的星战数据集。开发者经过漫长的搜集和整理,汇总了星战系列电影中的人物、种族、星球、飞船等详细数据。目前,这个API中已经收录了《原力觉醒》中的新数据。API的作者还用 Python 开发了一个helper库。

我们来看看可以用这个库做些什么。

将所有星球按大小排列:

import swapi
for planet in swapi.get_all("planets").order_by("diameter"):
    print(planet.name)
查看哪些人开过1艘以上的飞船:

import swapi
for people in swapi.get_all("people").iter():
    if len(people.starships) > 1:
        print(people.name)
检索Jar Jar Binks是否在电影中出现:

import swapi
pm = swapi.get_film(4)
jj = swapi.get_person(36)
for c in pm.get_characters().iter():
    if c.name == jj.name:
        print("Why George, why.")
Python 编写的Star Wars小游戏

最后,再与大家分享一个国外开发者用 Python 开发的星战相关游戏,希望大家喜欢。

访问地址:starwars.py

这个游戏类似现在的跑酷,通过上下左右方向键控制。

来自: 编程派




二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:python 星球大战 那些事 Industrial Characters 星球大战

沙发
rughtyoume 发表于 2016-2-27 13:13:16 |只看作者 |坛友微信交流群
赞一个!,沙发抢到!

使用道具

藤椅
leon_9930754 发表于 2016-3-27 12:57:55 |只看作者 |坛友微信交流群
谢谢分享

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-25 08:55