2007年5月31日 星期四

凸度

凸度的說明 :

凸度 = 0 -> 代表是直線的頂點 , 也就是與下一點連接為ㄧ直線拉 !!
凸度不為0 -> 代表是圓弧的頂點 ,
也就是與下一點連接為ㄧ圓弧拉 !!
  • 凸度 < 0 -> 為負表示順時針圓弧
  • 凸度> 0 -> 為正表示逆時針圓弧

其他凸度說明 :
  • 凸度絕對值 <1 表示圓弧包角小於180°
  • 凸度絕對值 >1 表示圓弧包角大於180°
(2007.09.21 補充)
之前忘了寫凸度計算, 這麼重要的東西還忘 .. 真是該打 ..
凸度計算 : 凸度=2*弓長 / 弦長
啥是弓長 ?? 啥是 弦長 , 自己看圖囉~~


看不懂~~不要找我~~若有錯誤在告訴我囉~~~^^

舉例 :
弦長 = 97.5773
弓長 = 16.3637
所以凸度 = 2 * 16.3637 / 97.5773 = 0.3354
就這麼簡單 , 小學生都會算~~
不會算的不要問我 , 去問計算機~~哈哈 ....

2007年5月30日 星期三

不規則圖形排列 - 報告完成版

經上禮拜的努力 , 報告終於搞定啦!!
這堂課其實叫人工智慧 , 不過呢.......
老師要求我們利用GA(Genetic Algorithms)基因演算法 , 做出個報告
使用的GA工具為 Evolver ........(個人覺得不大好用)

本組的題目為 "基因演算法應用於成衣裁剪排版系統最佳化"
我們主要解決的問題分為2項 :
1. 不規則形狀單一構件排列
2. 不規則形狀多構件排列

GA 處理的部份為構件排列的優先順序 及 旋轉角度
再利用 直線逼近法L-T-F演算法排列構件

直線逼近法 :
對圓弧曲線進行直線逼近的作業
用一連串的直線線段來替代圓弧曲線
使幾何外型轉換成近似原圖形的多邊形
(這段我程式寫的不好...遜)

L-T-F演算法排列構件 :
就是構件由左上方開始排列 , 先左在慢慢往右拉~~~~~
(我覺得還有比這個方式更好的!!繼續研究繼續研究.....)


流程圖

由於GA部分 Evolver 的版本只能使用 VB 及 VC~~(不是.net版喔)
我們的畫面就是用VB6拉~~
其他的我就用java拉~~包含不規則圖形排列 及 顯示
沒辦法 java 比較熟 ........
當GA跑出數值 , 就利用網頁丟給jsp , 在去做排列
之後再回傳利用率給VB6.......很簡單的架構
上禮拜五幫忙寫VB6的時候 , 真的超不習慣的~~
之前寫VB.net還沒那麼不順手 , 寫VB6真的會吐血 ......

不管怎樣 , 終於搞定能上台報告啦!!!



構件的選擇 , 點選最佳化按鈕 , 就會開始排列啦~~~


排列的過程 , 圖會ㄧ直更新 , 直到執行結束 or 按暫停 會顯示出最佳的排列結果喔!!


第一次寫有關圖形的東西 , 蠻好玩的 !!!
中間研究了一堆東西 , 有很多地方也有待改善~~~~
除了排列演算法 , 像是用applet~~
就會有很多安全上的顧慮 , 之前來不及研究 ....
有空可要認真一下嚕 , 那不然要使用的時候都不清楚...=.="

話說自己C /C++ 能力也該加強嚕 !!! ㄧ直很想寫C++
不過一直沒能力~~~~該加加油囉!!

想做的事情太多 , 時間太少嗎 ???是我自己混吧!!大混仙~~哈哈..

2007年5月25日 星期五

人月神話

呼呼~~剛剛終於完成這禮拜的第二個報告--人月神話的心得
禮拜六那個不規則圖形排版~~~第三個報告 => 最難!!

雖然我只看到第6章 , 不過還是有東西可以寫的啦 !!
人月神話這本書還不錯 , 值得推薦給大家去看看(事實上一堆人推荐嚕..^^")
不見得ㄧ定有關軟體專案管理的人才能看
每個人看之後感覺都不會一樣的啦!!!ㄧ定有某種收穫的啦~~~~
內容有談到IBM專案 , 其實很多我也不能體會~~哈哈...
不過還是有一些觀念可以獲得
每章前面的圖片更是經典 ........
有無窮的想像 及 說法 ...就看每個人如何去詮釋囉!!


轉貼我心得報告(超長 , 慢慢看~~哈哈!!):

人月神話這本書,於2年前在台北工作時,就有買來看了,不過當時真正寫程式接觸專案也才1年多,看了也看不懂內容在寫什麼,什麼焦油坑???,完全看不懂且沒感覺……看完前2個章節就丟給我同事,2後剛好老師要求大家都要看此書,又將塵封已久的人月神話找出來,不過這次就有深刻的感受啦!!!

因為到元智讀書,工作轉換到桃園,接觸了2個不難的專案,卻如同第一章焦油坑壁畫,雙雙陷入焦油坑中,專案遲遲不能結案。台北公司的人數與桃園公司人數相當,不過台北做的專案是千萬元,有自己的核心技術,專案大多能順利完成;而桃園做的專案都屬於網頁建置,無特別的核心技術,有案子就接,內部技術人員不能處理就外包。

於桃園工作期間遇到問題常常會思考要是台北公司老闆會如何處理,而我又會如何處理!!雖然時常建議公司,不過很可惜的主管都聽不進去!!以下整理出在看人月神話此書時,對印到在桃園工作期間專案的感受,雖然不像書中所提的IBM那樣上千的大型專案,不過也不因該,因為是小型專案而忽略了很多重要的因素:

1. 團隊角色錯誤

如第三章提到外科手術團隊,每個團隊都有其專屬腳色,當一個無程式經驗的工程師,放在開發系統核心架構、共用元件時,能預期的此專案的架構當然不構完整,架構、共用元件很多地方都是寫死,無法應付客戶多變的需求,造成事後整個系統需要重寫,所花的時間金錢更是可觀,除了每個團隊都要有其專屬角色,專屬角色是否挑對人,這也是相當重要的。

2. 客戶需求不明確,導致系統無整體性

當初由於時間緊迫,也未確實與客戶做需求確認,導致完成系統後,客戶才提出修改需求,如A功能流程變更、B功能加個按鈕等,真的就如同第五章的第二系統效應,那張圖真的很貼切,原本設計好的系統,加一點點,

加一點點,最後真的變成ㄧ大坨,而且整個專案失去控制。

3. 系統設計欠缺整體性

系統多人開發,每個人對於功能設計、按鈕設計、資料庫欄位設計、甚至SQL語法、程式寫法皆然不同,若無整體性設計原則,到頭來整個系統有56種設計模式,維護也很頭大。

記的台北公司在專案開始前,連同程式內的變數、方法……等都列出規則文件,好讓ㄧ同開發的同事有ㄧ致的標準,事後維護也不用找原來的開發者;桃園公司就真的亂七八糟了,系統到現在一大堆放著沒有用的程式碼及SQL語法,同個功能卻有2種以上的設計方式。看到第四章本書主張系統設計時,要有概念整體性,我想除了系統設計,專案整個執行過程中都因該有許多規則,並建立文件來輔助專案的整體性。

4. 樂觀

本書第二章文章中提到【樂觀】的程式設計師,無可否認的當然是有些程式設計師很樂觀,認為自己的程式沒有錯誤,或者如同書中提到最後一個錯誤剛剛被我找出來囉!

但是我發覺也有很多樂觀的主管,常常對著屬下說這個功能有這麼難嗎??不是這樣做就好,唉阿!!這個功能你半天就可以寫出來啦!!整個系統你一個月就可以完成啦!!真不知是主管天真,還是硬ㄠ你做不出來你一個月不要回家…=.=”

一個專案若單單只考慮以人月來做評估,譬如一個專案1個人要做6個月完成,那6個人做一個月就一定完成嗎???這個答案當然是”No”, 人與人相處需要溝通,專案執行最基本的當然是人與人的溝通,在專案中有太多不定的變數,並非多幾個人,專案就一定能更快執行完畢,能否有效的溝通、能否有效解決專案中所出現的問題, 需要考慮的不單單只有人月;相信還是有很多人(豬頭老闆、呆呆主管)的答案還是”YES”,他們真的該好好看看人月神話啦!!!所以專案評估只用人月是不精準且容易失敗,此書取為人月神話就是告訴大家以人月來評估專案那真的將會是一種神話啦~~~

本書中我最喜歡的一段並非作者所寫的部份,而是推薦序二,科技在怎麼變,人還是人 - 盧希鵬 所寫的一段,摘路如下「企業中如果以人月工時來估價或是來算成本的話,常常無形中嘉獎了庸才。同樣的程式,聰明的程式設計師可能花了4個鐘頭就寫完,庸才程式設計師可能要花12個小時,下班寫不完,還要加班4個小時才完成。同樣的工作,反而多領了加班費。許多時候,人月所代表的不是專案大小與成本多少,更是程式設計師的能力。」,非常認同這段話,

並非我能力超強,而是我不喜歡加班,尤其在假日,通常我都會利用正常上班時間就把工作作完,除非真的差很多,當然自己乖乖留下來完成;此段話令我想到,也有很多老闆喜歡看自己的員工做事做到很晚,當然也有員工怕比老闆還早走,就算作完事情也不敢走,或者事情就慢慢做,因此一個留的比一個晚,何苦那麼辛苦呢!!

2007年5月23日 星期三

不規則圖形排列 - 單一構件排列

經過努力後~~~不規則的單一構件的排列第一次出爐拉 !!


排出14行 ; 10 列
看起來很正常 , 不過事實上少了 1 行 ; 2 列 ...
排列的尺寸 : 300 * 120
構件尺寸 : 20 * 10
事實上因該要有 : 15行 ; 12 列 ....
因為排得時候構件不是緊貼的..還有點空隙..真遜



這個構件排出來完全沒問題...perfect ...哈哈



天阿~~ 亂飛~~還超出範圍~~~

看來光單一構件排列就有的搞嚕 !!! 加油加油 !!

忙忙忙!! 不規則圖形排版...

哇~~好久沒有新的文章啦!!!
最近忙忙忙!! 5/26 (六) 就要專題告報啦 !!!

阿娘威~~~挑戰不規則圖形排版~~還可真難!!
問題一堆 , 圖形 ... 幾何 ... 電腦繪圖 ......數學....等
很多東西 自己也不是那麼專長 .......
用了一堆笨方法在解決 ....
不過第一次寫 , 終究會比較差!!
當中也學到了很多東西 ....^^

還剩3天拉~~~排版都還沒搞定~~
拼拉!!趕工趕工 ~~看看禮拜六之前能做到什麼程度啦~~~^^

但願能如期完成啦!!!

2007年5月8日 星期二

無趣的DSS

天阿~~DSS 又要考試拉!!!
今天去查了一下評分標準~~
第一次考試 佔 15 %
第二次考試 佔 15 %
第三次考試 佔 25 %
地阿~~~總共佔 55 % 耶~~~考試不能放棄~~
放棄穩被當嚕!!!

為何DSS如此無趣呢!!!內容實在太空泛....
考試又是英文出題~~~考完也不會做檢討~~
感覺是刁難學生成份較多 , 而不是真的看看學生是否能學到東西 .....=.="

阿阿阿~~~雖然知道考試很重要 , 但是不知道怎麼準備~~昏........
看來真的要求天求地~~~運氣好點....不要猜太低分嚕~~~=.="

2007年5月6日 星期日

dxf 圓弧圖形顯示 ...

原以為從dxf檔案讀入圓弧圖形 , 透過解析以applet顯示 很好搞 ....
結果 .......太小看圓弧嚕 ...很多問題沒有考慮進去(凸度 , 弓長的大小) ........
而且小時候數學沒學好 ...三角函數 , 幾何圖形那些定理拉 ~~都忘光光嚕 !!
也趁了這個機會做複習.....哈 ∼∼邊寫程式邊學數學 ...
反正 ..嘿嘿.... 還是被我搞定嚕 ....^^

_____AutoCad 上顯示畫面________ applet 顯示畫面

_____AutoCad 上顯示畫面_____ ___ applet 顯示畫面

原本之前就想花點時間搞搞java 圖形 ...能利用這次報告順便做學習...心裡蠻興奮 ..
這次開發於Mac 上使用Eclipse 3.2.2... 不過在執行Debug模式的時候 , 中斷點卻都停下來...
在Windows 2000平台上 , 又是 OK 的 , 看來因該是Eclipse 3.2.2在Mac 上的問題吧 !!
等5月過後沒那麼忙的時候在來查一下是什麼問題......
5/26 就要報告拉~~~目前進度是 delay∼∼的 ...看來之後要更努力點拉.....加油加油拉~~^^

2007年5月2日 星期三

稻草長大囉~~~

至從 3月那時 插秧囉~~~
嘿嘿~~到5月拉 !! 稻草長大囉~~~


哇~~~好綠喔 ....


綠.. 綠.. 綠...


放大的稻草 ....