跳到主要內容

簡易檢索 / 詳目顯示

研究生: 蕭奕凱
Hsiao, Yi Kai
論文名稱: 支援虛實互動展演之程式環境
Programming Support for Cyber-Physical Interactive Performance Art
指導教授: 陳恭
Chen, Kung
學位類別: 碩士
Master
系所名稱: 理學院 - 資訊科學系
論文出版年: 2015
畢業學年度: 104
語文別: 中文
論文頁數: 80
中文關鍵詞: 展演藝術虛實互動程式支援領域專屬語言所見即所得編輯器
外文關鍵詞: performance art, cyber-physical interactive, programming support, domain specific language, WYSIWYW editor
相關次數: 點閱:54下載:15
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 本研究係發想自政治大學「未來馬戲團」的展演活動表演方式,嘗試改進表演方式中的程式技術,以程式化方式整合展演藝術中實體與虛擬的互動平台,我們希望提供導演撰寫較為口語或展演描述方式的腳本敘述如『when ... other-wise ...』,如此一來就可以任意組合實體演員的肢體動作與指示虛擬環境的特效,因此我們採用了一套介接實體與虛擬環境應用程式的領域專屬語言- Digital In-teractive Performance Sketch (DIPS),用以開發客製化的展演程式庫,並佈署於本團隊自行開發的執行引擎 Wearable Item Service runtimE (WISE),提供導演在這個引擎上透過這個DIPS編寫前述口語的程式腳本,讓程式自行互動,達成展演效果的自動變化。
    我們的系統會接收來自展演人員穿配的連網感應器上的訊號,並且根據導演寫好的腳本規則,自動根據接收到的裝置訊號判斷出該指示虛擬環境做出什麼樣的效果,以達到展演效果自動變化,完成虛擬與實體展互動的程式支援。
    為了減少腳本程式撰寫前須具備的程式邏輯訓練,本研究開發一款所見即所得(WYSIWYG)的視覺化腳本編輯器 DIPS Creator,提供腳本編寫者可以直覺的方式組合編輯器中的展演詞彙方塊,完成腳本設計。
    本研究展示了如何以較為口語或展演語意的方式敘述展演規則,以實現虛實互動的程式化,並且提供了具有彈性的客製化展演函式庫及圖形化展演規則編輯器的製作方式,未來可增加多演員層次的抽象支援以展現本研究系統的更多程式化能力,並加入表演階段設計、雙向溝通與規則互斥等能力,擴充系統功能。


    This research was inspired by “The Future Circus”, a cyber-physical interactive performance art developed in National Chengchi University. In this thesis, we pro-pose some mechanisms to support such performance art programmatically in a more effective manner. Specially, we provide a high-level scripting tool for directors to de-scribe the performance rules abstractly in the form of “when ... otherwise ...”, so that directors can compose arbitrary actions and effects easily. Underlying such abstract rules are a domain specific language – Digital Interactive Performance Sketch (DIPS), and a middleware. Wearable Item Service runtime (WISE), developed by our research team.
    Given a script with those abstract rules, our system will receive signals sent from a sensor on wearable devices of actors, and then it will command cyber environment perform effects, the performance effects or actions according to rules written by the director. Through our integration efforts, the performance effects in the cyber environment will change automatically in a programmatic way. Besides, for users without prior scripting experience, we developed a WYSIWYG GUI editor, DIPS Creator, that allows users to write a script intuitively by dragging and dropping pre-built rule blocks.
    We conduct a few experiments with real sensor device to demonstrate the programming support of our tool. The preliminary results are satisfactory in terms of prototype support. To further extend our tool for practical performance, we describe in detail a few directions such as support for multiple actor performance stage model-ing, and integrity check of related rules that will make our system more powerful.

    第一章 緒論 1
    1-1 研究背景 1
    1-2 研究動機與目的 4
    1-3 研究成果 6
    1-4 研究限制 7
    1-5 論文大綱 8
    第二章 相關研究 10
    2-1 Programming Support of Performance Art 10
    2-2 Domain Specific Language 11
    2-3 Functional Reactive Programming 13
    2-4 Message Queue Telemetry Transport 15
    2-5 Scala 16
    2-6 Unity 3D 18
    2-7 Phidgets Sensor 19
    2-8 WYSIWYG Editor 21
    第三章 系統設計 22
    3-1 採用之DIPS 語言設計研究 22
    3-1-1架構 24
    3-1-2 Signal 25
    3-1-3 Rule 25
    3-1-4 Syntax 26
    3-1-5 Device 27
    3-2 函數式程式設計用於抽象化時間 28
    3-3 系統架構 31
    3-4 裝置與腳本引擎溝通 34
    3-5展演腳本函式庫 35
    3-6 圖形化編輯器 - DIPS Creator 39
    第四章 研究結果 41
    4-1系統整合 41
    4-2系統測試 41
    4-3 系統測試結果 49
    第五章 結論與未來工作 51
    5-1 結論與研究貢獻 51
    5-2 未來研究方向 53
    參考文獻 57
    附錄 60
    附錄一 .................................................................................................................................60
    附錄二 .................................................................................................................................63
    附錄三 .................................................................................................................................64
    附錄四 .................................................................................................................................65
    附錄五 .................................................................................................................................67
    附錄六 .................................................................................................................................72
    附錄七................................................................................................................................. 73
    附錄八.................................................................................................................................74
    附錄九 75
    附錄十 76
    附錄十一 78

    [1] Hsin Huang, Hsin-Chien Huang, Chun-Feng Liao, Ting-Chun Li, Tzzu-Chieh Tsai, Li-jia Teng, Future Circus: A Performer-Guided Mixed-reality Performance Art, 2015, International Symposium on Wearable Computers
    [2] Sorensen, Andrew(2005) , Impromptu : an interactive programming environment for composition and performance. In: Proceedings of the Australasian Computer Music Conference 2009, 2-4 July 2009, Queensland University of Technology, Brisbane.
    [3] Ingo Maier Martin Odersky., Deprecating the Observer Pattern with Scala.React, EPFL-REPORT-176887
    [4] P. Hudak., Modular domain specific languages and tools., In P. Devanbu and J. Poulin, editors, Proceeding of the 5th International Conference on Software Reuse (ICSR'98), pages 134-142. IEEE, 1998.
    [5] Martin Fowler., Domain specific languages., Addison-Wesley Professional, 2010
    [6] H. Conrad Cunningham., A Little Language for Surveys: Constructing an Internal DSL in Ruby.
    [7] Daan Leijen and Erik Meijer, Domain Specific Embedded Compilers, Proceedings of DSL'99: The 2nd Conference on Domain-Specific Languages, Austin, Texas, USA, October 3–6, 1999
    [8] Carl Hewitt; Peter Bishop and Richard Steiger., A Universal Modular Actor For-malism for Artificial Intelligence., IJCAI. 1973.
    [9] Gul A. Agha, Actors: A Model of Concurrent Computation In Distributed Sys-tems., 1985
    [10] Akka Scala Documentation, Release 2.4-SNAPSHOT, Typesafe Inc.
    [11] Evan Czaplicki, Elm: Concurrent FRP for Functional GUIs, 2012
    [12] Zhanyong Wan, Paul Hudak, Functional Reactive Programming from First Principles, PLDI '00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation Pages 242-252
    [13] Debasish Ghosh, Anshinsoft , DSL for the Uninitiated, June 1, 2011
    [14] Mike Dewar, Getting Start with D3, O'Reilly, 2012
    [15] 謝忠和, 全民做遊戲 Unity 3D 跨平台遊戲開發寶典, 2012
    [16] DIPS DSL, https://github.com/NCCUCS-PLSM/scala-dsl
    [17] DIPS Demo, https://github.com/NCCUCS-PLSM/dsl-demo
    [18] DIPS Demo Unity Part, https://github.com/NCCUCS-PLSM/dsl-engine-unity
    [19] Martin Fowler, Work in progress, http://martinfowler.com/dslwip/, 2007.
    [20] Reactive Streams, http://www.reactive-streams.org
    [21] vFavbric team , Choosing Your Messaging Protocol: AMQP, MQTT, or STOMP, http://blogs.vmware.com/vfabric/2013/02/choosing-your-messaging-protocol-amqp-mqtt-or-stomp.html
    [22] Phidgets 1056 user guide, http://www.phidgets.com/docs/1056_User_Guide
    [23] MIT Scratch extension, http://wiki.scratch.mit.edu/wiki/Scratch_Extension
    [24] Google Blockly, https://github.com/google/blockly
    [25] Arvin Hsieh, [Design Pattern] 觀察者模式 (Observer Pattern) 我也能夠辦報社, http://www.dotblogs.com.tw/joysdw12/archiver/2013/03/13/96531.aspx
    [26] 邓际锋, 函数式反应型编程(FRP) — 实时互动应用开发的新思路, InfoQ, 2013, http://www.infoq.com/cn/articles/functional-reactive-programming
    [27] CC數位學習網, Unity 3D 教學, http://www.cg.com.tw/Unity

    QR CODE
    :::