美文网首页Python开发者电影首页投稿
星球大战与Python之间的那些事

星球大战与Python之间的那些事

作者: EarlGrey | 来源:发表于2016-01-07 15:22 被阅读108次
星球大战第七部:原力觉醒

阔别十年时光,全球瞩目的第七部星球大战电影《原力觉醒》将于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

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

stars wars跑酷游戏,Python开发

欢迎扫描下方二维码关注我的公众号“编程派”,谢谢大家的支持!

相关文章

  • 星球大战与Python之间的那些事

    阔别十年时光,全球瞩目的第七部星球大战电影《原力觉醒》将于2016年1月9日在国内上映。它将重新燃起那段神秘的太空...

  • Java与Python使用grpc跨平台调用

    本文通过grpc实现java与java之间的通信、java和python之间的相互调用、python与python...

  • python与mysql那些事

    如此的青梅竹马,我确没有给你们个合影,惭愧。开整 所有驱动展览表: MYSQLdb----基于c api---好像...

  • 我与俩夫妻之间的那些事

    七月份,孩子放假了,我闲着无事,就去粉店找了一份暑假工。 老板三十出头,是我们县城人,妻子是河南的,两个人在广东打...

  • 朋友之间的那些事

    这世界上很难找得出同样时间出生,同样时间死亡的人,因此,每个人都是你生命的过客,你也成为了别人生命的过客。每个人的...

  • 日月之间的那些事

    文/千年一眼 工作太忙,重温这本神话经典的速度也有点慢,边读边开脑洞:“后羿射日”到“嫦娥奔月”,中间有多少纠葛?...

  • 婆媳之间的那些事

    在朋友看来,我似乎没有婆媳相处上的困扰,结婚好几年,我们一直跟公婆住在一起,相安无事 有人说是因为我有幸遇到了好婆...

  • 亲子之间的那些事!

    人性?什么称作人性的 人性是对真善美的追求 和对假恶丑的厌恶.人性是从根本上决定并解释着人类行为的那些人类天性.人...

  • 婆媳之间的那些事

    1 噼噼啪啪一阵炮声, 新娘终于要下车了,路边上,早已堆满了等候的人们,火急火燎的都探头, 争先恐后向婚车...

  • 邻里之间的那些事

    疫情在家,难免会遇到一些邻里之间的纠纷,可是每次的纠纷总会令人唏嘘不已,今天由于挖小河,几家邻居斗的不可开交...

网友评论

    本文标题:星球大战与Python之间的那些事

    本文链接:https://www.haomeiwen.com/subject/dtyfkttx.html