推 TonyQ:我有寫過 quick hull 跟這個感覺好像 , 是同樣的嗎 ?XD 05/17 23:10
雖然說現在是有 code 給你直接改,
不過演算法的內容最好還是聊解一下,
所以如果你還不知道的話,
DJWS 大大的網站建議你先參考一下:
首頁: http://www.csie.ntnu.edu.tw/~u91029/
Convex hull: http://www.csie.ntnu.edu.tw/~u91029/ConvexHull.html
如果都看得懂的話,也可以考慮自己重新寫,
畢竟現在這支寫得好像也不是很好,
而且一堆地方都是 c/c++ 的影子。
最後,如果還是堅持要改這支程式,
那就先把 method 呼叫的順序搞清楚,
經驗夠的話直接用看的就可以了,
如果搞不清楚那就在程式碼中加入一些方便自己判斷的訊息,
然後觀察 "當我按下滑鼠產生一個新的點時",這程式執行了哪些方法?
你會發現整個流程很簡單,
1. 一開始這程式定義了一些資料結構,
包含了一些資訊,像是共有多少點,這些點的位置...等等。
2. 當滑鼠按下時,就在資料結構內加入一個新的點,
3. 依照資料結構,算出 convex hull,並繪在螢幕上。
所以你要做的事情就是,拿掉 1, 2 的功能,
直接隨機產生點放入資料結構。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.230.12.96