2007年11月16日 星期五

台大教授的程式作業批改系統

不知道有沒有人對YouTube上的一首曖昧改編版有印像 (曾經被PO在ptt上面)



笑點可能要修過程式設計課的人才會懂..

我有在ptt2潛水看台大兩位資工系教授的個人版。其中一位教授稱他的程式作業叫『使徒』(於是學生們就得擊敗眾多的使徒 XDXD)

那位教授也開發了一個web-based的程式批改系統(像是ACM judge),叫做『批改娘』。
『批改娘』的系統好像常常被助教惡搞,於是今天在版上就看到了這樣的畫面

使�

真是有趣的教授和助教啊....XD 有興趣的話前往ptt2應該不難找到那個版

2007年11月12日 星期一

Monte Carlo integration (蒙地卡羅積分)

蒙地卡羅積分是一個能夠求積分近似值的方法。這個方法應該有很多應用吧,我印像最深刻的是影像合成中的ray tracing演算法(可用於計算一個點受到的照度)。因為學弟的論文可能會用到這個方法,我曾經學過但是有點忘了,而且竟然找不太到中文的資源,所以復習一下順便做一下筆記。

假設有一個對x的定積分式


如下圖,如果f為折線的函式,則黃色區塊的面積即為自0到1積分的結果。

monte1

當然,我們很容易可以利用三角形面積公式,或者對f求定積分,而算出黃色區域的面積。然而,假設我們沒有這樣的先備知識,或者黃色區域的面積是難以求得的,那要怎麼辦呢?

2007年10月2日 星期二

下載檔案如何不造成lag?

前言:這篇想要寫的盡量簡單易懂,所以用了一些技術上不太正確的譬喻,高手看到請鞭小力一點。


劇情:小明在外租屋,房東家裡裝了一條ADSL網路,免費分給各位房客用。小明的朋友阿喵架了一個FTP站,在上面放了一些電影。有一天,小明在阿喵的FTP上抓電影時,房東的兒子打網路遊戲突然變的很不順,下達一個攻擊指令後過三秒才會有反應。房東的兒子和房東說了這樣的情況,於是房東就把房客們的網路線拔掉了...如果有在網路上下載檔案(FTP, BT, eMule)的人,應該常常會有這種經驗...打BBS或網路遊戲突然變的很lag(指網路回應時間很慢)。要怎麼避免這種狀況呢?

Wordpress忘記密碼的解決方法

此處指自己架的wordpress,並非wordpress.com提供的service。

第一種方法:在login畫面點選forget password,會寄送一封信到你的信箱,附帶一個可以更改密碼的link,但要是這方法失效的話...

進phpmyadmin,修改wp_users table,將使用者的密碼欄位清空 (原本會看到一串16進位的數字),打上新的密碼,並點選MD5。phpmyadmin會幫你把密碼用MD5 hash後存入資料庫,收工。

事實上sql指令夠熟的話,直接去console下sql...

UPDATE `xxx_blog`.`wp_users` SET `user_pass` = MD5( 'password' ) WHERE `wp_users`.`ID` =2 ;

參考http://codex.wordpress.org/Resetting_Your_Password

2007年3月19日 星期一

遊戲中常見的幾種音樂格式

這篇是貼我自己以前寫的文章。



介紹這些格式的文章應該不少,但我想大多過於專業
我試著用自己的話,盡量簡單地描述四種遊戲最常見的音樂格式

  1. MIDI:通常副檔名為mid,MIDI是Music Instrument Digital Interface的簡寫
    特色是檔案很小,非常小

    簡單的這麼解釋好了:

    mid檔就像是樂譜,記錄著「第5.02秒鋼琴要彈下sol、第6.31秒吉他要彈下ra」這樣的資訊
    然而mid檔裡本身並沒有吉他、鋼琴的音色。這也就是為何mid檔案小的原因

    那當我們的電腦撥放mid檔時,怎麼知道吉他、鋼琴的音色呢?
    這是因為mid檔通常遵守一種叫「General MIDI」的格式
    「樂器1」表示鋼琴、「樂器25」表示尼龍弦的古典吉他
    然而我們的音效卡上有一個「MIDI音源器」,負責按照這些樂器編號,把聲音撥放出來
    (當然有軟體音源這個例外,但不在此討論)

    單純使用mid檔的話有一些限制

    1. 音色是看使用者電腦上的音源,不同的電腦撥放出來的效果可能會不同
      (大部份的人應該都是爛爛的AC97音效卡)
    2. 音色有限,只有General MIDI提供的音色 (我記得是128種,不知道有沒有記錯)
    3. 效果有限,沒辦法自由的調整迴音、各種效果(equalizer, echo, reverb, flanger等....多不勝數)


  2. Wave:通常副檔名為wav
    特色是檔案很大,非常大

    大家可以把他想像成忠實的把聲音記錄下來的檔案格式

    音質最好,所以花費的空間多
    (大家可以把他想像成圖檔中的bmp檔)

    許多商業遊戲都是用CD音軌的方式來儲存音樂
    CD音軌其實也是屬於Wave的無失真儲存方式
    (CD音軌的資訊其實就等於Sample rate=44,100Hz 雙聲道的Wave檔)


    很常見的編曲方式就是:使用MIDI編曲軟體+自己的軟/硬體音源 => 混音成wave檔

    然後再看要不要做壓縮之類的
    和單純使用General MIDI比起來,這樣可以使用很多種的效果,處理上也有很大的彈性


    Wave和以下的mp3, ogg...等真正儲存聲音的,通稱為數位音訊檔
    接下來只是把Wave壓縮過的格式,我就不詳細介紹了
    主要的目的只是跟大家講數位音訊和mid檔之間的差別

  3. mp3:
    相信大家都很熟悉吧 XD


    mp3是將wave失真壓縮(註)後的一種格式

  4. ogg:
    可以參考維基百科: Ogg Vorbis

    一樣是失真壓縮
    據說同樣壓縮比下的音質比mp3還好,我自己倒是沒試過
    在一般使用者間這個格式還是沒有比mp3被廣為使用


註:失真壓縮
失真壓縮就是指在壓縮的過程中,損失一些原有的資訊

舉大家比較熟悉的圖片來說,bmp就好像wav的角色
png,gif就是一種非失真壓縮(畫質不會變差),jpg就是失真壓縮