小松鼠嚇了一跳,有了魔法眼鏡後,這世界看起來完全不一樣了

2012年9月30日 星期日

從 Linus、飛機失火到魔法老師

圖片來源 Matt Cunnelly
最近在 Linux 的作者 Linus Torvalds ,因"飛機最大的問題就是窗戶打不開"的言論,在 Goolge+ 上罵美國共和黨總統候選人羅姆尼為「他媽的腦殘」 "He really seems to be a f*cking moron." 隔天又馬上在 Google+ 上改口說道:「他好像是開玩笑的」
這個故事告訴我們的是,即使像是 Linus 這樣,邏輯思考能力足以開發作業系統,分析能力足以在龐大程式碼找出 Bug 的人,在某些時候,一樣會被媒體誤導。畢竟有時因媒體的特性,部份資訊會無可避免的遺失(比方文字資訊不容易傳達語氣)。更別說有時有些資訊來源是別有目的的。
最近有所謂照南國小魔法老師七朵花事件。這中間誰對誰錯不是本文的重點。重點是,這裡面有黑函,還有黑函 2.0。

黑函也是一種資訊,只不過是一種消息來源不明確的資訊。消息來不明確,不見得資訊就不能用。比方如果有個不明來源的資訊,利用基礎的數論,在一張 A4 紙的空間上證明了 Fermat's Last Theorem,每個懂數學的人都可以直接驗證這個證明是否正確。如果正確,那這個證明真的是有意義的。資訊來源是否匿名,就不是那麼重要。但如果這張 A4 紙上同時宣稱這是 Fermat 當年沒有寫下的證明,我們雖然可以判斷裡面的數學手法和工具是否符合 Fermat 的風格,但相對來說比較難證實這件事。有消息來源,至少還能找到作者,也許還能確認他手上是否真的有當年的手稿。

這次會造成家長連署,進而會需要讓校長讓調班的事件,起因應該是黑函和口語(所謂的七朵花在苗栗風評很差,懶人包中也有提到)。
很多時候,匿名資訊代表著發布資訊者不願意為這個資訊負責。
這是黑函可怕的地方,大多數人並不在意消息怎麼來的。不是沒注意到而已,而是根本不在意。因為大多數人沒有 Linus 邏輯能力、分析能力,還有自省能力。
 不過更可怕的是黑函 2.0 。這次事件讓絕大多數人氣憤的,是那個七朵花在會議中對長官態度惡劣的 youtube 影片。絕大多數人不關心的是,該影片的上傳者,是一個註冊不到一天的人上傳的,而且用了個 Chen Charly 這樣不知道是誰的名字。

黑函不可怕,可怕的是它居然有效。
日常生活中,充斥著不明來源的「黑函」。吃什麼樣的食物才健康,什麼東西有電磁波會致癌,還有某某某的性愛光碟。
可怕的是它居然有效。

2012年9月15日 星期六

3D 超任模擬器

這是基於 snes9x 的簡單修改,增加雙眼視覺 3D 立體效果。
 不是什麼新點子,但如果你搜尋一下網路,就會發現說得人多,做得人少(大部份的情節是某人問說 snes9x 有沒有支援 3d stereoscopy,然後會有人說不行、沒意義等等的,有時也有人說應該可以,但就是沒有人真的去弄)。

3D 遊戲要弄出深度很簡單,但超任明明是 2D 畫面,要怎樣弄出深度?
因為超任有四層 background,一層 sprite,每層 background 和 sprite 又有不同的優先權等等的差別,所以可以依照繪製的順序給出深度(雖然得出的深度不見得理想),而 snes9x 的實作中,也給出了 z-buffer,所以有內建的深度可用,所以只要簡單的依照深度將 tile 位移即可。

目前的實作在 https://github.com/tjwei/snes9x-3d,只支援 odd-even-rows,還有 linux/gtk,因為這是我桌機的設定。 為了要放上 youtube,所以改了個 left-right 的版本(只是左右有點搞不清),然後用 recoredmydesktop 來錄。但是錄起來有 window 的邊,所以又用了 HandBrake 手動修掉邊。
由於影片製作的過程很家庭手工,所以有點不太順,實際上使用的效果會比影片要好一點。
有些遊戲效果還不錯,有些則不怎麼樣。

在 evo 3d 上看,似乎要深度加強一點,所以也錄了一個深度加強版。 由於我 compile 的 Snesoid 會 crash,所以 port 到 evo 3d 上要等等了。

Demo 如下
深度較強,適合小螢幕,只有快打旋風二



深度較弱,比較長

2012年9月6日 星期四

窮人的 3D 全像 : 使用 Android 手機



這是一個簡單的實做,利用隨手可得 Android Phone 來製作 Swept-volume display。顯示的是一個立方體,其中兩面顯示英文字母,一面顯示黃色,其他幾面是空心的。因為手機螢幕及錄影機的 framerate 的緣故,錄得不是很好,(有點類似錄 CRT 電視的情況),實際上的效果要好些。 其他還有弄一些單純的方塊,方塊中加個圓管,十字架,方塊中一個小方塊,但就沒有錄了。

 視覺暫留顯示(POV Display) 不罕見,如下面的影片

 

 Volume Display 最常見的就是 Led Cube,




 上面兩個都是常見的 DIY project,Swept-volume display 差不多就是上面兩個東西的混合。
用手機的好處就是 X,Y 的解析度是 480x800,不是 LED Cube 的 8x8 能比的。做 POV Display,也不用額外的硬體,單純用人力揮動配合手機的 accelerometer 即可。
但 Z 軸的解析度就很差。假設手一秒來回揮動三次,一般手機螢幕更新率是 60Hz,那表示 Z 方向從頭到尾移動一次只花了 1/6 秒,畫面只更新了 10 次。外加一些誤差(手的誤差和 sensor 的更新率),去頭去尾之後,Z 軸的解析度也只有 6~8。
當然你也可以手揮動得慢一點,但是太慢了就無法讓眼睛產生視覺暫留。
總之,暫時無法弄出 Leia 公主。修改之後應該還可以再擠出一些 Z 軸的 frame 出來。

更新:新影片,攝影技巧好得多。比較有信心能弄出 Leia 公主或初音了。