顯示具有 CS 標籤的文章。 顯示所有文章
顯示具有 CS 標籤的文章。 顯示所有文章

2008年8月10日 星期日

Lisp 資訊

Lisp 經典書 SICP
原書 http://mitpress.mit.edu/sicp/
課程影片 http://swiss.csail.mit.edu/classes/6.001/abelson-sussman-lectures/

Cusp eclipse
http://translate.google.com.tw/translate?hl=zh-TW&sl=zh-CN&u=http://www.ibm.com/developerworks/cn/opensource/os-eclipse-lispcusp/index.html&sa=X&oi=translate&resnum=4&ct=result&prev=/search%3Fq%3Declipse%2Blisp%26complete%3D1%26hl%3Dzh-TW%26sa%3DG

python in lisp
http://common-lisp.net/project/clpython/

Scheme
http://irw.ncut.edu.tw/peterju/scheme.html

2008年6月13日 星期五

Python-Ogre + py2exe

Python-OgreOgre3D 的 python binding,可搭配 py2exe 將之轉換為 win32 binary,官網上有 py2exe 的使用教學

基本上轉換很簡單:

  • 在遊戲程式所在的目錄 (以PythonOgre\demos\ogreforests為例) 建立個 exe.py,內容:
    from distutils.core import setup
    import py2exe
    setup(console=["Demo_Forest.py"])
  • 於命令列敲 "exe.py py2exe"。
  • 此時若出現錯誤為缺少某DLL,例如 boost_python-vc80-mt-1_35.dll,搜尋你的系統將缺少的DLL都複製到 exe.py 所在的目錄,再重來一遍即可。
  • 將 media 整個複製到 dist 底下,執行 Demo_Forest.exe 吧!
  • 如果執行 Demo_Forest.exe 又出現缺少某 DLL,例如 cg.dll,跟之前一樣搜尋系統把它複製到 Demo_Forest.exe 的目錄就好!

2008年5月30日 星期五

pyGTK install

用 python 寫 GTK 比用 C 寫省下許多繁瑣的功夫 (其實寫什麼都很省事)
先安裝這些東西:

  • gtk-dev-2.12.9-win32-2.exe
  • gtkmm-win32-runtime-2.10.11-1.exe
  • pygobject-2.14.1-1.win32-py2.5.exe
  • pygtk-2.12.1-2.win32-py2.5.exe
  • pycairo-1.4.12-1.win32-py2.5.exe (為了出一些 Fancy 的圖)
然後再裝個 glade-3.4.3-win32-1!

glade 拖拉產生的描述檔於程式中載入:
import sys
import gtk
import gtk.glade
import pygtk

class FisApp:
def __init__(self):
glade = sys.path[0] + "/" + "FIS.glade"
name = "winFis"
self.wTree = gtk.glade.XML(glade, name)
self.win = self.wTree.get_widget(name)

dic = { "on_tbExit_clicked" : self.on_tbExit_clicked,
"on_winFis_destroy" :(gtk.main_quit)
}
self.wTree.signal_autoconnect(dic)
self.win.show_all()

##### My CALLBACKS #####
def on_tbExit_clicked(self, widget):
print 'test'
gtk.main_quit()

if __name__ == '__main__':
app = FisApp()
gtk.main()

可以開始做正事啦 :)

2008年5月28日 星期三

TurboGears

TurboGears 將網頁相關部件貼近 Python 物件的開發風格,對於習慣寫程式的我來說相當順手,使用流暢度絕不遜於 RoR。

初次接觸可先翻翻 CherryPy 的範例,再讀 Brian's TurboGears Tutorial,就差不多有概念了。

相關閱讀

2008年5月15日 星期四

Mean Shift

通過估計 Kernel Density Gradient 而不去估計 Kernel Density 自身,來分析點分佈。配合反覆沿 Gradient 移動,一樣可做到良好的 clustering。

也因為只關心 Gradient 的估計式較簡化,最終僅含 window size 一個未知數,因此較常見的核方法更為 robust。

該找個機會試作看看。

相關閱讀

2008年5月13日 星期二

去雜訊

最近讀到 NL-Means 的去雜訊方法,這是一種 Neighborhood Filter,利用影像自相似的特性,從Pattern 重建 Pixel。

下圖A為隨性 Google 來的相片,圖B為去雜訊的結果。圖B當中的閃光與碎石細節大抵保留著,只去除天空亮度不足的雜點。做起來效果還可以,只是找鄰居的步驟實在需要許多加速技巧阿,不然速度可慢的,也因為如此,有些快快快的痕跡留在圖中。

圖 A

圖 B
相關閱讀