本文主要向大家介绍了星球大战视觉特效背后的功臣—Python语言,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助。

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

mport 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有所帮助,更多内容请关注职坐标编程语言Python频道!

python可以写什么视觉特效_星球大战视觉特效背后的功臣—Python语言相关推荐

  1. python可以写什么视觉特效_星球大战视觉特效背后的功臣——Python

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

  2. 用vs写python和c++需要哪些工具包_从运行效率与开发效率比较Python和C++

    之前有人一直在说python怎么怎么好用,也有人说C++太难了,下面我做了一些笔记: 1.运行效率:C++ >> Python Python代码和C++最终都会变成CPU指令来跑,但一般情 ...

  3. python怎么写自己的名字_用python写一个序列图改名工具

    在工作中经常遇到辛苦渲染得到的序列图名字不对,怎么办! 求人不如求自己,用python写一个批量改名的工具,从此改名不求人.比如我想把名字为cat.01.jpg改为dog.001.jpg 写了半天,我 ...

  4. python实现异步的几种方式_终于搞明白了,异步Python比同步Python究竟快在哪里?...

    大家好,你是否听人们说过,异步 Python 代码比"普通(或同步)Python 代码更快? 果真是那样吗? 同步和异步是什么意思? Web 应用程序通常要处理许多请求,这些请求在短时间内来 ...

  5. python零基础入门教程免费版_毫无基础的人如何入门 Python ?Python入门教程拿走不谢啦!...

    随着人工智能的发展,Python近两年也是大火,越来越多的人加入到Python学习大军,对于毫无基础的人该如何入门Python呢?这里整理了一些个人经验和Python入门教程供大家参考. 如果你是零基 ...

  6. python全栈开发实践入门_讲书3分钟丨《Python全栈开发实践入门》 -讲书人 谢瑛俊...

    只需3分钟就能快速了解一本书! 由作(译)者发声讲书,直指新书的特点与主旨. 只需利用碎片化时间,省时省力选到适合自己的好书 音频链接 音频内容 大家好,我是<Python全栈开发实践入门> ...

  7. python人工智能入门优达视频_机器学习:优达教你搭建Python 环境的正确姿势

    原标题:机器学习:优达教你搭建Python 环境的正确姿势 为机器学习搭建好 Python 环境听起来简单,但有时候坑还不少.如果此前没有配置过类似的环境,很可能会苦苦折腾各种命令好几个小时.可是我明 ...

  8. python cmd命令 循环传参数_将参数从cmd传递给python脚本

    我在 python中编写脚本并通过输入以下命令运行cmd: C:\> python script.py 我的一些脚本包含基于标志调用的单独算法和方法. 现在我想通过cmd直接传递标志,而不是必须 ...

  9. python 引用库的点.号_给大家分享一些实用的Python库

    halo,大家好,我是特仑苏,今天给大家分享一些Python库,希望可以给大家带来一些用处! Python附带了几个预打包的库.但是,还有许多其他库可用于高级解释通用编程语言.您还可以从中了解异步Py ...

最新文章

  1. 如何跟踪session
  2. 关于Swift4.0 Method Swizzling(iOS的hook机制)使用
  3. NSPredicate的用法
  4. 连表查询使用in_SQL 组合查询
  5. hashlib 模块 摘要算法
  6. 如何解决Win11开始菜单无法固定的问题
  7. IEEE正推进制定量子计算标准
  8. 美国湾区2016年科技行业就业增长率出现骤降
  9. 【Android】笔记
  10. 五款中文分词工具在线PK: Jieba, SnowNLP, PkuSeg, THULAC, HanLP
  11. Julia : csv =hdf5
  12. 【Fiddler抓包】Fiddler基础用法-基于Fiddler5中文汉化版
  13. DIGITS使用步骤
  14. 智慧监狱UWB定位系统解决方案
  15. 无穷级数求和例题_无穷级数求和的若干方法(毕业论文).doc
  16. linux系统怎么拨号上网,linux配置上网 linux adsl拨号上网设置
  17. 【得之我幸,失之我命】分享下研究生阶段, IEEE论文投稿的心态和心路历程
  18. 小强统一认证中心-项目工程介绍
  19. java订单到期自动取消_订单自动过期实现方案
  20. Leetcode 208、实现Trie(前缀树)

热门文章

  1. 分享一个免费网页模板下载
  2. ubuntu 无线网卡 断网重连 教程
  3. JavaWeb中Session详解
  4. matlab中的round、ceil、floor、fix函数
  5. gpt磁盘标签linux,解决安装CentOS6.5时 报错 提示“sda 必须有一个GPT磁盘标签”
  6. shell脚本删除冒号空格_从Bash漏洞学Shell脚本(冒号)
  7. arguments,callee,caller
  8. 做软件架构设计,这个好用的画图工具推荐给你
  9. javascript操作office控件
  10. system game