簡易檢索 / 詳目顯示

研究生: 馮科迪
Ke-Di Feng
論文名稱: 提供DIVINE(3D互動除錯視覺化環境)作3D隱喻視覺化設計之跨設備物件導向架構
A Device-independent Object-oriented Framework for 3D Visualization Metaphor Programming in DIVINE
指導教授: 鄭永斌
Cheng, Yung-Pin
學位類別: 碩士
Master
系所名稱: 資訊教育研究所
Graduate Institute of Information and Computer Education
論文出版年: 2005
畢業學年度: 93
語文別: 英文
論文頁數: 63
中文關鍵詞: DIVINEHILCADT視覺化除錯器跨設備3D使用者介面
英文關鍵詞: DIVINE, HILCADT, Visualized Debugger, Device-independent, 3D User Interface
論文種類: 學術論文
相關次數: 點閱:284下載:5
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 除錯器已經成為目前整合開發環境中的標準工具。由於以往文字形式的除錯訊息無法提供有效的資訊來解決program comprehension的問題,所以已經有一些研究試著將除錯器的除錯資訊作視覺化的呈現。然而,當大量的除錯資訊需要作視覺化的呈現時,往往受限於2D的顯示環境而衍生出許多問題。為了解決這些問題,我們發展了一個可以作3D視覺化的除錯器 - DIVINE(Debugging Information VIsualizatioN in 3D Environment)。
    DIVINE主要是將接收自HILCADT [3] 的除錯資訊作視覺化。視覺化的除錯資訊可以協助軟體開發者更容易的了解程式碼或資料結構。為了讓DIVINE有更方便、更直覺的互動方式,在這篇論文裡,我們提出了一個跨設備3D使用者介面物件導向架構。在此架構下,我們將視覺化設計從使用者介面設計中獨立出來,並提供視覺化隱喻(Visualization Metaphor,VM)的設計者一組恆定的Abstract action codes,讓他們可獨立於硬體設備之外來設計VM的互動效果。跨設備使用者介面讓使用者不需深入理解VM的設計即可以虛擬實境(VR)的設備,如:資料手套和追蹤器;或傳統的桌上型輸入設備,如:鍵盤與滑鼠,與視覺化物件作互動。此架構亦具備擴充性,未來使用者介面設計者所使用的其他互動設備,只要能夠產生與Abstract action code有關的互動,都能使用於DIVINE中。

    Debugger has been one of the standard tools in modern integrated development environments (IDE). In the past, some visualized debuggers have been developed because debugging information in the form of text is insufficient for program comprehension. However, visualization techniques in 2D displays have its fundamental limitation while the amount of visualization information scales up. To address these issues, we develop a visualized debugger in 3D environment called DIVINE.
    DIVINE visualizes the debugging information received from HILCADT, where HILCADT is a high-level computer-aided debugging tool. Software invisibility has been one of the major reasons which make software engineering a difficult discipline. Visualized information can help developers to understand programs and data structures more easily and intuitively. To provide a convenient and intuitive interaction in DIIVNE, we present an object-oriented and device-independent 3D user interface framework in the thesis. In this framework, we separate visualization programming from user interface programming to reduce the burden of programming task in designing visualization objects. Users may interact with visualized objects transparently by either VR devices such as data gloves and head-mounted displays, or traditional desktop input devices such as keyboards and mice, without complicating the programming task of visualized objects.

    摘要 I ABSTRACT II ACKNOWLEDGEMENT IV TABLE OF CONTENTS V LIST OF TABLES VII LIST OF FIGURES VIII CHAPTER 1 INTRODUCTION 1 1.1. An Overview 1 1.2. Objective 6 1.3. Thesis Organization 10 CHAPTER 2 BACKGROUND 11 2.1. Visualization 11 2.1.1. Software Visualization 12 2.1.2. 2D versus 3D Visualization 16 2.1.3. Visualized Debugger 17 2.2. An Overview of 3D Engines 19 2.2.1. Game Engine versus 3D Engine 20 2.2.2. OGRE – Object-oriented Graphics Rendering Engine 22 2.3. 3D User Interface 23 2.3.1. Input Hardware 25 2.3.2. Output Hardware 28 2.3.3. Manipulation in 3D User Interface 31 CHAPTER 3 SYSTEM ARCHITECTURE 35 3.1. An Overview of DIVINE 35 3.2. System Architecture of DIVINE 35 3.3. Device-independent Interface and 3D User Interface Module 37 3.3.1. The framework of Event Listeners and User-defined VM Object 38 3.3.2. An Example of Event Process 42 CHAPTER 4 SYSTEM DESIGN AND IMPLEMENTATION 44 4.1. Virtual Hand Model 44 4.2. VR Hardware Used in DIVINE 44 4.2.1. Data Glove and Hand Tracker 45 4.2.2. Head-Mounted Display and Head Tracker 47 4.3. Dynamic Gesture Recognition 48 4.4. Collision Detection 49 4.5. Abstract Action Code and Input Interpreter 51 CHAPTER 5 CONCLUSIONS AND FUTURE WORKS 55 5.1. Conclusion 55 5.2. Future Works 56 5.2.1. Navigation Panel 56 5.2.2. Two-Handed Manipulation 57 5.2.3. Hardware Improvement 57 REFERENCES 59

    [1] F. P. Brooks. Jr., “No silver bullet-essence and accident in software engineering,” IFIP 10th World Computing Conference, pages 1069-1076, 1986.
    [2] Yi-wei Peng, Interactive 3D Debugging Information Visualization for Linked-List Data Structure, Master Thesis, Dept. Information and Computer Education, National Taiwan Normal University, 2002.
    [3] Ji Long, High-Level Computer-Aided Debugging Tool, Master Thesis, Dept. Information and Computer Education, National Taiwan Normal University, 2003.
    [4] Jiun-hau Fan, DIVINE: An Immersive 3D Debugging Information Visualization System Using Metaphor, Master Thesis, Dept. Information and Computer Education, National Taiwan Normal University, 2004.
    [5] D. Duke, “Modular Techniques in Information Visualization,” Proceedings of ACM symposium on Information visualization, vol. 9, pages 11-18, 2001.
    [6] S. Card, J. Mackinlay, and B. Shneiderman, “Readings in Information Visualization,” Morgan Kaufmann, 1999.
    [7] R. Spence, “Information Visualization,” Addison Wesley, 2001.
    [8] R. Haber, B. Lucas, and N. Collins, “A data model for scientific visualization with provision for regular and irregular grids,” Proceedings of Visualization, pages 298-305, 1991.
    [9] W. Hibbard, C. Dyer, and Brian E. Paul, “Display of scientific data structures for algorithm visualization,” Proceedings of Visualization, pages 139-146, 1992.
    [10] P. Rheingans and C. Landreth, “Perceptual principles for effective visualization,” in Perceptual Issues in Visualization, pages 59-73, Springer, 1995.
    [11] J. Wyatt, “Software visualization and Program understanding,” University of Pittsburgh, 1999.
    [12] A. Nganou, R. Al-Amad, S. Shi and X. Xian, “Software Visualization 2D versus 3D,” Department of Computer Science Concordia University, 2001.
    [13] J. Stasko, M. H. Brown, and B. A. Price, “Software Visualization,” MIT press, 1998.
    [14] C. Knight, “Visualization for Program Comprehension: Information and Issues,” University of Durham, Computer Science, Technical Report 12, 1998.
    [15] H. Boecker, and H. Nieper, “Making the Invisible Visible: Tools for Exploratory Programming,” Proceedings of the First Pan Pacific Computer Conference, The Australian Computer Society, Melbourne, Australia, 1985.
    [16] P. Young, “Software Visualization,” Visualization Research Group Centre for Software Maintenance, Department of Computer Science, University of Durham, 18 June, 1996.
    [17] H. Koike, “The Role of Another Spatial Dimension in Software Visualization,” ACM Transactions on Information Systems, 11(3), pages 266-286, 1993.
    [18] B. A. Price, R. M. Baecker, and I. S. Small, “A Principled Taxonomy of Software Visualization,” Journal of Visual Languages and Computing, 4(3), pages 211-266, 1994.
    [19] G. G. Robertson, S. K. Card, and J. D. Mackinlay, “Information Visualization Using 3D Interactive Animation,” Communications of the ACM, 36(4), pages 57-71, 1993.
    [20] J. I. Maletic, J. Leigh, and A. Marcus, “Visualizing software in an immersive virtual reality environment,” In ICSE'01 Workshop on Software Visualization, pages 49-54, Toronto, CA, 2001.
    [21] Game engine overview, http://en.wikipedia.org/wiki/Game_engine/
    [22] Genesis3D, http://www.genesis3d.com/
    [23] Irrlicht, http://irrlicht.sourceforge.net/
    [24] OGRE, http://www.ogre3d.org/
    [25] id Software company, http://www.idsoftware.com/
    [26] Epic Games company, http:// www.epicgames.com/
    [27] Projects using OGRE,
    http://www.ogre3d.org/wiki/index.php/Projects_using_OGRE/
    [28] S. Mukherjea and J. T. Stasko, “Toward Visual Debugging: Integrating Algorithm Animation Capabilities within a Source-Level Debugger,” ACM Transactions on Computer-Human Interaction, 1(3), pages 215-244, 1994.
    [29] J. L. Korn and D. R. Hanson, “Simple and Extensible Graphical Debugger,” Proceedings of the Winter USENIX Technical Conference. Anaheim, CA, pages 173-184, 1997.
    [30] R. Backer, C. DiGiano, and Aaron Marcus, “Software Visualization for Debugging,” Communications of the ACM, 40(4), pages 44-54, 1997.
    [31] D. A. Bowman, E. Kruijff, J. J. LaViola Jr., I. Poupyrev, “3D User Interfaces – Theory and Practice,” Addison-Wesley, 2005.
    [32] I. Poupyrev, M. Billinghurst, S. Weghorst, and T. Ichikawa, “The go-go interaction technique: non-linear mapping for direct manipulation in VR,” Proceedings of the 1996 ACM symposium on User interface software and technology, ACM Press, pages 79-80, 1996.
    [33] R. Stoakley, M. Conway, and R. Pausch, “Virtual reality on a WIM: interactive worlds in miniature,” Proceedings of the 1995 ACM Conference on Human Factors in Computing Systems, ACM Press, pages 265-272, 1995.
    [34] D. Bowman and L. Hodges, “An Evaluation of Techniques for Grabbing and Manipulating Remote Objects in Immersive Virtual Environments,” Proceedings of the 1997 IEEE Virtual Reality Annual International Symposium, IEEE Press, pages 45-52, 1997.
    [35] M. R. Mine, F. P. Brooks. Jr. and C. H. Sequin, “Moving Objects in Space: Exploiting Proprioception In Virtual-Environment Interaction,” In SIGGRAPH ’97, ACM Press, pages 19-26, 1997.
    [36] J. Pierce, B. Stearns, and R. Pausch, “Voodoo Dolls: Seamless Interaction at Multiple Scales in Virtual Environments,” Proceedings of the 1999 ACM Symposium on Interactive 3D Graphics, ACM Press, pages 141-145, 1999.
    [37] T. Jacobs and B. Musial, “Interactive visual debugging with UML,” Proceedings of the 2003 ACM Symposium on Software Visualization, ACM Press, pages 115-122, 2003.
    [38] T. Grossman, R. Balakrishnan, and K. Singh, “An interface for creating and manipulating curves using a high degree-of-freedom curve input device,” Proceedings of the SIGCHI conference on Human Factors in Computing Systems, ACM Press, pages 185-192, 2003.
    [39] J. LaViola, D. Acevedo, D. Keefe, and R. Zeleznik, “Hands-free multi-scale navigation in virtual environments,” Proceedings of the 2001 symposium on Interactive 3D graphics, ACM Press, pages 9-15, 2001.
    [40] G. Williams, H. Faste, I. McDowall, and M. Bolas, “Physical Presence: palettes in Virtual Spaces,” Proceedings of SPIE, Stereoscopic Display and Virtual Reality Systems, vol. 3639, pages 374-384, 1999.
    [41] C. Cruz-Neira, D. Sandin, and T. Defanti, “Surround Screen Projection-Based Virtual Reality: the design and implementation of the CAVE,” Proceedings of SIGGRAPH, ACM Press, pages 135-142, 1993.
    [42] W. Krueger and B. Froehlich, “The Responsive Workbench: virtual work environment,” IEEE Computer Graphics & Applications, 14(3), pages 12-15, 1994.
    [43] M. Bolas, “Human Factors in the Design of an Immersive Display,” IEEE Computer Graphics & Applications, 14(1), pages 55-59, 1994.
    [44] I. Poupyrev, S. Weghorst, M. Billinghurst, T. Ichikawa, “Egocentric Object Manipulation in Virtual Environments: Empirical Evaluation of Interaction Techniques,” Computer Graphics Forum, EUROGRAPHICS, 17(3), pages 41-52, 1998.
    [45] A. Forsberg, K. Herndon, and R. Zeleznik, “Aperture Based Selection for Immersive Virtual Environments,” Proceedings of the 1996 ACM Symposium on User Interface Software and Technology (UIST `96), ACM Press, pages 95-96, 1996.
    [46] J. Pierce, A. Forsberg, M. Conway, S. Hong, R. Zeleznik, and M. Mine, “Image Plane Interaction Techniques in 3D Immersive Environments,” Proceedings of the 1997 ACM Symposium on Interactive 3D Graphics (I3D `97), ACM Press, pages 39-44, 1997.
    [47] Fifth Dimension Technologies, “5DT Data Glove 16 Manual,” http://www.5dt.com/products/pdataglovemri.html
    [48] M. Bordegoni and M. Hemmje, “A Dynamic Gesture Language and Graphical Feedback for Interaction in a 3D User Interface,” Computer Graph Forum, 12(1), pages 1-11, 1993.
    [49] A. Watt and F.Policarpo, “3D Games – Real-time Rendering and Software Technology,” volume 1, Addison Wesley, 2001

    QR CODE