Monday, April 30, 2007

空間判斷小問題(一)

最近同事的工作上出現了一個小小的問題與主管討論,這是一個關於空間的判定問題,簡單的說就是:今天有一個圖形上面充滿了許多的區域,也就是說一個有許多polygon的圖形,當使用者用滑鼠點選螢幕的一個位置的時候,程式必須決定使用者選取了哪一個位置而做出相對應的反應。這樣的問題在graph裡面算是一個簡單的小問題,當然也可以不用graph的方式解決,後來同事似乎用顏色判別來解決(每一區用一個顏色代表),但是當我們必須使每一區域都一樣的顏色或是顏色會改變時,就得真正的去面對空間的問題.....繼續閱讀

Wednesday, April 11, 2007

Google notebook

google最近開啟了一個新的服務: notebook
這個記事本的功能我個人覺得很挺好用的
除了你可以登入去使用外
google notebook也有firefox的擴充套件
因此你可以把記事本放在你的firefox右下方
我覺得挺方便的

我覺得google notebook對我來說最好的是當作工作筆記
因為它可以有分享的功能(筆記本旁邊的兩個小人就是有分享)
我覺得這對於再工作時候的共用筆記很棒
因為一些小小的project要去弄個project網站弄共用筆記好像很麻煩
因此這樣的東西就是一個很好的替代品

不知不覺我的google service也越來越多了耶 ㄏㄏ

Thursday, March 22, 2007

AGG: Anti-Grain Geometry

最近在學習AGG這個2D圖形library,覺得他真的很棒
反鋸齒的展示2D圖形在向量圖中的表現關係到整體感覺
AGG在這個方面表現的十分出色
AGG是一個用C++來實作的library,他用了大量的template來作泛型化設計
因此它的使用十分具有彈性
在跨平台上面他也是很棒
幾乎所有的code都是跨平台的
惟一與平台有關的是在OS event與drawing上面
因此他利用了一個類別稱為platform_support來處理與OS相關的
在platform_support裏面的platform_specific他只宣告它是一個類別
所有跟OS相關的資料結構妳可以宣告在這個類別中
因此將AGG放進目前不支援的drwaing library是非常簡單的
AGG目前有X11、SDL、Mac與win32的支援
我實作了DirectFB的支援,還挺容易的

AGG自己有一套control系統,現在已經有一些基本的control
譬如check box與slide-bar等等的控制元件
在字型顯示方面,他有提供freetype的支援
因此在文字顯示也不是問題
我試過utf-8的中文顯示很棒
但是在轉換unicode碼的部份妳要自己實作
不過這部份並不困難就是

結合AGG+DirectFB+SVG
或許可以有一些有趣的project可以玩玩歐

Wednesday, March 14, 2007

淺談OpenSER(三)

在整個openser.cfg中最重要的大概就是你怎麼處理route裏面的規則,這裡給你做一個簡單的示範。

通常一開始會先檢查SIP message是否是合法的,因此我們對SIP message的forward header與message長度作檢查.......繼續閱讀

Thursday, March 01, 2007

淺談OpenSER(二)

如果妳打開openser.cfg這個檔案,第1眼印象妳可能會以為它是一個script檔案,其實這樣說也沒有不對,但是之前說過這個script其實是lex的輸入文檔,因此妳必須滿足它的字彙規則,讓我們先簡單看一下這個檔案。

這個設定OpenSER的動作檔案簡單可以分成4個部份,分別如下......繼續閱讀