星球大戰(zhàn)與Python之間的那些事
Python與星球大戰(zhàn)背后的工業(yè)光魔
提起Python語言,很多人會(huì)想起系統(tǒng)運(yùn)維、Web開發(fā)等工作。很少有人會(huì)知道Python也能夠用于電影視覺特效的制作,其中就包括了《星球大戰(zhàn)》某些電影特效的制作。
星戰(zhàn)之父喬治·盧卡斯于1975年創(chuàng)建了工業(yè)光魔(全稱:Industrial Light and Magic),從第一部《星球大戰(zhàn)》起便參與了電影的特效制作。據(jù)Python官網(wǎng)介紹,工業(yè)光魔從1996年起開始使用Python語言,取代了此前的Unix shell腳本。工業(yè)光魔做出這個(gè)決定的原因,在于Python的學(xué)習(xí)難度低,開發(fā)速度快。當(dāng)時(shí),Python還只是1.4版本。

電影特效行業(yè)競爭十分激烈,制作公司會(huì)不斷地尋找更加優(yōu)秀的編程語言,提高工作效率。工業(yè)光魔也是一直在評(píng)估Python語言的使用,但是近20年以來,還沒有找到一個(gè)更好的替代品。
工業(yè)光魔的資深技術(shù)總監(jiān)Tommy Burnette曾經(jīng)這樣評(píng)價(jià)道:
- Python在我們的生產(chǎn)流程中扮演了至關(guān)重要的作用。如果沒有它,像《星球大戰(zhàn)》第二部這樣的大項(xiàng)目就很難完成。從集體渲染到批量處理再到影片合成,Python將所有步驟都緊密的粘合在了一起。
由此可見Python的強(qiáng)大。
Star Wars API
你知道《星球大戰(zhàn)》系列大戰(zhàn)中出現(xiàn)了多少個(gè)種族,多少種飛船嗎?這些答案都可以在Star Wars API中找到。

據(jù)開發(fā)者介紹,Star Wars API是全球首個(gè)量化的、可供編程使用的星戰(zhàn)數(shù)據(jù)集。開發(fā)者經(jīng)過漫長的搜集和整理,匯總了星戰(zhàn)系列電影中的人物、種族、星球、飛船等詳細(xì)數(shù)據(jù)。目前,這個(gè)API中已經(jīng)收錄了《原力覺醒》中的新數(shù)據(jù)。API的作者還用Python開發(fā)了一個(gè)helper庫。
我們來看看可以用這個(gè)庫做些什么。
將所有星球按大小排列:
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是否在電影中出現(xiàn):
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小游戲
最后,再與大家分享一個(gè)國外開發(fā)者用Python開發(fā)的星戰(zhàn)相關(guān)游戲,希望大家喜歡。

這個(gè)游戲類似現(xiàn)在的跑酷,通過上下左右方向鍵控制。
是不是很酷!很贊!很期待!
相關(guān)文章
Python ckeditor富文本編輯器代碼實(shí)例解析
這篇文章主要介紹了Python ckeditor富文本編輯器代碼實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06
Python?Selenium無法打開Chrome瀏覽器處理自定義瀏覽器路徑的問題及解決方法
Python?Selenium控制Chrome瀏覽器的過程中,由于安裝的Chrome瀏覽器的版本找不到對(duì)應(yīng)版本的驅(qū)動(dòng)chromedriver.exe文件,下載了小幾個(gè)版本號(hào)的驅(qū)動(dòng)軟件都無法正常使用,下面通過本文介紹Python?Selenium無法打開Chrome瀏覽器處理自定義瀏覽器路徑的問題,需要的朋友可以參考下2024-08-08
Python3中關(guān)于cookie的創(chuàng)建與保存
今天小編就為大家分享一篇關(guān)于Python3中關(guān)于cookie的創(chuàng)建與保存的文章,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2018-10-10
Python實(shí)現(xiàn)PIL圖像處理庫繪制國際象棋棋盤
本文主要介紹了Python實(shí)現(xiàn)PIL圖像處理庫繪制國際象棋棋盤,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-07-07
python基于socket模擬實(shí)現(xiàn)ssh遠(yuǎn)程執(zhí)行命令
這篇文章主要介紹了python基于socket模擬實(shí)現(xiàn)ssh遠(yuǎn)程執(zhí)行命令,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下2020-12-12

