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++
不過一直沒能力~~~~該加加油囉!!

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

4 則留言:

  1. 學長~
    真羨慕您們已經畢業了
    我被資訊專題弄得七葷八素
    一個人做真的粉累
    眼看大後天就要報告了
    希望像您一樣有奇蹟丫

    回覆刪除
  2. 學妹歐~~真厲害能找到這裡~~

    其實報告就想辦法生出來囉!!
    至少要有東西呈現,而且老師問的問題要會回答 ...

    重點是老師又不會去看程式碼...

    要寫道什麼程度就看妳們自己囉 !! 加油囉 ~~

    祝你們大後天順利過關~~ ^^

    回覆刪除
  3. 焦頭爛額中2009/6/4 晚上11:39

    學長~
    今天我沒去報告喔
    我另外在學校信箱留言
    請你看後抽空回覆吧
    感恩~

    回覆刪除
  4. 你好,我對"基因演算法應用於成衣裁剪排版系統最佳化"有興趣,請問有接外包嗎?

    回覆刪除

感謝大家提供意見喔 !! 東仔 !!