演算法 Term Project 實施要點
每個同學以Voronoi diagram 為題目,將 課本的Voronoi diagram 演算法撰寫程式,加以測試分析。若能改良演算法,則更佳。最後需繳交一份完整成果報告
題目:
全部同學均撰寫課本的Voronoi diagram 演算法
實施時程:
程式介面與輸出入規格:
P 103 200 P 193 64 P 193 370 P 283 200 E 0 34 193 161 E 0 363 193 261 E 193 161 193 261 E 193 161 437 0 E 193 261 600 476 |
線段的 lexical order (字典序):
5.1 線段E x1 y1 x2 y2,座標須滿足x1≦x2
或 x1=x2, y1≦y2。
5.2 不同線段之間,依照x1, y1, x2,
y2的順序進行排序(字典序)。以上述輸出文字檔案為例,比較x1時,因為0<193,x1為0的2條線段放前面,並繼續比較y1;後3條線段亦同理。
注意事項:
Atsuyuki Okabe, Barry Boots, Kokichi Sugihara, Sung Nok Chiu
Spatial Tessellations : Concepts and Applications of Voronoi Diagrams
索書號 QA278.2 O36 1992
Sec. 4.2 Data Structure for Representing a Voronoi Diagram, pp.215~pp.223Vornoi Diagram資料結構下載 (若需列印,請在印表機選擇「橫向列印」)
成果與報告格式、繳交方式:
2.1 「軟體原始碼」為所有與軟體相關之原始檔,如程式原始碼、專案檔、環境設定檔、編譯說明檔等檔案。助教將依提供之「軟體原始碼」重新編譯軟體,並驗證之。
2.2 程式原始碼需註解「版權宣告」資訊,至少需提供學號、中英文姓名。
2.3. 若軟體由多個程式原始碼(物件)所組成,請再提供一「程式原始碼合併檔」,將所有程式原始碼併入此一合併檔,各原始碼間需以合適且明顯之註解(如分隔符號與檔名)加以區隔。並需於檔頭註明版權宣告資訊、使用之程式語言與編譯環境資訊。
2.4「程式原始碼合併檔」需與程式原始碼一致,助教將據此驗證是否有抄襲之行為。檔案第一行以你所使用語言的註解方式,加入 $LAN=X$ (其中X為你所使用之語言)。例如,使用C/C++語言則加入:
// $LAN=C$ 或 /* $LAN=C$ */
若使用JAVA語言,則則加入:
// $LAN=JAVA$
3.1 「軟體」需注意包裝過程並請自行驗證。助教將在乾淨的電腦執行軟體。若出現缺library等錯誤,軟體部份將無成績。
3.2.請提供合適之軟體執行指引(如.bat檔)與簡單說明,例如以java開發者若未包裝為.jar檔,請提供.bat檔以利執行。若因執行參數或缺檔導致軟體無法執行,此部份將無成績。
4.1 報告文件以 html 檔案為主,製作成一個網頁。並請注意,網頁連結不要使用絕對位址(除非必要)。報告中若有圖片,請加以適當處理,以免檔案過大。
4.2 報告文件為所有Term Project有關之資訊,至少需包含下列項目:
將上述壓縮檔繳交至網路大學本課程
註:本要點若有未盡事宜,將在本課程網頁上修改之。