Wednesday, January 25, 2023

 ULANI 電子紙桌曆的遮騰筆記 (5)

既然dither程式完成了,那只要把色盤換成規格書中的實測值,就可以結束遮騰了?事情可沒有這麼簡單。

如果直接把L*a*b*轉成RGB後帶入,這樣子的「白色」不夠「亮」,隨之dither出來的圖案,高亮度的部份就會類似過曝的情況,暗部也無法表現出來。

於是嘗試把全部七個基本色掐一下,讓「黑色」接近全黑,「白色」接近全白,其餘的按照比例平移縮放調整一下,這樣子一來就會像是這樣,算是相當堪用了。
再來就是得想辦法塞進app中。如果直接當照片放進去的話,應該又會被再dither一次,因此要把dither好的圖,填成原先色盤的顏色值,這樣子取最接近色就會是dither好的顏色。把未dither跟dither好的圖p在一起,就可以同時比較ULANI app轉的跟改色盤後的效果。


Tuesday, January 24, 2023

 ULANI 電子紙桌曆的遮騰筆記 (4)

想要改用規格書中實測顏色來作為dither的色盤,第一步當然就是得先實作一個dither演算法。這類的演算法百百種,比較廣為人知的應該就屬 Floyd–Steinberg 了(後面簡稱FS),畢竟從開始有彩色噴墨印表機,就常常看到這個名字,只是一直沒有去看過是怎麼做的。其實FS演算法很簡單,是一種誤差擴散的方式,維基百科上就可以找到說明了,還有偽程式碼的範例。基本上,FS是先找到「色盤中最接近這個圖素的顏色」,然後計算差值分散到鄰近的像素上。

由於擴散的方向都是往前不往後,所以實際只要掃過一遍整張圖,就可以計算完成。只是要分散運算的話直接是沒辦法切開,可能還得另外處理。

有了範例程式,就先試試看灰階的圖片,看起來沒有什麼問題。於是開始改成RGB的彩色,也就是原先的PIL傳回單一數值改成[R, G, B],然後使用numpy來處理。只是算出來的都是黑畫面,不曉得問題出在哪裡。後來看了另一篇文章,才猛然想起因為python沒有明確的型別,[R, G, B]非 primitive type 會是個指標 reference,所以運算之前得使用 .copy() 複製一份數值,才不會是 [0, 0, 0] 全黑。然後FS演算法中要找「色盤中最接近這個圖素的顏色」,就用RGB三個數值的幾何距離(RGB差值的平方和再取平方根)來計算,以最笨的方式依序比較七個基本色的距離就可以得到最接近色了。先求有再求快,到這邊算是完成了第一步。



 ULANI 電子紙桌曆的遮騰筆記 (3)

這裡我們來談談色差的問題。回到之前微x電子所提供的面板規格書,裡面其實有使用儀器測定出來實際的顏色表現。所使用的單位不是平常熟知的RGB或CMYK,而是由國際照明委員會在1976年訂出的一種表示方式。其中L*代表亮度,範圍是0到100,也就是全黑到全白。而a*跟b*則是分別描述在紅綠之間跟藍黃之間的兩個座標軸,範圍是-128到127。而後面dE2000_Max這項色差數值到底是差多大,個人非相關領域還有請專業人士補充說明。

雖然維基百科上寫L*a*b*到RGB的轉換與設備相關,不過網路上可以找到轉換工具,順手就把轉換過的數值用顏色圖片的方式表示出來:

這裡很明顯就可以看到,先不考慮亮度的影響,黑色偏紫,紅色其實偏橘色,藍色偏藏青色,綠色是暗綠,反而是黃色跟橘色比較沒有偏差。跟ULANI電子曆面板實際看到的效果算是相當的吻合,合理推測應該兩者就是同一個規格的吧?(廢話,目前ACeP唯一的生產商就是台灣的元太科技e-ink)

在ULANI選擇主題的頁面中,應該已經有套用了某種轉換,所以看起來的效果與電子紙呈現的相符。假使說我們用這個實測的顏色來做dither(抖色)的話,是不是就可以減少色差呢?個人遮疼的結果的確原理就這麼簡單,但是實作上也遇到了不少的問題並不簡單。(待續)


Sunday, January 22, 2023

 ULANI 電子紙桌曆的遮騰筆記 (2)

前面提到,Gallery Palette 是使用彩色粉體來顯示,但是每個像素一次只能顯示七個基本色中的一個,沒有中間過度的灰度色階。難道說這樣就只能顯示色塊了嗎?其實也不盡然。e-ink原廠將這個面板定位在電子標籤、宣傳標示... 等等的用途,除了色差之外,使用的驅動晶片也比較平價,沒有局部更新的方式,畫面全部更新需要約30秒,不建議用在全彩顯示的應用。

當然還是有一些 work around 的方式。像以前只有單色顯示的年代,灰階是可以靠網點(dither,對岸譯作「抖色」算是蠻生動)的方式來欺騙眼睛,用犧牲空間來模擬出灰階來。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 




要看出dither的最好效果,得在眼睛分不太出網點的情況,也就是說兩個像素形成的視角,得在眼睛的解析極限之下。我們可以透過 瑞利角度分辨條件 (Rayleigh's criterion) 公式來簡單的推算一下:

sin(視角) = 1.22 波長 / 圓孔,考慮到人眼瞳孔大概是 1.5mm,7.3"電子紙的解析度127dpi,兩個像素的間隔大概是0.2mm,兩個像素形成的張角~0.2mm/觀測距離L

我們可以大致算出至少要距離 L = (0.2mm)(1.5mm)/(1.22*400nm) ~ 61.5cm

不過我實際看起來,大概要70-80公分以上,才比較看不出網點。這個除了環境光線影響瞳孔大小外,要組出接近的顏色也是要兩三個像素。理論值在這邊已經是相當接近了。

很可惜ULANI桌曆所提供的不同主題,都有共同的問題就是文字很小,再經過dither處理之後近看幾乎就是單一筆劃只有一個像素寬,要再拉到一公尺遠的話,就很難看的清楚了。尤其是年曆的部份,為了要塞進十二個月並沒有太大的空間,也因此有不少網友建議,改成週曆的型式會相對比較實用。



Saturday, January 21, 2023

 ULANI 電子紙桌曆的遮騰筆記 (1)

話說在幾個月前腦波弱,看到了國內募資網站上,出現了一個使用彩色電子紙的電子桌曆。(https://www.zeczec.com/projects/ulani)當時沒有多想,自認對電子紙產品還算熟悉,應該不至於有太大雷,於是覺得價位還可以就投了$$進去。

募資結束後,募得金額是預計的8xxx%,相當驚人。不過這也是考驗的開始,隨著預定出貨日的接近,我也開始擔心發起人會不會出不了貨,甚至捲款潛逃一走了之。還好在少許延遲之後,於預定出貨日兩週內收到商品。不過這也就是一整個遮騰的開始。

首先是這個電子桌曆的設計,用的是e-ink Gallery Palette 7.3吋的面板。根據網友提供的資料,跟對岸微x電子在販售的開發板是相同的硬體。微x電子提供的資料相當齊全,還有這塊面板的硬體規格書,在ULANI規格中沒有寫清楚的都可找到需要的資料。(https://www.waveshare.com/wiki/7.3inch_e-Paper_HAT_(F))

 

 首先是顏色跟解析度,Gallery Palette是採用ACeP的技術,藉由調控色粉在微杯(micro cup,當年併購sixpix來的技術)中的位置,來讓每個像素呈現需要的顏色,這裡是固定的紅橙黃綠藍黑白七個顏色跟Kaleido使用彩色濾光片(CFA)的作法不同。後者是傳統黑白電子紙16灰階技術,蓋上RGB三個顏色來達到4096色。而Gallery的每個像素都可以顯示七個顏色中的一種,優點是白色可以很白(反射率高達~70%,會是濾色片兩倍),色彩也不需要為了提升反射率而使用降低飽和度的「淡彩」。但是因為是比較平價的控制晶片,只有全畫面刷新,還沒有灰階的能力。因此要表現出色階,就需要靠網點dither的方式,這個在硬體解析度只有 800x480 的情況下(127dpi,略遜於初代彩色噴墨印表機~150dpi),基本就是一個硬傷。另一個注意的點是,更新畫面需要30秒。雖然原本就有預期會比較慢,ULANI很隱誨的寫說要「數十秒」,但是30秒=0.5分對物理人來說,就是分鐘的尺度了。也難怪公車站牌雖然開始有使用電子紙顯示,到目前還沒有看到有用彩色的。

 

 

Monday, May 21, 2018

參加 Salomon 玩跑俱樂部 攀登小百岳 大棟山賞桐花

剛好也是從某跑友那邊看到,就自己跳坑的活動。由樹林火車站後站出發,經過大同山、青龍嶺,到大棟山一等三角點折返,來回大約是12.5公里的距離,總爬升大約是600公尺,算是相當親民的健行路線。只是天氣實在是太熱了,大家都走得有點不要不要的。

路線跟照片就直接看relive的影片。

Relive 'Salomon 攀登小百岳 賞桐花'


       

然後是試鞋部份,我自己本來就是有一雙低階的短筒入門款,這次活動廠商提供了gotex的高階版本。大致心得整理在這邊:

• 抽繩式的綁帶是在單板內靴常用的設計,還蠻順手的
• 相對於傳統登山鞋較輕量,但仍然比跑鞋略重
• 前端有相當的保護,不怕踢到岩石
• 鞋底的緩衝力足,也有相當的減震效果,可以放心跨步落地,下坡也可以跑起來
• 大底刻劃的抓地力很足夠,即時大理石台階面也有一定抓地力
• 雖然偏登山鞋中低筒包覆性優良,不過跑起來也是有一定的彈性
• GTX有一定的透氣性,但是不能跟非防水鞋比,會略熱但不至於流汗,這次沒測到防水
• 覺得歐洲的鞋型相對比較適合亞洲人,我腳略寬穿bogoto的跑襪(厚襪)
• 新鞋的關係,鞋口與腳趾略有壓迫摩擦感(也許不該拉太緊)還好沒起水泡
• 外觀設計與顏色算是中規中矩,配色也是相當耐髒,無接縫設計可以避免摩擦

Saturday, June 03, 2017

Garmin VivoActive HR

最近也入手了 Garmin Vivoactive HR,剛好就被背光的問題搞到。天氣熱了,只會在晚上出去跑步,自動背光怎麼都不會亮。研究了一下發現,如果設定了睡眠時間,在這段期間內就會自動變成 Do not disturb,抬手點亮背光的功能也會失效。所以有網友發現抬手不會亮,但是手放下會熄滅應該就是這個原因。
因為入手的是歐版,沒有中文字形只會出方塊。基本上通知的功能也就廢了。更好笑的是關閉通知的螢幕按鈕「清除」居然也是豆腐方塊字。 XD
至於睡眠偵測,就都不準,也不確定跟這個睡眠時間設定有沒有關係。所以這塊就還是交給Pebble了,GARMIN加油...
My Zaurus...

Tuesday, December 01, 2015

有效減少 Firefox 瀏覽器的磁碟寫入量

自從上次 Acer REVO 小主機的硬碟壞掉,就臨時拿了個隨身碟當作硬碟使用。雖然使用上少了傳統硬碟的發熱跟噪音,但是跟 SSD 比起來,寫入速度還是相當的杯具。很明顯的,一起動 Firefox 就有很明顯的頓挫感。當然,Ubuntu 上 SSD 相關的最佳化都用上了,主要的問題,在執行 iotop 之後就明瞭了:Firefox 每分鐘會寫入數十 MB 的資料。

經過一陣子 google 之後,知道問題是出在 crash recovery 的紀錄,竟然預設每 15 秒會回寫一次。再加上我習慣同時開的 tab 數量很大,每次都有幾 MB 的紀錄。如果有使用 session-saver 這個 addon,使用的也是同一個參數:browser.sessionstore.interval。個人可以視自己對瀏覽記錄損失的容忍度來調整這個參數,甚至不需要的話可以完全關閉。

Since the hard drive of my small form-factor desktop crashed, I'm using a flash USB drive as the storage. The is similar to people using SSD nowadays, but with a slower performance and lower price.

The same issues arise, the disk writes are lethal as the flash blocks have limited lifetime. One should move all disk caches to ram drives. Under linux, you can easily done with tmpfs:

tmpfs           1.6G  197M  1.4G  13% /tmp
tmpfs           316M  364K  315M   1% /run
tmpfs           1.6G  676K  1.6G   1% /var/log
tmpfs           2.0G   36K  2.0G   1% /var/tmp

One can move the cache directory to tmpfs:
keyvalue
browser.cache.memory.enablefalse
browser.cache.offline.enablefalse
browser.cache.disk.enabletrue
browser.cache.disk.capacity262144
browser.cache.disk.parent_directory/dev/shm/firefox

Another one is the browser that I would use heavily on this machine. People notice that Firefox could cause huge writes due to the crash recovery:

http://superuser.com/questions/399473/firefox-writes-megabytes-of-data-per-minute-to-disk-why

The frequency of backing up session can be tuned:
keyvalue
browser.sessionstore.interval30000

For people do not want to use crash recovery at all, he or she can set:
keyvalue
browser.sessionstore.enabledfalse


Thursday, September 24, 2015

Pebble 中文字型包

前一陣子入手了 Pebble Steel,算是目前所謂 smart watch 中,電池電力可以維持比較久的一個。Pebble 與 Pebble Steel 官方已經有中文的語言套件,具體內容可以參考這篇文章:

https://forums.getpebble.com/discussion/21716/something-about-language-pack-file

當然,官方提供的字型相當侷限,自然是不能滿足個人的需求。於是網路上也出現了不少自製的語言包。最有名的當屬 Kuro 版:
http://blog.kuro.ro/pebble-time-chinese-japanese-language-pack/

個人也覺得官方的字型實在不怎麼樣,就自己轉了點陣字型來用。首先是使用 Firefly 當年製作的 12x12, 16x16「文鼎新宋體」配合古代的 24x24「台北字型」,使用官方繁體中文包的字集。(約9000字) 有提供粗體的字型。
001.png
002.png
003.png
005.png
下載點:
https://www.dropbox.com/s/3pyvz0k3b078lsn/zhtw.pbl?dl=0
這裡粗體字是採用古代 X-windows BDF 字型的 mkbold 的「可讀性佳」的加粗演算法,筆畫多的地方不會一陀黑黑的。這裡是我修改自 Wei-yao 的版本,使用 mkblod 演算法的字型產生工具:
https://gist.github.com/yuanchao/c6a00e3ac8253ddcfe54

再來則是用 12x12, 14x14「文鼎新宋體」配合 Google 的 Noto 字型 18x18, 22x22 點,使用 Kuro V.5 繁簡中日的收錄字集以及偽粗體的作法。不過粗體演算法使用 mkbold 的方式。

pebble_screenshot_2015-08-20_07-25-27.png
pebble_screenshot_2015-08-21_00-22-00.png

Tuesday, September 08, 2015

關於金萱字體群眾募資...

首先是 pingooo 的撲文:

因為不懂所以來問:那個茶字型很多人參與募資,贊助的原因是什麼?
  1. 是字美嗎?黑明揉合很有意思,可是不太適合用在內文。
  2. 是好用嗎?可是通用授權有三個禁止用途:商標、硬體及 app、webfont。
  3. 是便宜嗎?2980 元,只能同時使用於一台裝置上,桌機、筆電、平板選一臺來裝,其他臺只好說抱歉了。
  4. 是民族情感嗎?他們都拿 10 年 5 套的悲情數據出來了。
  5. 是開心就好? :-)
以下是個人感想:
一直覺得群眾募資,基本上就是個藝術家討拍的動作... XD 最近不少著名製作人陸續登上募資平台,應該都是有相同的想法。之前 justfont 的信黑體不曉得銷售的情況是如何,雖然個作業系統平台早有各自的黑體字型,但是高品質、跨語系又真正免費的思源黑體推出之後,感覺上不管是誰都是只能被亂拳打趴在地上的,相信 justfont 會是很需要大家能夠給予溫暖。 XDD

黑明揉合的確是不適合用在內文。畢竟在小號字的顯示上,方(黑)體或是宋(明)體的差異其實並不明顯。多餘的筆劃效果只會讓可讀性變更糟。做一個介於兩者之間只適合標題的新字型,自然也是沒什麼說服力讓我掏錢出來。既然實用性不高,當然更無需擔心買了之後只能用在單一裝置的問題。考慮到銷售的實務上,要跟現有"實質免費"的儷黑/正黑/思源黑還有細明/中明/上海宋做區隔,當然只能做標題用的藝術字。尤其對 justfont 想賣的 webfont 使用更是如此。(要殺出低價競爭的紅海,最近才從一位高中學長得知,文鼎這幾年居然是做了印度文字型...)

當初信黑體的目標如果是以內文使用為主的話,要作為 webfont 使用感覺上就是一整個不適合。中文字的數量大,就算只擷取實際用到的字符,用aws之類服務的流量費應該會很想哭。因此個人覺得webfont真的在中文能用的情境,就只有標題/小標跟商標設計了。這應該就跟 CC 授權中,某些會有加上 NC 的作法目的是一樣的,就是自己要賣。只是又回到當初質疑 webfont 中文的實用性觀點:有什麼應用非得用 webfont 而不是直接 rasterized 的圖檔?畢竟不像 Google 換個 logo 就可以省下可觀的頻寬。另外,拿W5來募資,小人之心的想法應該是做標題W5可能還是太細,W7才是真正的目標吧?

簡單講,pingooo 會考慮到這幾點,基本上應該就不會是這次募資要打動的標的吧?至於拿民族主義的情感出來討拍,算是犯了個人大忌,加上沒有做設計方面這塊,所以自己大概就不會出手了。只是在現今這個現實的世道還願意花功夫去開發,對其能夠募資成功還是樂觀其成,畢竟大家開心就好。(金萱字體是真的男子漢從零開始設計,沒有 trace 現有字型框架的吧?是吧?)

Saturday, August 08, 2015

LHC 動畫:質子的軌跡

本影片說明大型強子對撞型加速器的運作原理。



影片開始的空照圖,顯示位於日內瓦近郊的歐洲粒子物理研究中心 (CERN),並勾勒出 CERN 加速器群的輪廓,同時顯示了週長 27 公里的大型強子對撞型加速器 (LHC)。當質子在 LHC 上運行,我們可以依序看到位於 LHC 上的四個主要實驗:重離子對撞器 (ALICE),超環面 LHC 儀器 (ATLAS),緊湊渺子螺線管 (CMS),以及 LHC 底夸克實驗 (LHCb)。

質子束的來源是一瓶氫氣罐。強力的電場將氫氣原子核外圍繞的電子摘除,留下其原子核:質子。Linac 2 直線加速器,是整個加速鏈的第一級,可以將質子加速到 50 MeV。質子束流進一步注入質子同步加速增能環 (PSB),可以將質子加速到 1.4 GeV,接著注入質子同步加速器中 (PS)。PS 可以再把質子的能量,推進到 25 GeV,然後注入超級質子同步加速器 (SPS) 之中。質子的能量在 SPS 可以達到 450 GeV。

加速後的質子束,最後會分別傳送到 LHC 加速器的兩個束流管中,分別以順時針與逆時針環繞 LHC 運行,最終能量可以達到 6.5 TeV。在束流管中的質子,在正常運作的情況下可以維持在 LHC 中達數個小時之久。這兩個束流管中的質子,會分別在四個主要的實驗點:ALICE, ATLAS, CMS 與 LHCb 的所在處對撞,對撞的能量相當於 13 TeV。

質子碰撞的頻率是每 25 奈秒發生一次,實驗偵測器的一級觸發邏輯電路 L1,會在及短時間內選出初選的事例,送到二及與三級的電腦叢集做進一步的篩選。篩選出來的數據,將會送到 CERN 的資料中心,做初階的數據重建與長期數據備份,同時這些原始數據也會發送到 LHC 計算網格。全球 LHC 計算網格的基礎建設架構 (WLCG),包含了兩個零級 Tier-0 資料中心,分別位於 CERN 計算機中心與匈牙利的布達佩斯。WLCG 的一級與二級資料中心,則位於全球數個研究機構與參與的各大學單位。

當對撞的數據隨著時間的累積,物理學家就可以收集到足夠的統計量,來檢驗理論學家所提出的理論模型預測。舉例來說,理論預測的希格斯粒子,就在 LHC 的第一期 7/8 TeV 運作階段中發現,如同影片中所顯示的隆起部分。LHC 提供物理學家探測物質自然定律的一個重要管道,在新的運作能量 13 TeV 下,人類的知識將可以再往新的粒子物理邊境推進。

https://amara.org/en/videos/ngrZNFAWTli2/info/lhc-animation-the-path-of-the-protons/
(含中文字幕解說)

https://www.youtube.com/watch?v=pQhbhpU9Wrg

This animation shows how the Large Hadron Collider (LHC) works. 

The film begins with an aerial view of CERN near Geneva, with outlines of the accelerator complex, including the underground Large Hadron Collider (LHC), 27-km in circumference. The positions of the four largest LHC experiments, ALICE, ATLAS, CMS and LHCb are revealed before we see protons travelling around the LHC ring.

The proton source is a simple bottle of hydrogen gas. An electric field is used to strip hydrogen atoms of their electrons to yield protons. Linac 2, the first accelerator in the chain, accelerates the protons to the energy of 50 MeV. The beam is then injected into the Proton Synchrotron Booster (PSB), which accelerates the protons to 1.4 GeV, followed by the Proton Synchrotron (PS), which pushes the beam to 25 GeV. Protons are then sent to the Super Proton Synchrotron (SPS) where they are accelerated to 450 GeV.

The protons are finally transferred to the two beam pipes of the LHC. The beam in one pipe circulates clockwise while the beam in the other pipe circulates anticlockwise, increasing in energy until they reach 6.5 TeV. Beams circulate for many hours inside the LHC beam pipes under normal operating conditions. The two beams are brought into collision inside four detectors – ALICE, ATLAS, CMS and LHCb – where the total energy at the collision point is equal to 13 TeV. 

Collisions occur once every 25 nanoseconds, the trigger level 1 performs ultrafast event selection before data move to trigger levels 2 and 3 at the PC farm. Selected event data are then sent to the CERN data centre that performs initial data reconstruction and makes a copy of the data for long-term storage, while raw and reconstituted data are sent to the Computing Grid. The Worldwide LHC Computing Grid infrastructure includes two "Tier 0" sites, one at CERN and one in Budapest, Hungary, as well as further smaller computing sites located around the world.

As collision data increases, physicists build up enough statistics to test theoretical predictions, such as the prediction of a Higgs Boson, discovered in the data from the LHC's first physics run (shown as a bump in the graphs in the animation). The LHC allows physicists to probe the nature of matter. The new higher collision energy of 13 TeV opens up new frontiers in particle physics.

Directors: Daniel Dominguez, Arzur Catel Torres
Music: F_Fact_-_State_of_Mind_(_psystep_vers._o­f_the_beach) by "Platinum Butterfly" CC BY 3.0

Copyright © 2015 CERN. Terms of use: http://copyright.web.cern.ch/
View the video on CDS http://cds.cern.ch/record/2020780

Thursday, July 30, 2015

關於軟體定義網路工作坊

這次也有去參加SDN Workshop,本來是想說看跟自己在做的網格運算有沒有一些overlap。一天半下來,算是對SDN有一些初步的認識。第二天下午的黑客松時段,一來個人對網通認識還有限,二來週末停完機重開手上又掛了個disk array要處理,就沒有留下聽之後分組的部分。

科技產業要現實,也要多想想。看看當年 T.B. Lee在 mailing list 當道的年代,為了咱們高能物理界這個基礎科學,開發了www網頁的相關技術。現在RESTful的概念就是源自於URL的想法,現在也用到SDN上。很多基礎概念的發明都是很深遠的,也不是可以預期成效的。也許我們太習慣於代工的即戰力思考模式,常常忽略了根本的研發學習需要,洪教授才會有這樣的感慨吧?



洪士灝 - 需要改變的科技人才培育模式

Saturday, April 18, 2015

關於 「睽違兩年,大強子對撞機重開機」

有關這篇翻譯的報導睽違兩年,大強子對撞機重開機

那個 electrical interconnection,其實是連接兩磁鐵間的超導導線,在之前發現有多處焊接不良,原本應該在10 nano 歐姆左右的電阻,測到了100-200 nano ohm。這兩年停機重新檢視了 1200 多個主要二極磁鐵的連接,跟數千個聚焦跟修正用的多極超導磁鐵。再來 Quench Protection System (QPS) 漏翻了 quench,那個是如果因為低溫系統不正常,或是連接導線的電阻造成超導磁鐵溫度上升,脫離超導態 (quench) 的話,超導電磁鐵的線圈會由零電阻變成一般導體,突然增加的電阻就會是大麻煩。為了避免溫度上升突然「沸騰」的冷卻用液態氦衝壞超導磁鐵,必須增加更大口徑的洩氣閥,超導磁鐵中儲存的電流也需要導出避免因此燒毀。

接下來,不是粒子束分離,而是束流管中的粒子團間距。這裡不好意思非本科的恐怕不容易理解,因為我們把光速吸收到計量單位中了(c=1),所以只寫了時間 nano second。同步加速器束流管中的粒子,因為是靠微波提供能量加速,並不是連續的「流」,而是一團一團的 bunch。之前為了小心起見,沒有直接開到最大流量,是怕萬一磁鐵導引束流失敗打壞設備。而這次維修之後,希望把粒子團間距縮小一半(其實是原始設計),即使粒子團中的質子數量不變,流量就倍增了。

「以接近光速的速度推進」可能有點誤導,當質子團從 SPS 送進 LHC 時,就已經是非常接近光速在運行了。因著相對論效應光速是運動速度的上限,增加的能量其實是讓粒子更「重」,通常來說就不強調粒子的「速度」而只提「能量」大小。另外,gluon 常用的翻譯,應該是「膠子」,是原子核內「強作用力」的媒介子。

Monday, March 02, 2015

關於 柴静雾霾调查:穹顶之下


相當值得一看跟深思的影片 -- 柴静雾霾调查:穹顶之下



看看別人,想想自己... 不適當的產業勢必要轉型,環保的付出不應該是多出的代價而是原本欠的你遲早要得還。

中國的環保/污染問題也跟以前的台灣,更以前的日本,更更以前的歐美都經歷過,有這麼多前人的經驗,有心克服的話也可以很快度過的。就看主政者的智慧跟公民崛起的力量。台灣在看笑話的同時,也要看看自己是不是真的夠進步。
 #台中大火把 #PM2.5 #重金屬廢水 #空氣砷汙染

Monday, July 21, 2014

Saturday, May 10, 2014

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


延續前兩篇的說明...


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

空中特技


滑雪者可以在空中表演的一些特技、旋轉、翻滾等,基本上是藉由角動量的守衡來達成的。當滑雪者離開地面後,總角動量就不能再改變了。因此在離開地面前,需要給自己一個初始的旋轉,然後藉由身體姿勢的改變,來達成這些驚人的動作,並保持總角動量守衡。

對這些空中特技來說,滑雪板背後的物理跟滑長板是非常類似的。(所以雪季過後,就要靠長板來止癢了!)

照片顯示滑雪者前轉180度

下一節將介紹半管中如何加速。

在半管中加速

下面照片顯示滑雪者脫離半管進入空中。

滑雪者可以在半管中加速,維持雙腳固定在雪板上,這是如何達成的呢?這個現象背後的基本物理,是可以由轉動慣量與角動量來理解的。

為了增加速度,滑雪者在直線段蹲低,當進入半管的曲面時,站起身來並舉起雙手,讓自己可以在離開半管時有更高的速度。

以下說明滑雪板物理在半管的機制:
schematic of snowboarder on half pipe

這裡

  • w_i 是初始滑雪者身體的角速度,於位置 (1)
  • w_f 是最終角速度,於位置 (2) 也就是脫離半管的位置
  • V_i 是初始質心 G 速度,於位置 (1)
  • V_f 是最終質心 G 速度,於位置 (2)
  • r_i 是初始迴轉半圓圓心 O 與質心 G 的距離,於位置 (1)
  • r_f 是最終迴轉半圓與質心 G 的距離,於位置 (2)
  • g 是重力加速度
  • N 是地面施與雪板的作用力
  • F 是地面施與雪板的摩擦力

這裡假設半管是理想的半圓,圓心在 O,並且簡化成二維空間分析。在總角動量守衡下,我們來看轉動慣量與角動量的方程式:

I_oi w_i + Sum Int{t_i, t_f} M_o dt = I_of w_f

I_oi 是初始轉動慣量(滑雪者加雪板),於位置 (1)

I_of 是最終的轉動慣量,於位置 (2)

Sum M_o 是對於 O 這點的動量的總和,動量由開始時間於位置 (1) 積分到最終的時間於位置 (2)。

這裡我們假設以剛體處理,即使滑雪者的轉動慣量在這兩點之間有改變。就結論而言,我們只需要知道起始點與終點身體的轉動慣量大小。

由於地面對於滑雪者的作用力 N 通過 O 點,所以不會造成角動量的變化。摩擦力 F 夠小,在這裡可以忽略不記。所以剩下來的,就只有重力 g 對於滑雪者與 O 點的貢獻。(這裡同時考慮滑雪者與雪板)

我們可以將 w_f 獨立出來:

w_f = (I_oi w_i + Sum Int{t_i, t_f} M_o dt) / I_of


I_oi = I_Gi + m r_i^2
I_of = I_Gf + m r_f^2

這裡,對於位置 (1) 和 (2) 的轉動慣量為:

I_Gi 是初始轉動慣量在 G 上於位置 (1),向垂直頁面往外的方向。

I_Gf 是最終轉動慣量在 G 上於位置 (2),向垂直頁面往外的方向。

m 是滑雪者的質量

在以上的方程式中,我們減少 I_of,而角速度 w_f 可以比原先(不改變 I_of)增加的更多。實務上,我們可以藉由減少質量中心 G 到 O 點的距離來達成。換句話說,減少 r_f 可以增加 w_f。要注意一點,實際上 I_Gf 跟 Sum M_o 也會改變,但主要的貢獻在於 r_f。

在位置 (1) 和 (2),質心 G 的速度可以表示為:

V_i = w_i * r_i
V_f = w_f * r_f

滑雪者的質心速度在位置 (1) 和 (2)

這兩個速度在位置 (1) 和 (2) 都與半管的曲面平行,這裡我們假設剛體運動。

以上關於速度的方程式,假使滑雪者能將 r_f 減到夠小(藉由起身並舉起雙臂),將可以有效地增加角速度 w_f。這將可以讓脫離半管時的速度 V_f 達到更高。

藉由連續地在曲面上的往復運動(在半管最低點蹲低然後起身並舉其雙臂),滑雪者可以持續地增加速度,最後可以達到足夠的高度來從事不同的空中特技。

用一個更直覺(不用數學)的說法來解釋,藉由往復運動(pumping)來對系統所做的功,可以轉變成離開半管時更快的速度。我們可以將此類比於小朋友盪鞦韆時,以蹲起的動作,來增加擺盪加速而盪得更高的方式一樣。當然這背後的物理也是類似的。

在滑雪者起身並舉起雙臂的過程中,他將會感受到由於旋轉造成的向心力,將他由 O 點往外的方向推開。這阻力證明了滑雪者所做的功,會轉成能量加到系統當中,最後形成更高的動能(速度)與位能(高度)。

最後一小節,我們來看關於滑雪板的保養,來維持最佳表現。

滑雪板保養

滑雪板的保養,基於滑雪板的物理,在於最佳化雪板在雪面上的表現,可以歸納為以下幾點:
  • 將雪板與雪面接觸的表面上蠟,可以防止水侵入造成雪板的損壞。蠟也可以避免雪板底部有過多的水蓄積,來減少潮溼表面的阻力(吸附力)。
  • 將雪板的板邊用磨石磨利,將有助於轉彎與板邊的控制。

以上總結關於滑雪板物理的討論。

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)