Monday, April 28, 2014

滑板滑雪物理學 (續) The Physics Of Snowboarding (cont.)

延續上一篇的說明...


http://www.real-world-physics-problems.com/physics-of-snowboarding.html

如何在割雪轉彎 (carving turn) 下保持平衡

先前提到的,理想的轉彎是以完全割雪轉彎的方式來完成,這樣子可以把因轉彎而損失的速度降到最低。以下來分析割雪轉彎中各種力的平衡。


首先是定義座標與代號,由重力方向造成的效果隨滑雪者的行進方向改變。

 schematic for orientation of snowboarder on slope
  • g 重力加速度,地球上是 9.8 m/s^2
  • alpha 是坡度,零度代表水平面
  • beta 是雪板行進方向與水平線的交角,水平線與重力方向垂直
  • R_T 是轉彎的旋轉半徑
  • v 是滑雪者切線方向的速度,指向滑雪者的行進方向。
這裡我們定義 x-y 平面,讓 y 軸垂直於坡面,而 x 軸在坡面上與行進方向垂直。
(為了簡化起見,這裡我們假設坡面是一個平面,忽略三維的效應) 再來我們看相對於滑雪者的座標規劃。

 free body diagram of snowboarder on slope
  • theta 是坡面上的 x 軸與滑雪者身體重心的交角,也就是滑雪者傾斜與雪面的交角。
  • G 是滑雪者的質量中心,這包含了滑雪者與雪板,整個視為一個剛體。
  • P 是雪板與雪面接觸的近似點。
  • L 是重心 G 與 P 點的距離
  • a_c 是位於 G 點的向心加速度,方向指向 x 軸向迴轉半徑的圓心。
  • F_1 是接觸雪面 P 施與滑雪者的支撐力,在 x 軸的分量。
  • N_1 是接觸雪面 P 施與滑雪者的支撐力,在 y 軸的分量。
這裡滑雪者 G 的瞬時速度 v 是指出紙面(螢幕)的。

在質心 G 在總力平衡的條件下,y 軸方向的總力(加速度)為零。也就是說,當滑雪者轉彎的時候,y 方向的總力為零可以表示為:

N_1 - m g cos(alpha) = 0  (1)

這裡 m 是滑雪者與雪板的質量總和。考慮牛頓第二運動定律,在 x 軸上:

F_1 = m g sin(alpha) cos(beta) = m a_c  (2)

而向心加速度可以表示成:

a_c = v^2 / R_T

將之代換到 (2) 之中,我們可以將整個系統近似成一個轉動慣量平衡,也就是對於質心 G 而言總角動量為零。可以用以下數學式表示:

F_1 sin(theta) L - N_1 cos(theta) L = 0  (3)

結合 (1) - (3) 式,我們可以得到:

tan(theta) = g cos(alpha) / g sin(alpha) cos(beta) + v^2/R_T

請注意這裡質量 m 與長度 L 已經不需要了,因為他們已經在式子中約掉了。

這個式子要怎麼用呢?舉個簡單的例子:

當某個瞬間 alpha = 20 度(這要算紅道還是藍道?),beta = 60 度,速度 5 m/s (時速 18 公里),雪板側邊的弧度半徑 14.8 公尺,雪板與雪面交角 phi = 30 度。這樣子傾角 theta 應該是多少呢?

要達到完全割雪轉彎 R_T = R_SC,所以  R_T = R_SC cos(phi) = 14.8 cos(30) = 12.82 m,也就是 theta = 68.5°

當在坡面上滑雪的時候,在轉彎的過程中迴轉半徑 R_T 不會是一個定值,會有變動是正常的。尤其是重力的分量對於滑雪者在轉彎的軌跡中,如同 (2) 所示,beta 會隨之改變。自然地,滑雪者的傾角,還有雪板與雪面的交角 phi 也要配合調整,最後達到改變 R_T 的目的。這使得滑雪的物理分析變得複雜。

下一個部份,我們要來分析這個雪板切入雪面的角度,來避免在雪上發生側滑。
在此之前,有一些預備知識需要先來了解。

避免雪板在雪面上側滑

這裡有兩個雪板物理學考慮的點:滑雪板如何會發生側滑,還有如何來避免。
首先,當雪板在一個水平而且平坦的雪面上時,只要滑雪者腳對雪板的施力,
與雪板的平面成90度,就可以避免發生側滑。這是由於雪面與雪板間的摩擦力非常小,只要有一點點橫向的分力,就會使得雪板(側向)滑動。

第二點是當雪板在斜坡雪面上時,滑雪者必須以一個傾角將雪板壓入雪中,才能防止滑動。如此一來,滑雪者施在雪板上與雪板面平行的分量,成為是指向雪中的力量。

我們以下面的圖示來說明:



force applied to snowboard on sloped snow surface to avoid slipping

滑雪者施力於雪板,避免在斜坡上發生滑動,其中:
  • phi 是滑雪板與雪面的傾角
  • delta 是施力方向與雪面的交角
  • psi 是施力方向與滑雪板面的交角
  • F_R 則是滑雪者的腳施與滑雪板的合力
要避免滑動, psi 角必須大於或等於90度。這也就是說 F_R 力平行於滑雪板面的分量,必須為零(當 phi = 90度),或是指向雪中(往山峰或迴轉中心),也就是往右(當 phi > 90 度),如此一來雪面就像是一面高牆,擋住雪板滑動。

然而當 psi 角小於 90 度時,F_R 在平行於滑雪板面的分量,會往迴轉外側(往山谷),也就是往示意圖的左方。(將雪板帶離雪板壓出的溝)請注意我們這裡忽略了雪板本身的重量,所以實際上的關鍵角度將不同於90度。

就地形而言,要避免側向滑動,delta 角必須大於或等於 90 - phi。

我們可以用上一節的簡單例子,來驗證前述的物理。

首先必須檢查(滑雪者的腳)施力 F_R 與滑雪板的角度。這裡忽略相對較小的滑雪板質量,這力等於 F1 與 N1 施予滑雪板的大小,但方向相反。由於系統是旋轉平衡(沒有旋轉/力矩),也就是說 F1 與 N1 都會通過質心 G 點。即 delta 角相同於前面的 theta 傾角。當 delta = 68.5度,是大於 90 - phi = 60 度的。因此滑雪板不會發生側滑。

下一節我們將討論關於空中特技的物理。

(待續)

Saturday, April 19, 2014

滑板滑雪物理學 The Physics Of Snowboarding

這篇實在是落落長,就慢慢分成幾次寫好了。

http://www.real-world-physics-problems.com/physics-of-snowboarding.html

了解雪板滑雪背後的物理,將有助於提升技術層次,了解關鍵原理可以幫助做出正確的動作,更可以改善滑雪表現。

滑雪是一個將「重力位能」轉換成前進速度的「動能」的一項運動。所以當往山谷下滑愈多,就會有更快的速度。第一張圖是說明在陡坡上,可以靠著Z字形的方式來有效控制速度。而玩 heliski / helisnowboard 可以從直昇機上一躍而下而不受傷,則是因為山坡是一個斜面,真正正面衝擊的分量只佔一小部份。

圖中可以看出其實該雪友是帶邊在滑的,可以藉由板子與雪的摩擦力來降低滑行的速度。不過相對於使用carving轉彎,skidding是比較不好的方式。

(這次去 La Thuile 會議的主辦單位有安排ski教練。基本上ski與SB一樣,高級轉彎應該用carving的方式,能夠在不降低速度的方式轉彎。像我這種不管ski還是SB都帶邊在滑的,就被訓了說,不學好carving技術是會停頓無法提升的... 泣)

首先是帶邊的犛式轉彎 (Skidding)


這是初中級或是比較沒有經驗的SB雪友的轉彎方式:雪板以斜面「掃過」雪面,甚至是正面在「鏟雪」。因此最後在滑行的速度上,會有相當程度的損失。這是因為這裡板與雪的摩擦力,遠遠大於打直板平面滑行時的狀態。

以carving的方式,你可以保持前進的運動方向,與雪板方向平行。在這裡板與雪的摩擦力很小, 就可以以更快的速度通過雪道。(是進階板友的高級轉彎方式)

割雪轉彎 (Carving)

雪板的側邊(side cut)是做成一個弧度的,這個弧度的曲率半徑Rsc,就是理想上轉彎的迴轉半徑Rt。(pure carving)

但是當雪板面與雪面有一個交角Phi的時候,這個板邊弧度投影在雪面上,就會受到影響,實際的有效曲率半徑就變成了 Rsc Cos(phi),這時雪板就走在一個橢圓邊上。這樣子一來,無可避免的,就會增加轉彎時 skidding 的量,進而增加摩擦力影響到滑行的速度。當板子做成反曲(?)的形狀(reverse camber),雪板邊就能夠即使在不與雪面平行時,仍然走在Rt' = cos(phi)的正圓邊上。
case where the snowboard is tilted with no reverse camber for a purely carved turn

深入割雪轉彎


基本上,最大的 reverse camber 取決於板與雪面的角度 phi,還有板子的側邊曲率半徑。一個側邊曲率半徑比較小的板子,就可以接受更大的 reverse camber,來轉一個更小半徑的彎。有經驗的選手可以根據實際的地形,來調整板子與雪面的角度,來達成不同的迴轉半徑。

(待續)

Wednesday, March 19, 2014

建立 MacOS 下的「梅醬」調教環境... XD

能有這個「梅醬」開源的聲源跟軟體,要感謝 Paul Liu、MGDesigner、匿名聲優... (個人沒有貢獻)

以下是個人的安裝記錄,給同樣是從 小黑+Ubuntu 跳船到 MacOS 的新手們參考:
  • 首先安裝 brew,這是 mac 下方便下載函式庫原始碼及編譯的好工具。注意該程式會自己呼叫 sudo,而且需要 OSX「系統管理員」的身分。
  • 再來下載「梅醬」聲音庫,連結在這裡 檔案下載處 你需要 oto.ini voicebank-20140115.tar.gz 2013csv.tar.gz
  • 因為檔案大小的關係,聲音庫是已經壓縮成 FLAC 格式,可以用 brew install flac 下載安裝。不建議直接用 xiph.org 或是 fink 上包好的安裝檔,版本太舊會跟其他衝突。把所有 .flac 檔案解壓縮成 .wav 後,跟 oto.ini 放在同一個目錄下。
  • 再來是編譯最關鍵的兩個程式:efb-gw (test1) 跟 wavtool-pl。這兩個分別有依存兩個函式庫,需要先用 brew install fftw 還有 brew install libsndfile 安裝。如果想在命令列下直接播放聲音檔,也可以順便用 brew 把 ffmpeg 跟 mplayer 裝起來。
  • 接下來是轉檔工具:xvsqexec.jar (連結待補) 用來把類似 UTAU 介面的 GUI 軟體 Cadencii 轉成 wav 聲源。( Mac 使用者建議直接下載 dmg 映像檔,注意下載速度極慢)
  • 使用 Cadencii 「畫完」歌詞內容之後,使用下列指令轉出歌聲音源 (output.wav)。(需要 JRE 7 的版本!)
java -jar xvsqexec.jar test.xvsq ~/path2/wavtool-pl ~/path2/test1 output.wav ~/voicebank/oto.ini

  • 這裡 oto.ini 內的設定目前欠否,需要人力把每個發音「切」出來。細節參考 MGDesigner 的說明簡報,就有待各位有志者的苦力了。 (笑)
  • 切音工具建議使用 Audacity 也是有現成的 dmg 映像檔可以下載。
基本上程式不是我寫的,有任何問題請先問 google 或找原作者解決。 (flee)

Sunday, October 27, 2013

[分享] 支援 win xp/7/8 32/64bit 的開源注音輸入法

雖然說自己已經把所有的工作都轉移到 Ubuntu 下了,可是還是有時會有一些非要使用 windows 的需求。這個時候如果只有笨笨的「新注音」,要輸入中文還是相當的不順。趁著剛好新的 windows 8 SP1 8.1 的推出,聽到不少網友遇到系統更新後中文相關的哀嚎需求,乾脆來寫一下介紹目前可用的「免錢」智慧型注音輸入法。

首先當然是新版的「新酷音輸入法」:
話說 PCMan 洪醫師似乎閒不下來又再犧牲他的空閒時間,和開源社群界的網友一起,重新打造了全新 TSF 架構的 Windows 版新酷音,除了 winXP 的使用者需要手動開啟「進階文字服務支援」外,較新的 windows 作業系統都可以直接使用,而且有原生64位元的版本。同時在社群朋友的努力下,效能又比舊版本更快了。(注意:全螢幕遊戲尚未支援!)

下載地址請參考 PCMan 的部落格上的聯結: http://pcmanx.blogspot.tw/

另一個免錢的輸入法也是開源軟體 GCIN,如果有在使用 Linux 的朋友應該會相當的熟悉,作者劉大前輩更是最早 Linux 下 XCIN 輸入法的原始開發者。GCIN 主打的詞音輸入法跟新酷音的概念不太一下,新酷音需要打出所有的音來,讓輸入法基於整句斷詞統計選出正確的同音字。而詞音輸入法則是使用者的輸入提供多樣 的「聯想詞」來讓使用者預選,相對來說如果不預選的話,詞音判斷同音字的方式只有靠詞頻,所以正確率會比新酷音整句判斷的方式差一點點。但是善用預選詞可 以省下相當多的按鍵,同時減少智慧選字錯誤時需要手動修正的情況,好壞選擇上就看個人習慣。目前主程式只有32位元的版本,但是有支援64位元的中介程 式,所以要用在需要64位元 windows 的話得兩個都裝。詳細的說明在作者的官方論壇: http://hyperrate.com/dir.php?eid=215

http://hyperrate.com/gcin-inst.exe
http://hyperrate.com/gcin-ime64.exe

GCIN 的主程式使用 GTK 介面比較「華麗」,檔案大小比起 PCMan 新版的新酷音大了些,這同時也是為了支援多種輸入法(包含詞音、倉頡、大易、行列... 等等)的代價,值得一提的是劉大前輩還自己錄了注音發音檔,可以搭配 GCIN 使用,希望將來可以有女性網友提供發音。

http://hyperrate.com/ogg-win32.7z

以上是小弟個人用過的免選字注音輸入法,基本上都是開源軟體。如果使用上遇到任何問題,建議可以先問 google 一下。有遇到任何錯誤還請上官方網頁回報,這樣子作者就有機會在下個版本推出時修正。

Sunday, September 29, 2013

Lenovo Smart Card Keyboard support for Ubuntu

話說前一陣子看到朋友post的好康,也跟著買了一個。單純就一個 NT$ 499 的薄膜鍵盤而言,對我來說無論鍵深還有手感跟其他千元以下的鍵盤比較起來,算是相當不錯的了。(請不要跟數千元的機械鍵盤比)既然還多了讀卡機的功能,那當然也是希望能夠在 Linux 下面能夠使用。

首先簡單看一下硬體編號得知是 17EF:6007:
 $ lsusb
...
Bus 002 Device 014: ID 17ef:6007 Lenovo Smartcard Keyboard


問了一下 Google 大神,據說 libccid 是有支援的,那就來裝一下。
 $ sudo apt-get install pcscd libpcsc-perl lib-pcsclite1 pcsc-tools

不過跑了 pscs_scan 好像抓不到!?
 $ pcsc_scan
PC/SC device scanner
V 1.4.18 (c) 2001-2011, Ludovic Rousseau
Compiled with PC/SC lite version: 1.7.4
Using reader plug'n play mechanism
Scanning present readers...
Waiting for the first reader...


很明顯應該是 driver沒有把已經支援的這個設備列進去,那只好照下面這個來手動改一下,在三個對應的位置各加上一行。
 $ diff -u /etc/libccid_Info.plist.bak /etc/libccid_Info.plist
--- /etc/libccid_Info.plist.bak    2011-10-23 02:00:31.000000000 +0800
+++ /etc/libccid_Info.plist    2013-09-29 15:40:21.000000000 +0800
@@ -219,6 +219,7 @@
         0x1059
         0x1059
         0x17EF
+        0x17EF
         0x19E7
         0x1B0E
         0x0982
@@ -413,6 +414,7 @@
         0x000C
         0x000D
         0x1003
+        0x6007
         0x0002
         0x1078
         0x0007
@@ -607,6 +609,7 @@
         GnD CardToken 350
         GnD CardToken 550
         Lenovo Integrated Smart Card Reader
+        Lenovo Smart Card Keyboard
         Charismathics token
         Blutronics Bludrive II CCID
         Covadis Alya

...

然後重起一下 pcscd:
 $ sudo /etc/init.d/pcscd restart

其實又仔細看了一下,這個 patch 其實早有人已經送到上游去了,只是到 Ubuntu 12.04 都還沒有更新到。不然裝完 libccid 跟 PC/SC Lite 應該就可以使用了。
http://permalink.gmane.org/gmane.comp.lib.muscle/9504

至於要怎麼在 WebATM 使用,網路上已經有很多範例,這裡就BJ4。

Tuesday, August 06, 2013

巨量資料分析輕鬆上手_教您玩大強子對撞機公開數據

COSCUP 2013簡報。
相關影片請參閱簡報內連結,或由 Google / YouTube 上搜尋


《上帝的粒子:希格斯粒子的發明與 發現》書評

個 人有幸從二○○七年開始,外派常駐在 CERN,參與大型強子對撞機的 CMS 實驗,進行尋找第四代夸克的研究。雖然至今第四代夸克一無所獲,仍然在尋找其他有趣的物理機制。但是到二○一二年搬回台灣,這四年多來無論在生活與研究 上,對我都是相當寶貴的經驗。對於希格斯粒子的尋找,個人沒有親身參與,也算是躬逢其盛。


在 接到貴出版社的搶先試閱之前,就從曾經在英國唸書的學妹聽說了這部大作。在看過中文版的翻譯之後,本書的作者吉姆.巴格特確詳實的記載了整個希格斯粒子從 理論模型的建立,到實驗尋找發現的整個來龍去脈。相當難能可貴的是,這個中譯本使用台灣地區翻譯的習慣,而不是從簡體中文繁體化來的。本書的第一部份從原子理論、南部陽一郎的自發對稱性破壞,到整個 BEHHGK 機制形成質量的理論,沒有使用任何公式來敘述,依然提供讀者一個完整的概念。同時也記載了這中間無數諾貝爾獎得主如何絞盡腦汁,一點一滴試圖推演出完整的 理論。而在第二部份則敘述了希格斯粒子的發現過程,實驗學家如何以嚴謹的態度,逐步發現自大霹靂形成後各個已經不存在自然界的基本粒子。值得一提的,書中 寫到倫敦大學教授米勒的類比,以英國政治人物都能理解的方式,來向讀者說明希格斯機制。同時,這中間美國與歐洲在二次大戰後,科學競賽中的暗潮洶湧,對於 非理科的讀者而言,應該更是引人入勝。在看完整部書之後,自己彷彿又回到二○一二年七月在墨爾本高能物理年會的現場,看著 CERN 舉辦發現「類希格斯粒子」記者會的視訊連線轉播。


上個世紀末可說是近代物理的黃金時代,但是從 1995 年頂夸克發現,與本世紀初 b 夸克物理的成果後沈靜了一段時間,希格斯粒子的發現算是相關人士期待已久的成果。即使今天遍布各處全球資訊網 (WWW) 的應用,正子掃描、電腦斷層還有質子治療在醫學上的應用與開發,多數人恐怕對高能物理這個基礎科學研究的印象,恐怕仍存在著好比練功「蹲馬步」般無趣的誤解。希望藉由本書中文版的出版,能夠讓更多讀者在這方面有更多的認識。


ps. 質量 top quark / bottom quark = (~172.5 GeV)/(4.5 GeV) ~40 倍 書中前後的數字好像不一致

Monday, August 20, 2012

大強子計算網格與OSS

COSCUP 2012簡報。
相關影片請參閱簡報內連結,或由 Google / YouTube 上搜尋

Sunday, May 06, 2012

關於「將手放進 CERN 的大型粒子碰撞器的會怎樣?」

關於「將手放進 CERN 的大型粒子碰撞器的會怎樣? 機構的科學家親自回答(影片)

幫忙說明一下:
基本粒子物理學家可以很粗略的分成兩類:理論物理學家(上次訪問的),和實驗物理學家(這次訪問的)。粒子物理的演進,就是個在理論學家提出假設與預測,實驗物理學家驗證或推翻的過程。

基本上老朋友Dave說得沒錯,應該就會像laser打過去一樣。不過稍微吐曹一下,除了緲子的穿透力夠強,其他的 beam halo 粒子恐怕不容易,在只有五公分左右直徑的高真空束流管外跑很遠。

質子束流能夠造成的傷害有多大,在於碰撞反應的機率。因為絕大多數的粒子,因為相對論效應,其實都會從原子核間的空隙飛過,什麼事都沒有發生。如果拿一些原子核密度高的材料如銅鐵,那發生反應吸收的能量就很驚人了。
日本的KEK研究中心用銅鐵塊吸收不要的質子束。
http://www-ps.kek.jp/jhf-np/hadronbeam/dump/index-ja.html

CERN的LHC因為能量太高,所以先散焦後,打在熔點高的碳棒上吸收。
http://spectrum.ieee.org/aerospace/astrophysics/cern-to-start-up-the-large-hadron-collider-now-heres-how-it-plans-to-stop-it/0

有興趣的朋友,可以參考這篇論文:
http://iopscience.iop.org/1367-2630/8/11/290/fulltext/
裡面有一張實驗初期,使用的銅靶被質子打穿的照片。

Wednesday, December 14, 2011

LHC實驗發表2011年尋找Higgs粒子的成果

關於這篇報導: http://chinese.engadget.com/2011/12/13/cern-dont-believe-the-higgs-boson-hype/1#c35142024 希格斯玻色子找到了嗎?還差一點 應該是質量的來源,關於重力的影響,由於在小尺度下真的太弱了,高能物理實驗中多是忽略不計的。重力子(graviton)目前也是僅只於理論模型。由於115-130 GeV這個能量(質量)區間,可以說是實驗上最困難的:相對容易的四輕子衰變模式,質量得在180 GeV左右以上。(約是兩個Z玻色子的質量)而雙光子的偵測,除了量能器的精確度比不上帶電輕子的軌跡,背景也因為高能量下很容易被pi0誤導。所以兩個實驗目前看到的事例,在統計上的顯著性差異 (significance) 不夠 (目前2.x-3.x個標準差,未達到"發現"所需的5個標準差的"業界慣例"),所以都只給了95%「信心水準」的排除區間。 這裡是研討會的簡報檔以及錄影: http://indico.cern.ch/conferenceDisplay.py?confId=164890 CMS實驗的官方消息發布,以及相關資料: http://cms.web.cern.ch/news/cms-search-standard-model-higgs-boson-lhc-data-2010-and-2011 Atlas官方新聞發布: https://twiki.cern.ch/twiki/bin/view/AtlasPublic/AtlasResultsHiggsDec11 (利益揭露:個人是參與CMS實驗的member之一。)

Sunday, August 21, 2011

別再碎了... 細明體!

COSCUP的閦電秀簡報。

別再碎了 ... 細明體從使用者的角度看 OSS 字型描繪問題


Tuesday, April 12, 2011

關於細明體與標楷體顯示破碎的問題 (續)

陸陸續續又有新的技術加入FreeType,讓中日韓文的漢字也能夠在理想的速度下,享有autohint與autofit帶來的好處。

Jserv's blog February 05, 2006
FreeType 新進展
http://blog.linux.org.tw/~jserv/archives/001489.html

Kanru's Adventure Journal/ archives/
Freetype 2.2rc3 + new Clearlooks
Mon 27 Feb 2006 01:29:02 AM CST

Freetype 2.2rc3,包含 olv 整合的 CJK autofit patch,對於中文字可以 render 的美美的 :)
http://kanru.info/blog/archives/211/

所以王子與公主從就過著幸福快樂的生活了嗎?其實不然。

微軟視窗內附的字型:細明體與標楷體可說是目前流通最大的字型。這兩個字型是由華康科技(日商收購後更名為威鋒數位)所製作,採用了筆劃組字的技術,進一步縮小的儲存空間,也內嵌了點陣字型對小字型做了最佳化。這裡筆劃組字的技術,就是借用bytecode的指令,把筆劃大小與位置的修正,提供給字型描繪器(render)。

就在這裡問題來了,把筆劃放到正確的位置與大小,需要BCI的支援。而大多數的情況,Linux 與其他使用 FreeType 的發行商,為了避免被專利所有權人收取權利金,都在編譯 FreeType 的時候,把 BCI 的支援關閉,改用 autofit 的技術。如此一來,字型描繪器自動忽略這些筆劃組字的指令, autofit 只能做筆劃微調,並沒有聰明到替這類的字型重新歸位與縮放筆劃,如此一來細明體與標楷體的顯示就像碎掉一樣。更糟糕的是,有不少的 Linux 發行商,編譯時強制預設開啟 autofit,關閉 BCI 的支援。(FreeType 中,這兩者是互斥的)

這裡舉Zaurus這個PDA上的QPDF為例:(QPDF源自於xPDF的計畫,後者發展為libpoppler)



下面則是開啟 BCI 後的正常情況。



另一個同樣採用 FreeType 的是 muPDF:



好消息是在2010年中,所有相關的軟體專利都已經過期了,自由軟體界再也不用擔心相關的侵權問題。所以自從FreeType 2.4版開始,已經是預設開啟BCI的支援。

不過光光是 FreeType 需要開啟BCI的支援,一些在編譯時期決定是否使用 FreeType 支援函式庫,如 libpoppler 與 muPDF 之流,都需要依據已開啟支援 BCI 的 libfreetype 重新編譯後才不會有問題。只希望很快在不久的將來,這些字型顯示破碎的問題,不再困擾使用 FreeType 函式庫的軟體了。

http://web.archive.org/web/20080430122831/http://www.freetype.org/patents.html (有更詳細的說明)
http://www.freetype.org/patents.html

關於細明體與標楷體顯示破碎的問題

某大老曾經說過「都 2006 年了還在搞輸入法. XD」,可是都 2011 年了,包含 Linux 下許多地方的細明體與標楷體,顯示破碎的問題還是都沒有解決。

背景知識
目前流通最廣的字型,是稱之為True Type Font (TTF)的格式。TTF 是採用向量的方式,以二階貝茲曲線來描述字符的外框(outline),如此一來,無論是多大多小的字型,都可以透過數學式產生,不會有點陣字型放大時出現鋸齒方格的問題。

但這畢竟只是在有足夠解析度的理想情況,當需要顯示小字型的時候,問題就來了。TTF有幾種解決的辦法:直接使用最佳化過的點陣字型取代、採用半色調抗鋸齒、設計者提供筆劃資訊讓字型描繪器做最佳化(hinting)。最後者是將筆劃以bytecode來描述,需要一個直譯器來解讀。(bytecode interpreter, 簡稱 BCI)

開放源碼的FreeType引擎,完整支援這些最佳化的手段。在 Linux 下,過去普遍採用第一種解決法:螢火飛(id: firefly)以純手工的方式,補足文鼎字型的沒有內嵌點陣字的缺點。中國大陸的網友也發起了文泉驛點陣字型補足的計畫,在firefly的基礎上,由眾網友補足至Unicode約27842個漢字。因為單單使用半色調的方式,很容易在筆劃落在兩個圖素中時,造成朦朧不易閱讀的困擾。而不採用筆劃資訊最佳化的理由,是在於有三個蘋果電腦(Apple)的軟體專利。即是FreeType採用「無塵室」逆向工程開發出來,並不能讓 Linux 發行商免於權利金的支出。

相對來說,英文的問題小得多,主要是筆劃少且結構簡單,筆劃歪一點或糊一點也都還看得出來。當然後來發展出了次像素描繪(sub-pixel rendering),甚至用特殊的演算法去「猜」得筆劃的骨幹,再進一步微調筆劃的位置到像素的中央(grid-fitting),這個技術稱之為autohinting或autofitting。如此一來就避過的BCI的專利權問題。


參考資料:
http://tldp.org/HOWTO/Font-HOWTO/notgood.html
http://tldp.org/HOWTO/Font-HOWTO/bci.html
http://www.freetype.org/patents.html
http://avi.alkalay.net/2007/01/freetype-with-bytecode-interpreter.html
http://www.freetype.org/autohinting/background.html
http://www.linuxfans.org/bbs/archiver/?tid-92200.html
http://www.grc.com/cleartype.htm

Friday, November 19, 2010

有效解決 Pidgin 的 MSN 憑證問題

最近Pidgin一直抱怨 omega.contacts.msn.com 的憑證無法認證,雖然說暫時不影響實際使用,但不斷跳出的錯誤訊息實在很惱人。網路上已經有不少網友遇到類似的問題,也有提出一個暫時的解法:
* 用瀏覽器開啟 https://omega.contacts.msn.com 後匯出憑證。
* 然後將憑證命名為omega.contacts.msn.com 放到~/.purple/certificates/x509/tls_peers/ 下。
不過一旦ms又換憑證的話,恐怕又得再做一次。

另一個方法,則是將瀏覽器中,隨附的 microsoft CA憑證,安裝到 Pidgin 所使用的 purple 函式庫內。 Pidgin 附的 CA 即將於明年2月到期,必須把另有一個有效到 2014 年的憑證匯出後,複製到/usr/share/purple/ca-certs/ 目錄下。


Pidgin has trouble validate MSN certificate

* Export the new microsoft Secure Server Authority CA certificate from your browser. (valid: 2014/05/20)
* rename to Microsoft_Secure_Server_Authority.pem and copy/overwrite the one under /usr/share/purple/ca-certs/.
* restart Pidgin and see if it works.

Microsoft_Secure_Server_Authority.pem
-----BEGIN CERTIFICATE-----
MIIGEzCCA/ugAwIBAgIKYQMzNgAFAAAAMDANBgkqhkiG9w0BAQUFADAnMSUwIwYD
VQQDExxNaWNyb3NvZnQgSW50ZXJuZXQgQXV0aG9yaXR5MB4XDTEwMDUxOTIyMTMz
MFoXDTE0MDUxOTIyMjMzMFowgYsxEzARBgoJkiaJk/IsZAEZFgNjb20xGTAXBgoJ
kiaJk/IsZAEZFgltaWNyb3NvZnQxFDASBgoJkiaJk/IsZAEZFgRjb3JwMRcwFQYK
CZImiZPyLGQBGRYHcmVkbW9uZDEqMCgGA1UEAxMhTWljcm9zb2Z0IFNlY3VyZSBT
ZXJ2ZXIgQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
6p9fkQvNGYJfkeqr9Yso2Iv1HOCRybzNAhBQIrc4ClzPcQxYLYhsqLg8M2P5c508
6cN57fL+ycvDbiTiPEJw2F+3W/ebX/Unb3gA65Zdt2/P5EEE8LtDvW9fJg+3jjdB
E1RnG5AAJzi4GsOWbRwxNTVJxUYe53OkygMReUGBr9OORqLFvgBTBbk4nLdgKbPK
UpqSxVMntkENQPgvm+eBSRpaaqhPccfobYG+J+/J1saSKxDkNjVACNBNcP1wmyAc
s7nfdZ0rd9DEzWpx71pYC/lwhYgFiW1mkjCrr4g519QtC5aceCSvAKvPCT4TrmvD
4OHPYH+LU9wC0POwhhHevQIDAQABo4IB2jCCAdYwEgYDVR0TAQH/BAgwBgEB/wIB
ADAdBgNVHQ4EFgQUCELj204RZvO1CMVA21V8M0YRgzgwCwYDVR0PBAQDAgGGMBIG
CSsGAQQBgjcVAQQFAgMIAAgwIwYJKwYBBAGCNxUCBBYEFH6KwpxaMozCcaLZT3Vw
96kb9pQFMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMB8GA1UdIwQYMBaAFDMh
8Mv+oqBEkt72OzPYXwFLl3hdMIGjBgNVHR8EgZswgZgwgZWggZKggY+GNmh0dHA6
Ly9tc2NybC5taWNyb3NvZnQuY29tL3BraS9tc2NvcnAvY3JsL21zd3d3KDUpLmNy
bIY0aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraS9tc2NvcnAvY3JsL21zd3d3
KDUpLmNybIYfaHR0cDovL2NvcnBwa2kvY3JsL21zd3d3KDUpLmNybDB5BggrBgEF
BQcBAQRtMGswPAYIKwYBBQUHMAKGMGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9w
a2kvbXNjb3JwL21zd3d3KDUpLmNydDArBggrBgEFBQcwAoYfaHR0cDovL2NvcnBw
a2kvYWlhL21zd3d3KDUpLmNydDANBgkqhkiG9w0BAQUFAAOCAgEAj8LRXO8UEXcX
Ywc8THxo2v6GSuIgzD+wJz3R4qzIi0im5Fn3OgatfVLx9mVhliEirmi+L3reswz1
6cXd+GWCXctsPgw3EXQVCXhVvSYSu9aVdNO89XYJKmrfNsSOVtUfIN9/gjDXQ6to
IotqWsWb0J2NCwxQhX7MWoAHiwNOv71fbFYPBaniVMOl01JcX00L3QX4URIDIW+c
bJeYKsHBEby9G67741dfTx8AnuKkUdP3rAk3WKUJIdFy0LLBi9tN3BPRVFhNK8Ct
+lMZNbEVqEJkt+3HH6V5qA041FC/9Fr/L+m/P3045fsgDNRO4C8dRXr7KC8xSG/M
blxoQvrqyAsBMOwQJkI4I6nDGbjZcBpoLJLLn3PmzP8zI+7bXrV/BVg/UMUcCBj0
6y9iqlP3oc3e4+uCHBpna6FMp2hxQNFlO0EYnEnjcfvrTYOT00fmZELLtjUc+zQO
oSj7jKGnHwEoUeVxlDec3EFbfH7pLCNnlJ1z319AeaONlTDMUxcIvFCG8/wQGYH8
9Fpu89yimnV7w6ygUe0ytljfT46RU2rSqhtd5lO4iaOeiaHjKeCzbOsazG9aqsLi
9h5FKe/WwkOxO60+JvyBl1xI/WJZNJLJ+7mh10IF+xn2fjL7KTTVh2blBB3IPhD6
pnj1Hn3eGjp4fNwqcQajLW8FVSOLkO8=
-----END CERTIFICATE-----

Monday, September 06, 2010

A simple test to LaTeX

Following the instructions here:
http://readingsml.blogspot.com/2007/04/proba.html

$E=mc^2$

$\pi = \int_{0}^{1} \frac{4}{1+x^{2}}$

$\int_{0}^{1}\frac{x^{4}\left(1-x\right)^{4}}{1+x^{2}}dx=\frac{22}{7}-\pi$

Fantastic!

Monday, July 05, 2010

Pixel Qi 螢幕 DIY 套件終於上市

純反射式或半透式的彩色液晶螢幕很早就有了,曾經PDA還是相當風行的時候,以 Linux / PalmOS / WinCE 為作業系統的PDA都有採用。但是主要缺點在於反射模式下亮度極低,而且色彩表現不佳。Pixel Qi 的螢幕則是直接放棄反射模式下的彩色,把反射膜放到濾色片前,所以反射亮度至少理論上就可以是傳統反射式的3倍。同時每個色素的形狀都是正方形的,採45 度的斜向排列,黑白模式下的解析度就可以是彩色模式的3倍。

個人只有見過OLPC使用的 Pixel Qi 螢幕,實際使用上室內反射模式還是偏暗。但戶外即使是陰天都還是很清楚。半透式螢幕的最大亮度自然是不能跟透射式相比,但要是環境亮度高到得調背光的時候,還不如直接用反射模式就好了。

只是當初 Pixel Qi 號稱其特別的像素排列,可以不用太精密的濾色片,進而壓低成本。就目前這個DIY套件的售價來看,似乎還有很長一段路要走。

「每童一機」基金會將提供XO筆電給烏拉圭中學生

新的XO筆電為了中學生設計,有著較大型的鍵盤與專屬的學習軟體。

來自OLPC官方發佈的新聞:上個月十日,「每童一機」(One Laptop per Child, OLPC) 非營利基金會宣佈取得 Ceibal 計劃的標案,將提供烏拉圭中學生九萬台筆電。這是首次OLPC基金會提供高中生使用的XO機型,同時也是XO在教育計劃中的重要象徵。烏拉圭政府透過 Ceibal 計劃,已經在其初等學校廣佈了38萬台的XO筆電,此次則是XO擴展到中學生的階段。烏拉圭共有23萬名中學生。

直至目前為止,全球約有150萬名學生使用XO筆電。OLPC副執行長 Rodrigo Arboleda 提到,這次的中學版XO將伴隨這些學生繼續成長,同時也顯示XO的軟硬體可以很容易地,配合使用者的需要來做修改。

中學版的XO有者與前代1.5版相同的設計,使用VIA的中央處理器速度是XO 1.0版的兩倍。並且記憶體與儲存空間也是1.0版的4倍。與1.5版的差別,則是較大型的鍵盤可以適合中學生使用。軟體方面,除了原本專為學習設計的 Sugar 環境外,中學版XO也同時提供了 Gnome 環境可以隨時切換,配合開源碼的辦公室軟體使用。

OLPC基金會的教育主任 Claudia Urrea 則提到,Sugar 環境讓學生可以透過XO自成的網狀網路進行協作與學習,這是傳統為商業環境使用所設計的軟硬體所無法做到的。原先使用1.0版XO的學生,將會非常適應新版的中學用XO。

中學版XO將提供適合學生年齡的教育軟體,同時也有新的外型顏色(淺藍與深藍)可供選擇。XO的耐候型設計:有著相較於筆電3倍省電的低耗電,與封閉防塵的結構,特別適合開發中國家的學生往返於家中與學校。

目前在 Ceibal 計劃下,OLPC 提供了38萬台XO給烏拉圭小學生,同時也有2萬台提供給教師。中學版的XO將於2010年9月開始出貨。

譯注:intel版的「同學牌」筆電(Magellans)也在此次的標案得標,這也是同學版筆電唯一有實際大量出貨的版本。硬體方面與中學版XO略有差異,但軟體方面則同樣也是採用Linux為基礎。兩者的文件可以互相交換使用。


OLPC新聞稿
http://laptop.org/en/utility/press/uru-highschool.shtml

OLPC部落格
http://blog.laptop.org/2010/06/19/high-school-xo-launched/

Tuesday, June 01, 2010

Google 以開源碼方式釋出新的網路影片格式 WEBM

雖然說已經有點lag了,還是把之前的討論整理一下:

Google 釋出開源碼WebM網路影片格式

Google 週三釋出一版開放原始碼、免授權金的影片格式WebM,包括Mozilla與Opera都已經同意在瀏覽器中支援該格式,同時Google也會在 YouTube網站上加以支援。
...
這個格式是以VP8技術為基礎,源自於Google在今年二月收購On2公司而來,它同時也用在Ogg Vorbis語音技術上,源頭也是On2公司。

個人覺得,用什麼container其實不是很重要,畢竟MKV已經是很成熟的container格式了,對我來說沒有太大的新意。當然MKV現在已經有很多現成的open source工具可以用,這絕對是好事一件。

所以重點在這次開放出來的VP8!這不得不提一下相關的Theora codec:

Theora 原自於 On2 公司開源的 VP3,經過多年開放源碼界的努力,已經算是相當的成熟。而Youtube使用的Flash Video主要有兩種codec: Sorenson Spark (Flash 6)與 VP6 (Flash 8)。一般稱的H.263其實是VP6 codec,也是On2的產品。H.263品質大約是MPEG2等級的, 所以拿VP6來跟Theora比較其實是有點不太公平的。至於網路上那份Theora vs. H.264 PSNR的比較,後來有發現一個bug,結論還是H.264稍稍好一點,不過人眼實際上已經很難分辨了。

當初 Apple 發表聲名不打算支援Theora推想起來其 實很簡單,自家的QuickTime都已經是H.264了,轉換自然是另一個燒錢的投資。Google不想換應該也是類似的原因,難不成已經轉好MP4的 要丟掉重壓?只不過有趣的一點是,Google買下了 On2 然後直接把更新版本的 VP8 開源出來!

可以參考 Theora 與 YouTube Video 畫質比較:Bobchao 的中文節譯版

不知道 VP8 對 H.264 會造成多大的影響。不過可以確定的是,Google 釋出 VP8 第一個會哭哭的,應該是源自 VP3 的 Theora codec。再來就看將來硬體加速的支援程度了,這可是關係到輕省設備能不能播放高解析度影片的關鍵。小弟手上的 Aspire Revo 要播放 Theora HD 的影片就有點卡。畢竟這些intra/inter-frame quantization跟referencing,其實都大同小異,能不能支援加速完全看當初硬體實作上的彈性?

反倒是 Theora 對 VP3 的改進,有多少可以也加到 VP8 上?

不過x264的開發者有他的見解: http://x264dev.multimedia.cx/?p=377

這條Plurk也有相當不錯的見解: http://www.plurk.com/p/5cktz6

最近看了另一篇blog,其實是對x264作者的那篇的回應。其中有對於x264作者提出的質疑,以及patent相關的問題有相當不錯的說明。尤 其對VP8質疑最大的一點:沒有支援B-frame參考,很明顯就是要避掉未過期的專利。

http://carlodaffara.conecta.it/?p=420

Tuesday, April 27, 2010

日本地方政府相繼採用OpenOffice

先前報導的日本會津若松市成功導入OpenOffice,作為市政業務使用,並擴大推廣至一般市民。在日本持續經濟不景氣的情況下,也陸續有其他的地方政府,以節省市政經費的前提下逐步跟進中。位於日本東北地區的山形縣(省級單位),也在最近展開評估。

根據日本./的報導,日本會津若松市自2008年5月開始導入OpenOffice,作為市政業務使用。在成功完成市政廳內的轉移後,也積極的進行市內公家與私人企業的推廣。先前報導的募集OpenOffice光碟廣告完成後,會津若松市於2010年2月8日,開始向市民免費發送該光碟。在此期間2009年7月,該市政府也將其成功轉移的 know-how,以創用CC授權公開於網頁上。有趣的是,該文件的封面是做成類似某知名電腦圖書出版社的「動物書」系列風格。

於2009年3月,日本南部的四国中央市,完成將市府內1100台電腦安裝OpenOffice。同時,也計劃將市內市內學校約900台電腦,進行導入OpenOffice的工作。此後的一年期間作為職員實地試用以及研習活動使用。該市認為,此舉可以達到經費支出削減、文件長期保存以及提升市民服務等多重優點。此舉是愛媛縣內自治體的第一次,預計5年內可以節省3300萬日圓的經費支出。

而位於日本北海道的夕張市,其選舉管理委員會則是於2009年06月,決定採用Ubuntu+OpenOffice的作業環境。其主要的考量,也是基於日本政府財政上的困難,地方自治體必須尋求削減支出的方法。而2009年10月的產經報導,大阪府箕面市則打算提供安裝OpenOffice的中古電腦,給該市的中小學教職人員使用。

最近的消息,則是相當於省級單位的山形縣,因為目前採用的windows xp即將於2011年7月中止支援。在考慮到新版MS Office與之前文件的相容性,以及OpenOffice公開格式與可免費使用,該縣府目前正在仔細評估導入OpenOffice之中。


(以下皆日文網頁)

オープンオフィスにしませんか?
http://www.city.aizuwakamatsu.fukushima.jp/ja/shisei/torikumi/ooo/shimin.htm

四国中央市が OpenOffice.orgを導入
http://slashdot.jp/it/09/03/31/0422217.shtml

夕張市が経費削減のため UbuntuとOpenOffice.orgを導入
http://slashdot.jp/it/09/06/30/0645254.shtml

大阪府箕面市、教員用に Linux入りPCを支給
http://slashdot.jp/linux/09/10/16/1056232.shtml

山形県が OpenOffice.org導入に向けた評価を開始
http://slashdot.jp/it/article.pl?sid=10/04/22/0155218