40
FlightGear— 自由開源的飛航模擬器 FlightGear— 自由開源的飛航模擬器 佟 輝 [email protected]

FlightGear— 自由開源的飛航模擬器 · 23 核心程式 OpenGL (Open Graphics Library) 核心視效引擎,使用C++語言 OpenAL (Open Audio Library) 核心声效引擎

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: FlightGear— 自由開源的飛航模擬器 · 23 核心程式 OpenGL (Open Graphics Library) 核心視效引擎,使用C++語言 OpenAL (Open Audio Library) 核心声效引擎

FlightGear— 自由開源的飛航模擬器FlightGear— 自由開源的飛航模擬器佟 輝

[email protected]

Page 2: FlightGear— 自由開源的飛航模擬器 · 23 核心程式 OpenGL (Open Graphics Library) 核心視效引擎,使用C++語言 OpenAL (Open Audio Library) 核心声效引擎

2

歡迎搭乘 COSCUP 航空公司的班機!● 本次航班機長—佟輝( tonghuix )● 第三次 COSCUP 飛航經驗( 2014 , 2015 , 2016 )● 在自由 / 開源的天空中“飛行”了五年,以深耕本地化社群與

開源本地化爲己任● 現在是自由軟體基金會( FSF )和 GNOME 基金會成員● 北京 GNU/Linux 用戶組( https://blug.sh)管理團隊● https://tonghuix.io

Page 3: FlightGear— 自由開源的飛航模擬器 · 23 核心程式 OpenGL (Open Graphics Library) 核心視效引擎,使用C++語言 OpenAL (Open Audio Library) 核心声效引擎

FlightGear是什麼?

Page 4: FlightGear— 自由開源的飛航模擬器 · 23 核心程式 OpenGL (Open Graphics Library) 核心視效引擎,使用C++語言 OpenAL (Open Audio Library) 核心声效引擎

4

FlightGear 是什麼?● 自由開源的飛航模擬軟體, GNU GPLv2 授權● 專案的目標是爲研究所、飛航訓練提供工業級、專業且可擴展的尖端飛航模擬

框架,並已獲得美國 FAA1 認證。同時也是一款跨系統開源遊戲。● 創始於 1996 年。 http://www.flightgear.org ●

1: FAA: Federal Aviation Administration 美國聯邦航空總署 Photo Credit by FlightGear

Page 5: FlightGear— 自由開源的飛航模擬器 · 23 核心程式 OpenGL (Open Graphics Library) 核心視效引擎,使用C++語言 OpenAL (Open Audio Library) 核心声效引擎

5

FlightGear 的特性——自由● 自由軟體, GPLv2 授權,完全開放原始碼,開放格式,使用開放資料

,開放資源● 自由飛行,全球任何地方都可以到達

Page 6: FlightGear— 自由開源的飛航模擬器 · 23 核心程式 OpenGL (Open Graphics Library) 核心視效引擎,使用C++語言 OpenAL (Open Audio Library) 核心声效引擎

6

FlightGear 的特性—— FDM● Flight Dynamics Models (飛航動態模組)● 自由選擇三種不同的 FDM—JSBSim 、 YASim 和 UUIC

Photo Credit by FlightGear

Page 7: FlightGear— 自由開源的飛航模擬器 · 23 核心程式 OpenGL (Open Graphics Library) 核心視效引擎,使用C++語言 OpenAL (Open Audio Library) 核心声效引擎

7

FlightGear 的特性——真實● 真實精確的地理數據,真實的城市場景,真實機場數據庫● 實時的天氣和氣候,天空颜色,天文学特性……

Page 8: FlightGear— 自由開源的飛航模擬器 · 23 核心程式 OpenGL (Open Graphics Library) 核心視效引擎,使用C++語言 OpenAL (Open Audio Library) 核心声效引擎

8

FlightGear 特性——可擴展的飛行器模型● 使用開放格式和開放標準開發可擴展的飛行器模型● 任何人都可以開發新的飛機或改進既有飛機

Photo Credit by FlightGear

Page 9: FlightGear— 自由開源的飛航模擬器 · 23 核心程式 OpenGL (Open Graphics Library) 核心視效引擎,使用C++語言 OpenAL (Open Audio Library) 核心声效引擎

9

FlightGear 特性——網路與多人遊戲● 全球最新地景與實時天氣資訊● 多人在線飛行● 兩人駕駛同一架飛機● 虛擬空中交通管制( ATC )

ATC-pie

Page 10: FlightGear— 自由開源的飛航模擬器 · 23 核心程式 OpenGL (Open Graphics Library) 核心視效引擎,使用C++語言 OpenAL (Open Audio Library) 核心声效引擎

10

用FlightGear可以做什麼?

Page 11: FlightGear— 自由開源的飛航模擬器 · 23 核心程式 OpenGL (Open Graphics Library) 核心視效引擎,使用C++語言 OpenAL (Open Audio Library) 核心声效引擎

11

玩, Just for Fun!● 無需高端配件,任何支援 OpenGL 3D 加速的 PC 和鼠標鍵盤● 搭配飛機操縱杆( Joystick )更佳

Photo Credit by FlightGear

Page 12: FlightGear— 自由開源的飛航模擬器 · 23 核心程式 OpenGL (Open Graphics Library) 核心視效引擎,使用C++語言 OpenAL (Open Audio Library) 核心声效引擎

12

玩之進階, for more Fun!● 全尺寸 Boeing 747-400 駕駛艙

Source: http://www.flightgear.org/Projects/747-JW/

Page 13: FlightGear— 自由開源的飛航模擬器 · 23 核心程式 OpenGL (Open Graphics Library) 核心視效引擎,使用C++語言 OpenAL (Open Audio Library) 核心声效引擎

13

跨界 x 融通

Page 14: FlightGear— 自由開源的飛航模擬器 · 23 核心程式 OpenGL (Open Graphics Library) 核心視效引擎,使用C++語言 OpenAL (Open Audio Library) 核心声效引擎

14

FlightGear x 數學:—航空數值計算仿真● MathWorks Aerospace Blockset for MATLAB

Source: https://www.mathworks.com/help/aeroblks/index.html

Page 15: FlightGear— 自由開源的飛航模擬器 · 23 核心程式 OpenGL (Open Graphics Library) 核心視效引擎,使用C++語言 OpenAL (Open Audio Library) 核心声效引擎

15

● 中國航空學會「 Airworthiness Compliance Verification Method Based on Simulation of Complex System 」(基於複雜系統仿真的適航性驗證方法)

Source: http://www.sciencedirect.com/science/article/pii/S1000936111604342

Page 16: FlightGear— 自由開源的飛航模擬器 · 23 核心程式 OpenGL (Open Graphics Library) 核心視效引擎,使用C++語言 OpenAL (Open Audio Library) 核心声效引擎

16

Page 17: FlightGear— 自由開源的飛航模擬器 · 23 核心程式 OpenGL (Open Graphics Library) 核心視效引擎,使用C++語言 OpenAL (Open Audio Library) 核心声效引擎

17

開源替代方案 Scilab/ScicosLab

Source: https://www.youtube.com/user/jgoppert/videos

Page 18: FlightGear— 自由開源的飛航模擬器 · 23 核心程式 OpenGL (Open Graphics Library) 核心視效引擎,使用C++語言 OpenAL (Open Audio Library) 核心声效引擎

18

FlightGear x 航空業:飛機師訓練● FlightGear 爲 FAA 認證的模擬器 ATC Flightim 提供視效仿真模擬

,以訓練飛航機師

Source: http://www.atcflightsim.com/

Page 19: FlightGear— 自由開源的飛航模擬器 · 23 核心程式 OpenGL (Open Graphics Library) 核心視效引擎,使用C++語言 OpenAL (Open Audio Library) 核心声效引擎

19

FlightGear x 航空業:民航學術研究● 南京航空航天大學「基於 FlightGear 的 A-SMGCS 場面活動三維仿真」

Source: http://wiki.flightgear.org/Professional_and_educational_FlightGear_users

Page 20: FlightGear— 自由開源的飛航模擬器 · 23 核心程式 OpenGL (Open Graphics Library) 核心視效引擎,使用C++語言 OpenAL (Open Audio Library) 核心声效引擎

20

FlightGear x 航空業:民航事故重現

Page 21: FlightGear— 自由開源的飛航模擬器 · 23 核心程式 OpenGL (Open Graphics Library) 核心視效引擎,使用C++語言 OpenAL (Open Audio Library) 核心声效引擎

21

FlightGeat x 政府:航空航天相關研究● NASA/Ames Human Centered System Lab

http://human-factors.arc.nasa.gov/

Page 22: FlightGear— 自由開源的飛航模擬器 · 23 核心程式 OpenGL (Open Graphics Library) 核心視效引擎,使用C++語言 OpenAL (Open Audio Library) 核心声效引擎

22

「開源專案大集合」——FlightGear

Page 23: FlightGear— 自由開源的飛航模擬器 · 23 核心程式 OpenGL (Open Graphics Library) 核心視效引擎,使用C++語言 OpenAL (Open Audio Library) 核心声效引擎

23

核心程式● OpenGL (Open Graphics Library) 核心視效引擎,使用 C++語言● OpenAL (Open Audio Library) 核心声效引擎● Nasal 腳本語言 動態實現● OpenSceneGraph 三維圖形處理工具,使用 C++語言● PLIB (Portable Game Library) 處理用戶界面和操縱杆輸入● GLUT 模擬器用戶界面● QT5 啓動器用戶界面

……

Page 24: FlightGear— 自由開源的飛航模擬器 · 23 核心程式 OpenGL (Open Graphics Library) 核心視效引擎,使用C++語言 OpenAL (Open Audio Library) 核心声效引擎

24

三維模型● Blender 三維建模,飛行器,機場,場景,物件● Gimp , Inkscape , Krita 編輯紋理、塗裝等

Page 25: FlightGear— 自由開源的飛航模擬器 · 23 核心程式 OpenGL (Open Graphics Library) 核心視效引擎,使用C++語言 OpenAL (Open Audio Library) 核心声效引擎

25

地理資訊系統( GIS )● OpenStreetMap ( Osm2city.py )

Photo Credit by FlightGear

Page 26: FlightGear— 自由開源的飛航模擬器 · 23 核心程式 OpenGL (Open Graphics Library) 核心視效引擎,使用C++語言 OpenAL (Open Audio Library) 核心声效引擎

26

Open Data● 開放且容易獲取的數字化天氣資訊● 開放易取的真實航行資料 (AIP1)● OpenAIP:

http://www.openaip.net/● 台灣機場 eAIP

http://eaip.caa.gov.tw/

AIP : Aeronautical Information Publication 航行資料彙編

Page 27: FlightGear— 自由開源的飛航模擬器 · 23 核心程式 OpenGL (Open Graphics Library) 核心視效引擎,使用C++語言 OpenAL (Open Audio Library) 核心声效引擎

27

傳承 x 扎根

Page 28: FlightGear— 自由開源的飛航模擬器 · 23 核心程式 OpenGL (Open Graphics Library) 核心視效引擎,使用C++語言 OpenAL (Open Audio Library) 核心声效引擎

28

二十年不變的情懷● 1996 年, David Murr 首次提出開發計劃● 1997 年明尼蘇達大學的學生 Curtis Olson 接棒,基

於 NASA 現有模擬器LaRCSim 開發

● 1999 年第一個版本釋出

Photo Credit by FlightGear

Page 29: FlightGear— 自由開源的飛航模擬器 · 23 核心程式 OpenGL (Open Graphics Library) 核心視效引擎,使用C++語言 OpenAL (Open Audio Library) 核心声效引擎

29

二十年不變的情懷● 2007 年 FlightGear 1.0 釋出● 2010 年 FlightGear 2.0 釋出

……● 2016 年 2 月 FlightGear 2016.1“ 舊金山”釋出● 2016 年 5 月 FlightGear 2016.2“ 巴塞羅那”釋出● 2016 年 9 月 FlightGear 2016.3“ 里約熱內盧”釋出!

Photo Credit by FlightGear

Source: http://wiki.flightgear.org/FlightGear_History

Page 30: FlightGear— 自由開源的飛航模擬器 · 23 核心程式 OpenGL (Open Graphics Library) 核心視效引擎,使用C++語言 OpenAL (Open Audio Library) 核心声效引擎

30

FlightGear 2016.3“ 里約熱內盧”

Page 31: FlightGear— 自由開源的飛航模擬器 · 23 核心程式 OpenGL (Open Graphics Library) 核心視效引擎,使用C++語言 OpenAL (Open Audio Library) 核心声效引擎

31

FlightGear 2016.3“ 里約熱內盧”

Page 32: FlightGear— 自由開源的飛航模擬器 · 23 核心程式 OpenGL (Open Graphics Library) 核心視效引擎,使用C++語言 OpenAL (Open Audio Library) 核心声效引擎

32

我的貢獻● 五年前開始投入 FlightGear 社群● 本地推廣● 向專有飛航模擬軟體社群推廣● 撰寫飛航教程和飛航實例(正在做)● 整飭中國大陸、香港地區機場(正在做)● 建立本地社群(正在做)

Page 33: FlightGear— 自由開源的飛航模擬器 · 23 核心程式 OpenGL (Open Graphics Library) 核心視效引擎,使用C++語言 OpenAL (Open Audio Library) 核心声效引擎

33

我的貢獻● 翻譯并维护《 FlightGear 手冊》簡體中文版本

https://github.com/tonghuix/getstart-zh

Page 34: FlightGear— 自由開源的飛航模擬器 · 23 核心程式 OpenGL (Open Graphics Library) 核心視效引擎,使用C++語言 OpenAL (Open Audio Library) 核心声效引擎

34

如何貢獻到FlightGear?

Page 35: FlightGear— 自由開源的飛航模擬器 · 23 核心程式 OpenGL (Open Graphics Library) 核心視效引擎,使用C++語言 OpenAL (Open Audio Library) 核心声效引擎

35

FlightGear 需要你● Screenshot, Videos● 文檔書寫或翻譯● 機場和導航數據開發● 地形整飭與修補● 核心開發● http://wiki.flightgear.org/Volunteer

Page 36: FlightGear— 自由開源的飛航模擬器 · 23 核心程式 OpenGL (Open Graphics Library) 核心視效引擎,使用C++語言 OpenAL (Open Audio Library) 核心声效引擎

36

提高真實感

Page 37: FlightGear— 自由開源的飛航模擬器 · 23 核心程式 OpenGL (Open Graphics Library) 核心視效引擎,使用C++語言 OpenAL (Open Audio Library) 核心声效引擎

37

完善身邊的機場

Page 38: FlightGear— 自由開源的飛航模擬器 · 23 核心程式 OpenGL (Open Graphics Library) 核心視效引擎,使用C++語言 OpenAL (Open Audio Library) 核心声效引擎

38

爲喜歡的航空公司制作塗裝 (texture)

Source: https://github.com/tonghuix/fg-coscup

Page 39: FlightGear— 自由開源的飛航模擬器 · 23 核心程式 OpenGL (Open Graphics Library) 核心視效引擎,使用C++語言 OpenAL (Open Audio Library) 核心声效引擎

39

建立在地化社群● 推廣未動,文檔先行● 台灣已經有人在做基礎工作

https://flightgear-tw.blogspot.com/● 與其他相關開源社群共同活動,推廣 FlightGear

Page 40: FlightGear— 自由開源的飛航模擬器 · 23 核心程式 OpenGL (Open Graphics Library) 核心視效引擎,使用C++語言 OpenAL (Open Audio Library) 核心声效引擎

40

謝謝聆聽!

佟 輝[email protected]