DIY Surface Table (III): 瞭解 FTIR (Frustrated Total Internal Reflection)

本文同步刊載在 <UIUI>

Posted by Mr. Monday

各位久等了,不好意思,這幾天有點忙,所以這篇有點慢才出來。在前一篇文章中我們已經瞭解了紅外光線,也瞭解了 DI (Diffused Illumination) 的背後原理,想必大家已經迫不及待想做一個 Table 來玩玩了。不過在這一章裡面先讓我們瞭解另外一個類似的作法 FTIR (Frustrated Total Internal Reflection)。

FTIR (Frustrated Total Internal Reflection) 的背後原理

雖然我們已經知道了 DI (Diffused Illumination) 的方式來實作 Table,然而多了解一種實作的方式,會讓你有多一種選擇。而 FTIR (Frustrated Total Internal Reflection) 的實作方式跟 DI (Diffused Illumination) 是有點類似的。FTIR (Frustrated Total Internal Reflection) 的實作方式是由 Jeff Han 在 2006 年提出的,他的論文在 UIST 這個 UI 的知名 Conference 上面也可以看到。讓我們來拆解一下 FTIR (Frustrated Total Internal Reflection) 的背後原理吧!

先由 FTIR (Frustrated Total Internal Reflection) 名字來看,後面三個字 TIR (Total Internal Reflection),代表的就是全反射,所謂的全反射就是光在一直在一個介質裡面一直反射而不會逸出。讓我們看一下 Wikipedia 的正式解釋:

全內反射(又稱全反射)是一種光學現象。當光線經過兩個不同折射率的介質時,部份的光線會於介質的界面被折射,其餘的則被反射。但是,當入射角比臨界角大時(光線遠離法線),光線會停止進入另一介面,反之會全部向內面反射。

所以,上圖的藍色的線就是全反射路徑。因此我們知道全反射跟入射角以及介質有關,而介質是最重要的一件事情。而 Jeff Han 最大的貢獻就是找到了一種介質,可以讓紅外線在裡面進行全反射,而這個莫大的貢獻就是這個全反射的介質竟然是如此便宜的壓克力。因此,知道了全反射介質,知道了紅外光,我們就知道這個互動桌面大概是要怎麼建置了。既然大家已經知道了 DI (Diffused Illumination) 的作法,那 FTIR 的原理跟 DI 非常類似,因此我們就一口氣解決它吧! 還有,由於我的實作是用 DI (Diffused Illumination),因此在下面的介紹當中,我會順便介紹一下 FTIR (Frustrated Total Internal Reflection) 實作需要注意的地方,以及可以參考的資料。而又由於我沒實作過這種方式,因此,或許會在實作細節遇到的問題我就不是很清楚了,不過,大體來說,應該是沒什麼大問題就是了。

首先,你還是要有透明的介質,因為透明的介質是需要能夠產生全反射的,所以,這個介質目前是限制在壓克力 (Acrylic),而由於要讓紅外線光可以打進去,以及產生全反射,你的壓克力的厚度必須要超過 8 mm;而你又要讓光在裡面做全反射,因此你的壓克力的四個邊必須要磨光,這裡所指的磨光是磨到你從一個邊可以看到另外一頭邊上的東西。這樣子說明如果還不夠清楚的話,那下圖 Laurence Muller 的結果圖應該會讓你明瞭什麼叫做磨光:

(圖片來源: Laurence Muller)

所以,在準備你的壓克力的階段時,你需要的不只是壓克力,你還需要水砂紙來拋光,以及最後用 Brasso 銅油來做最後的拋光動作。所需要的材料 Laurence Muller 在他的 FTIR 實作的這篇文章裡有提到:

  • 水砂紙型號:
    • P320 (I used Norton T223 / P320 / Very Fine)
    • P800A (I used Auto-paper P800A / Super fine)
    • P1200A (I used Auto-paper P1200A / Super fine)
  • Brasso 銅油
  • 舊衣服
  • 舊報紙
  • 一桶水
  • 最後你需要的是無限的耐心…你的面板越大 ,你需要拋光的面積就越大,加油吧!

ftir.jpg

在上面的設計圖當中,你可以看到在 FTIR 的實作當中是要把紅外光放在邊邊的,然後讓紅外光射到壓克力裡面去,在裡面做全反射。這樣子有一些好處,包括了你的紅外光在平面上面是絕對均勻的,至少會比用 DI (Diffused Illumination) 來的均勻。同樣的,還是利用紅外線攝影機 (IR Camera/Webcam) 來接收所反彈回來的紅外光線。然後,投影機的內容還是要打到投影布幕 (Diffuser) 上面。

整個設計大概是這個樣子,但是你會遇到一些問題,你必須要自己焊接你的 LED 燈,還好,在網路上面可以找到一票這種資料,你也可以在 Laurence Muller介紹文章裡瞭解你要如何焊接。最後,你終於做出來了,你或許會遇到一些問題,正如 Jeff Han 在他的 Paper 中所描述的,你必須要在螢幕上面用力按壓才會得到比較清晰的手指亮點,這樣子有點讓人困擾。因此 NUI 的團體發現,如果在壓克力表面上鋪上一層 Silicon,那這個問題就可以獲得解決了。如何鋪置? 在 BlaXwan’s 中有詳細介紹,以下是 DIY 影片:

如果你順利用 FTIR (Frustrated Total Internal Reflection) 建立了你的 Table,你就可以直接跳過下一章 DI (Diffused Illumination) 的建置。然後把 TouchLib 給跑起來就可以了,這個軟體我會在後面介紹到。

基本上,如果你想要用 FTIR 來建立 Table,在網路上面有很多資源,你只要打入 “Multitouch, DIY, FTIR” 應該就多到看不完了,大部分的都是 NUI Group 的人。然後你就會發現,為什麼隨便一個外國人家裡面都有個車庫,然後車庫裡面都有一些雜七雜八的工具。一些參考資料:

回顧 DI/FTIR 優缺點

不過在進入下一篇前,在讓我們回顧一下 DI (Diffused Illumination) 以及 FTIR (Frustrated Total Internal Reflection) 的作法。兩種作法都是用紅外光的反射原來來製作互動桌面,因此,這會有一個缺點,那就是紅外線干擾的問題,你不可以把你的桌子放在太陽光下,或是環境當中有很多紅外線的地方,這會讓你的桌子很不穩定。另外,它們都是用投影機,因此會有個問題,就是你的互動桌面怎樣都不可能太 “薄”,因為你的投影機就佔據了投影的距離。這也就意味著,如果我們實作比較小的面板似乎就沒有多大的意義,所以你會看到許多利用紅外光設計的多點觸控 (Multitouch) 桌面都會設計的比較大張一點。最後,你用的因為是投影機,除非是特殊的投影機,不然你不可以持續開機太久,會產生投影機過熱的問題。

當然用紅外光也有一些好處,包括因為是利用反射的原理,因此可以辨認一些物體的形狀,能夠辨識物體的形狀,那可以做的互動應用就廣了一些。當然,你可以說,我們可以用電阻做成的多點觸控 (Multitouch) 桌面,然後在桌面上面再架一個 Webcam,也可以達到。所以,我說,FTIR/DI 的優勢就是要把桌子做的大一點,這樣子在成本的優勢之下,這個樣式就勝出了。不過即使不是成本的優勢,這兩種方式因為容易 DIY,所以在目前為止也是勝出,至少每一個人,只要有心都可以做的出來。沒錯,是每一個人。

關於 FTIR 以及 DI 支間的比較。由於 FTIR 是用紅外光在壓克力裡面做全反射,因此,打光可以說是相當均勻,不會有什麼暗角的問題,而 DI 在這方面就要多費一點苦心。 不過 FTIR 受制於全反射的介質,因此只能用壓克力;而 DI 的話,你要用什麼都可以,我在論壇上面看到有人甚至拿毛玻璃做桌面,這樣子連投影布幕 (Diffuser) 都省了。相較於 FTIR,DI 在環境的考量上面要多了一點,就是因為紅外光是往上射,因此在可以反彈紅外線的角度內,如果有個反射很強的物質,也會照成干擾,像是你把鏡子放在上方之類的;或是你穿的衣服在袖子的地方是閃亮亮容易反射的材質。

管那麼多! 做就是了!

分析了那麼多,真是嘴砲一大堆,管他那麼多,選一個方式,開始實作就是了。最後讓我們來一段 Laurence Muller 的熱血製作 Video:

看完之後,手是不是很癢了呢? 下一篇我會開始介紹 DI (Diffused Illumination) 的實作,並告訴你我用的材料是什麼,以及可以在哪裡購買。

喜歡這篇文章嗎? 分享出去給作者一點鼓勵吧!