淡江大學覺生紀念圖書館 (TKU Library)
進階搜尋


下載電子全文限經由淡江IP使用) 
系統識別號 U0002-2201201513574500
中文論文名稱 資料結構的展示函式庫
英文論文名稱 A Rendering Library for Data Structures
校院名稱 淡江大學
系所名稱(中) 資訊管理學系碩士班
系所名稱(英) Department of Information Management
學年度 103
學期 1
出版年 104
研究生中文姓名 謝玉筠
研究生英文姓名 Yu-Yun Hsieh
學號 600630049
學位類別 碩士
語文別 中文
口試日期 2015-01-10
論文頁數 77頁
口試委員 指導教授-廖賀田
委員-張昭憲
委員-高明達
中文關鍵字 JAVA  物件導向技術  資料結構  繪圖函式庫  視覺化工具 
英文關鍵字 JAVA  Object-Oriented technique  Data Structures  Graphic Library  Visualize Tools 
學科別分類
中文摘要 本論文提出兩套以JAVA語言實作的函式庫,一套為繪圖函式庫gr2d,另一套為繪製資料結構圖形的展示函式庫dsRend,gr2d函式庫引入繪圖物件的管理與場景管理機制,將低階的繪圖指令封裝成高階的使用方式,並依據物件之間的階層關係自動幫使用者處理繪製與反應事件,讓使用者能以更直覺的方式來使用,dsRend函式庫則架於gr2d函式庫上來開發出各種資料結構圖形元件,為此本論文提出一套標準的資料結構繪製方式,統一各種資料結構的呈現,此函式庫可供使用者展示程式碼的資料結構圖形,藉此除錯或是用來寫報告、系統文件或是教科書等。
英文摘要 This paper introduces two libraries, a Graphic library called gr2d, and the other library for rendering data structures called dsRend. gr2d library uses rendering object management and scene management mechanism to wrap low-level rendering instructions into high-level use environment, and helps users deal with the rendering and mouse event automatically based on object hierarchy relations between objects. Users can use this library more intuitively. On the other hand, dsRend library is built on gr2d library to develop a variety of data structures graphic elements. This paper presents a standard rendering specification to unify various data structures. Users can use dsRend library to show data structures of code for the purpose of debugging and writing reports, system reports, or textbooks.
論文目次 目錄
一、 緒論1
1.1 研究動機與目的1
1.2 論文組織1
二、 相關研究與背景知識2
2.1 資料結構視覺化軟體2
2.2 物件導向技術6
2.3 資料結構圖形6
三、 gr2d繪圖函式庫14
3.1 函式庫架構14
3.2 座標系統及變換15
3.3 世界與物件16
3.4 攝影機的景觀19
3.5 物件的繪製與反應事件21
3.5.1 物件的繪製程序與過程21
3.5.2 物件的反應事件23
四、 資料結構圖的展示規格24
4.1 元件的型態24
4.1.1 物件、變數與連線24
4.1.2 原生資料的展示(Rendering)與操作27
4.1.3 指標的展示(Rendering) 與操作28
4.2 複合型元件規格33
4.2.1 陣列33
4.2.2 鏈結串列34
4.3 展示模式及其實作35
4.3.1 展示的完整度35
4.3.2 圖形的橫豎40
4.3.3 圖形橫豎的切換43
4.3.4 圖形的對齊45
4.3.5 指標的偏移48
五、 資料結構展示函式庫API50
5.1 視窗介面與功能50
5.2 函式庫架構51
5.3 基本元件52
5.4 複合型及輔助元件54
5.5 G級物件的繪製56
5.6 反射機制與序列化58
六、 各種註記的定義與實例展示60
6.1 各種註記的定義60
6.1.1 變數與指標的註記60
6.1.2 類別的註記61
6.2 陣列62
6.3 涉及繼承的物件63
6.4 鏈結串列65
6.5 應用實例69
七、 結論及展望73
7.1 結論73
7.2 未來展望73
八、 參考文獻74
附錄I75
附錄一 使用者手冊I75

圖目錄
===========================================
圖1 利用Graphviz所繪製之無向圖2
圖2 Grappa系統展示圖_有向圖形3
圖3 Grappa系統展示圖_樹狀結構3
圖4 使用語法分析器之範例4
圖5 LibStructureGraphic系統展示圖4
圖6 二元樹視覺化結果5
圖7 變數與物件6
圖8 陣列7
圖9 省略型陣列7
圖10 單向鏈結串列展示圖8
圖11 雙向鏈結串列展示圖9
圖12 鏈結串列9
圖13 單向鏈結串列Null示意圖10
圖14 樹之概念圖11
圖15 圖形概念圖12
圖16 二維物件頂點繪製座標變換示意圖16
圖17 世界與景觀及物件之間的關係17
圖18 Obj2D類別繼承圖17
圖19 _Obj2DManager類別繼承圖18
圖20 View2D類別繼承圖19
圖21 世界、物件與景觀關係示意圖20
圖22 景觀一及景觀二展示圖20
圖23 GX2D類別繼承圖21
圖24 涉及繼承的物件25
圖25 類別與介面的繼承與實作26
圖26 物件的顯示模式35
圖27 涉及繼承的物件的顯示模式36
圖28 以陣列為例36
圖29 省略型陣列37
圖30 以單向鏈結串列為例38
圖31 各種鏈結串列之實作39
圖32 省略型串列40
圖33 指標欄位物件的簡化型40
圖34 二維陣列41
圖35 空物件的橫放與豎放41
圖36 鏈結串列中物件的橫放及豎放42
圖37 List的豎放43
圖38 圖形的橫放43
圖39 圖形的豎放44
圖40 串列圖形的橫放44
圖41 串列圖形的豎放45
圖42 偏移交點之求算48
圖43 雙向鏈結節點之偏移點繪製48
圖44 雙向鏈結串列初始狀態49
圖45 雙向鏈結串列49
圖46 FieldShape類別繼承圖54
圖47 不規則二維陣列62
圖48 HighSchool之繼承架構圖65
圖49 DTest執行結果68
參考文獻 [1] 江國豪,《支援物件導向技術的繪圖函式庫》,碩士論文,淡江大學資訊管理研究所,2012。
[2] 張弘毅,《支援遠近效果的繪圖函式庫》,碩士論文,淡江大學資訊管理研究所,2010。
[3] 彭郁仁,《設計與實作視覺化追蹤點以支援xDIVA進行程式動畫》,碩士論文,中央大學資訊工程研究所,2012。
[4] AT&T Labs - Reasearch, , available online at http://www.graphviz.org/
[5] AT&T Labs - Reasearch,, available online at http://www.graphviz.org/
[6] Break Itkin, , available online at https://code.google.com/p/structure-graphic/, Dec 2010.
[7] John Mocenigo, , available online at http://www2.research.att.com/~john/Grappa/, May 2005.
[8] Yung-Pin Cheng, available online at http://www.openfoundry.org/en/foss-projects/8825-3d-xdiva-

[9] Yung-Pin Cheng, Jih-Feng Chen, Ming-Chieh Chiu, Nien-Wei, Lai, and Chien-Chih Tseng. xdiva: A debugging visualization system with composable visualization metaphors. In Proceedings of ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications, Nashville, USA, 2008.
論文使用權限
  • 同意紙本無償授權給館內讀者為學術之目的重製使用,於2020-02-04公開。
  • 同意授權瀏覽/列印電子全文服務,於2020-02-04起公開。


  • 若您有任何疑問,請與我們聯絡!
    圖書館: 請來電 (02)2621-5656 轉 2486 或 來信