2020年12月21日 星期一

技術筆記:Micro CT 電腦斷層掃瞄系統


牙齒 Micro CT掃描成果

因工作需要,有機會於12月17日,在台達DELab 協助下(連結),利用其高端Micro CT電腦斷層掃瞄系統,掃描兩顆牙齒樣本。對工程師來說,接觸新科技總是讓人興奮不已,藉此機會紀錄CT相關概念及當天作業情形。

首先映入眼簾的是由貨櫃屋改建的行動實驗室,內有兩台最新型micro CT,桌上型μCT-100X,體積約一公尺見方箱型,以及立地形μCT-100,這台體積更大,為兩個圓筒套合在一起,造型與醫院CT神似,應該是為了後續更大型樣品預做準備。兩台掃描機體旁都另附有伺服器等級工作電腦以及台達開發的影像處理軟體進行影像處理。

靜態樣本掃描機,右測是24吋螢幕,可見得此機器之龐大
右方為活體掃描機,儼然有大型CT外型,左側為熱情的技術人員

專案經理曾敏原先生解釋,桌上型與立地形原理類似,桌上型μCT-100X是以拍攝四、五公分見方靜態物體為主;更大型的樣品或活體(如老鼠),則適合備有麻醉設備和幫浦以及更多影像處理系統的立地形μCT-100。以我們提供的牙齒樣本來說,體積不大且為靜態物體,適合以μCT-100X進行掃描。

CT最重要的兩個項目,一是X光源,另外則是顯影方式。以下面這個DIY專案為例(連結 連結),X光由右下方電壓轟擊靶材產生,電子束會以角度非常小的扇形射向圖中冷凍肉雞,依材質特性,電子束會被阻擋或穿透,穿透部分擊中後方螢光感測板(phosphor screen),轉換為可見光,最後由左下方普通相機拍得這些影像,再由軟體進行重建。


類似概念套用至μCT-100X,各個元件狀況如下,X光源在右方,經過圓形過濾鏡後,射向畫面中間牙齒樣本,畫面左側為螢光感測板,若樣本體積太大,可以調整物體位置。

別擔心,這片玻璃是含鉛玻璃,可阻擋X光。由圖中牙齒大小可看出整台機器之碩大。

因為光源類似扇形,所以只要調整樣本和感測器的位置,就能拍攝出不同放大倍率和解析度的影像。有經驗的技術人員會依照樣本體積不同,選擇合適位置,達到拍攝需求。

樣品下方支架為產品配件,保麗龍僅是配合牙齒臨時製作。

校正過程除了要計算物體距離,還要考量不同物體對X光的吸收和穿透程度,例如拍攝岩石和電路板和老鼠的設定自然不同,以往這些都要依靠技術人員經驗,現有軟體已經將其數位化,並且將各種物件的屬性以屬性方式存在系統中,方便使用者挑選,大大將低操作門檻。

畫面左方可看到數種預設物品可供挑選

開始進入拍攝階段,包含各種校正與處理時間,目前每張照片時間需七至十秒,結果如下。此為一個物件在同一平面的X光照片。

初步校正後,可看到2D影像

取得平面影像僅是第一步,若要產生立體模型,概念上只要固定光源和感測器模組,讓待測物進行360度自轉,過程中同時拍攝各個角度的影像,透過3D重建理論,無論是單純的填充和消去、傅立葉轉換,或是迭代法,就可將這些影像轉換為物體內部各座標點的密度訊息。

重建概念

即使我們對相關數學方程式不熟悉,憑直覺也能推論出,物體自轉角度越精細,重建的效果會越好。目前μCT-100X是使用高精密度馬達,以每隔0.5度拍攝一組影像的方式,組合720組影像成為微米等級資訊,全程約需2小時。比較特別的是,因為是臨時搭建的貨櫃屋,過程中為避免震動改變各個元件位置,還需時刻留意避免跑跳等較大動作。

重建的第一個動作是框選合適區域,前先選擇MASK區域,減少無謂空間浪費

為了確保重建的品質和速度,硬體方面,掃描機選用工業級主機(含92M超大記憶體和高級GPU顯卡),軟體方面,台達自行研發的軟體除了能完成立體重建,更能動態瀏覽包含表面、內部切片,以及打光模式下各種顯示功能。若要輸出檔案,也能選擇TIFF或DICOM(醫學影像專用格式,一顆牙齒的DICOM約為6G)。對一般使用者來說,即使沒有上述軟體,也有其他選項(連結),例如Mango。

牙齒樣本與掃描後成果比對

由不同角度和深度觀察立體物件

對從未使用過Micro CT使用者來說,這次體驗確實能讓人感受到微米等級影像的威力,不過數百萬的售價也的確讓人為之卻步,日後若還有掃描需求,會以委託服務為主,如中研院或成大小鼠中心。畢竟這類高端研究機構,才是台達的客群。

補充資訊:

一、Micro CT與傳統CT的差異,主要是解析度,傳統CT電子束直徑較大,會產生許多扇形進而造成彼此互相干擾,降低解低度,而Micro CT發出的電子束較為集中,所以解析度會相對應提升。(連結)

二、支援活體掃描的硬體機制,下圖是活體掃描機中軌道圖,設計上可放入下圖大型管,內置老鼠活體,全程有搭配的麻醉箱、麻醉注射器等等。與桌上型不同,活體掃描時,待測物不旋轉,而是光源和感測器旋轉,機構上,高端設備是採用電刷,台達目前是採用馬達帶動。



三、支援活體掃描的軟體機制,台達已開發出解決老鼠心跳產生的上下震盪,或是掃描較長樣本時,影像接合技術。


感謝台達公司提供機會

2020年12月15日 星期二

臨老入花叢 越野跑初體驗

茶茶山徑19KM越野跑由坪林市區出發,環繞籟狸尖山後,接上台九線,進入柑腳坑後再沿北勢溪回原點,沿途有泥土路、繩索徑、密林、高聳林木、河流等自然景色,更有檳榔園、茶園、石頭屋等人文景觀,可謂豐富且多變,是理想的越野路線。

茶茶山徑,沿線茶園

最後段落北勢溪畔
多年後,和家人到北勢溪騎腳踏車,水彩作品

由於是第一次參加,報名蠻謹慎的選擇了19KM組。活動當天雖然天公作美,終止了連續一周的陰雨,但滿地黃土都已經變成軟泥,連行走都困難,更無法跑跳。全程幾乎都是上坡當步兵,下坡太滑不敢走,柏油路散步狀況下進行,與其說越野跑,不如說是在登山或玩泥巴。

全徑滿布稀泥

同行俊男美女,但請注意我們滿是泥漿的跑鞋

裝備上,相較於一般路跑環境都較單純,越野跑為了應付多變的地形,得準備抓地力較強的跑鞋。另外,為了儲備飲水、哨子、零食等,還添購了帥帥的越野背包。

為了避免滑鐵盧,除裝備外,行前曾安排數次自我訓練,地點是在熟悉的新竹飛鳳山。起初發現只要稍稍跑一下就很累很累,難以繼續,應該是山徑上地形變化大,姿勢不能維持,連帶的速度也快快慢慢不同,一般馬拉松強調的配速、姿勢、呼吸頻率等等完全不能使用,跳跑步的技巧也很陌生。累積兩三次後,的確有進步,但仍有非常大進步空間。

補給點不多,但有啤酒就OK

回想當初報名參加越野跑時,主要是想體會在山中飛馳的感受,這次活動雖然有趣,但明顯達不到預期效果。若想要有一定野跑經驗,並且維持身體韌性,正式活動或許得考慮明年4/18內湖五指山(連結),或是6/26棲蘭50k林道(連結 已報名,期盼能住明池,看見撞到月亮的樹,三姊妹神木),或不知還有沒有的貓空越野(連結)。平時則多至飛鳳山、五峰天際線、羅山林道等鍛鍊,希望有朝一日能透過野跑,讓自己有不同的山林經驗(連結 連結)。

2020年12月14日 星期一

閱讀筆記:使女的故事 The Handmaid's Tale

仕女的故事,是愛特伍(連結)早期1985年著作,若沒意外應該也會是她傳世之作。

故事內容。不久的未來,西方文明社會出現劇烈變動,為了要對抗其他國家的侵略及環境變遷帶來的巨大災難,社會權力逐漸集中,轉變為類似拜占庭式以宗教領導的國家,也就是書中所謂基列共和國,此其中,民主與自由思想被箝制,所有的規範只有一個,就是嚴格的教義。不符合教義的思想犯會受到極大的壓迫和打擊。而教義的定義和解釋是由少數人所管控,也就是書中的大主教們。類似威權統治的描述,以下面描述最為貼切。

自由有兩種,一種是隨心所欲,另一種是無憂無慮。Freedom to and freedom from. In the days of anarchy, it was freedom to. Now you are being given freedom from.

當然,愛特伍絕不是第一位描述威權統治的作家,類似概念早已普及,尤其考量當時是後冷戰時代,對蘇聯等國家的影射作品多如過江之鯽。使女的故事能在如此眾多作品中獲得廣泛的討論,主要原因是愛特伍能跳脫僵化的論述,大膽引入"使女"這個特殊概念。所謂使女是來自聖經的隱喻,屬於特殊的族群,在當時社會中唯一的功能是生育。政府頒布一種受精儀式,強迫使女們躺在女主人的大腿間,和男主人做愛,藉著懷孕生子的能力才能活下去,文中提到,女性只是一個長了二條腿的子宮罷了。

對於將女性視為物件的延伸,是個能夠隨時替換的零件這種荒謬的假設,基列共和國大眾卻都像空氣般視而不見,默許並且容忍著。而作者對使女族群的描述越深刻,越是舉重若輕時,越會讓讀者不由自主會想探究背後的原因,最後則意識到,原來是有著許多看不見的權力和壓迫,讓人們禁聲,並且對不公不義無動於衷。也就是說,愛特伍是藉由說故事的方式,讓讀者自己動手去揭開威權統治社會謊言的面紗,進而看到那已被嚴重扭曲的外部世界。

對使女這個族群描寫的成功,當然和愛特伍長期以來注重女權在社會壓迫下的苦悶、無法自由發展有絕大關係,算是愛特伍的標記。而除了鮮明的國家認同與女性地位主題外,全書冷冽且低沉的暗色調筆法,成功塑造出,基列共和國人民生活受到層層限制的窒息感,大量對女主角遭遇生活瑣事時忽現實與忽回憶、現今與過去時間與空間上的交叉穿梭,沉靜細膩構成的真實感,都讓人流連於書中故事而無法自拔。是本值得一讀再讀的好書。

2020年12月8日 星期二

閱讀筆記:美麗性世界 The Heart Goes Last

美麗性世界,原書名The Heart Goes Last,作者瑪格麗特‧愛特伍Margaret Atwood於2017年的作品,也是我涉獵她的第三部作品。全書沿襲她一貫寫作方式,描寫新時代中,人類技術文明發展到了極高的程度,帶來了生活質量提升,同時也帶來了巨大的社會問題,就在這社會動盪交界時刻,人們被迫被給予不同身分、不同工作、而作者就特別擅長描寫面對劇變時,主人翁對生活態度的轉變和思考歷程。

愛特伍往往不是直接就切入當下的衝突,而是透過大量的回憶、和對現象絲絲入扣的白描,隨著故事進展,直到最後,讀者自會得到一個無奈且冷冽的結論,那就是在外界精密的控制下、道德的淪喪是必然,人類最終淪為了自己文明的犧牲品,成為了自己創造出來工具的工具,喪失了人所有的自由和尊嚴。

這類帶著未來感的烏托邦式小說,對美國和加拿大這類承平已久社會總有莫大吸引力,而對東亞國家來說,近百年來經歷戰爭頻仍、威權統治、戒嚴和思想控制,早已視此為常態。以這本書設定的世界觀來說,當時的環境是外部沒有工作機會,產生許多問題,主角本身是好人,僅僅是需要到一個安全的地方有個穩定工作,就會覺得正常穩定的感受安心與滿足。當個人努力無法解決,而是結構性的沉淪下,極端主義就會出現,例如書中奇特的設計制度,監獄和暴力的管理,透過限制需求,創造出了更多工作機會,吸引需要工作的人進入,達成封閉區域中的穩定狀態。

這完全就是二次世界大戰前,德國社會的翻版,當時失業人口高達六百萬人,通貨膨脹嚴重,納粹主義的作法是嚴格實行分配制度,控制並且均化所有人的薪資,概念是減少每個工人的薪水,才能聘用更多的人,只要所有人都接受了薪資減少,全國的工作職缺立即就可以大增。然後由消費人口數據精準統計出國民消費力,進而決定民生必須品的價格,使每人都可以負擔,瞬間壓制通貨膨脹,控制物價還讓全民就業。故事中的村民也是同樣想法,為了維持理想中的生活模式,代價是生活都是被配給化,且每隔一個月被迫到監獄生活,就由降低欲望和減少私有化資產讓全體都有工作。而其中正子監獄的觀念,和北京折疊類似,完全是分配化的終極表現,由早期分配土地、薪資,進一步推廣到時間和慾望的重分配。

但是不是每個人都願意接受縮減薪水吧,必然有反抗的人,所以納粹宣佈工會和工人運動屬於非法,抱怨老闆或政府的文章和言論會被壓抑,不讓民眾反抗與抱怨,不能任意辭職,因為隨便改變職業,就會影響生產的計算,抗議的話就抓去關進集中營。須建立在專制和限制自由才能保證控制薪資與國民消費力,人民是得到了職業和食物的供應,不過也失去了自由。

美麗性世界故事中,村民都是意識到自由會被限制才簽約,所以對反抗部分著墨較少,與之相比,作者更強調,【制度可以怎麼完美地掌控一個人】。在嚴密的管理機制下,為了安全,人是會自我催眠,合理化威權和暴力,並且自我調整逐步放棄自身權利且默不關心他人死活。而這又更進一步助長了體制對於反抗者管制和壓迫,如此不斷循環成為無法跳脫的大漩渦,直到內部壓力到無法承受,若不是對外侵略吸收更多人,就是自爆。

或許你會覺得怎麼會有這麼愚蠢的事情呢?願意限制自己的自由?但它真的就是這樣發生了,甚至身在其中的人還甘之如飴,小說中的看似無害的女主角為了自身安全,逐漸泯滅自我人性而無所不做就是實例,現實世界中,也處處是事例。

今日COVID-19影響下,新的國際社會和文化秩序儼然變動,類似的預言小說,除了讓我們對即將到來的社會變遷更有警惕,更提醒我們,未來面對種種試煉時,除了安全之外,還有一種選擇,叫做"自由"。

PS 學英文資訊 連結 連結

2020年12月2日 星期三

Design and fabricate 3D objects for LaserCut

女兒帶回一隻型態高雅,動感十足的金色雷射切割拼圖,若連同家中原本已有的飛龍和龍鳳,我們家都快要有奇幻動物園了。坐看這幾隻設計精美的模型,除了佩服設計者巧思外,也尋思著,這類設計是如何進行,能否由程式自動代理呢?

搜尋後發現,FlatFit(連結)就能完成類似功能,相關論文,操作範例(連結 連結),雖然沒有安裝軟體,但由範例影片即能體會其設計概念,只能說操作概念很另類,要設計出類似鳳凰骨架和造型,應不容易。

若要探究更多自動代理設計,或許可以再區分成外殼、填滿、初步分割、複雜分割四類。外殼部分有幾種方式。

  1. 軟體設計:OpenSCAD(連結 連結)。
  2. 輔助軟體CutCAD: 已有要製作版型,需要處理交接處的結合和孔洞等(連結 連結),附程式碼(連結)。
  3. 輔助軟體KYUB: 已有要製作的外型概念,以四方形的小單元不斷延長融合組合成穩定的大型立體項目(連結 連結)。
  4. 全自動軟體Explision: 將複雜表現縮減到合理可識別狀況後,就能將每一個面自動產生出來,過程中還考慮了不同面之間接合角度和接孔(連結 連結)。理論上來說,因為利用mesh控制face數量這功能,產生的結果必定為三角形,對於動物等自然物很適合,若要處理建築等人工產品則會讓人感到困惑。

若不只是要外殼,還要滿滿的內容物,也有辦法。

  1. 編輯軟體AutoCAD: 將3D物件簡化成理想版型,範例如下(連結)。不需要程式背景。
  2. 全自動軟體Laser Slicer: 將物件塞滿,用切片概念一片片切出並存成檔案(連結 連結)。
  3. 類似的立體地圖(連結 連結)。

在外殼和滿滿內容物間的折衷方案是OpenFold(連結),概念是以兩個座標軸,如X和Y,X和Z,Y和Z進行固定間隔的掃描取出隔板,最後產生的結果,由兩個座標面看去是密實的隔板,第三座標面看去就是類似中空的結構。猛一看的確能看出是鳳凰,但細看就會覺得過於死板和不合理,例如脖子的部分,必須配合頸部逐漸旋轉切面,這部分或許可以加入sknw功能(連結),以中軸為主,進行切片。取得中軸的方式也能參考Predicting Animation Skeletons for 3D Articulated Models via Volumetric Nets。

第四項,最複雜,也與鳳凰最接近的切割方式,可以參考論文Slices: A Shape-proxy Based on Planar Sections(連結),有C和QT的程式碼,延伸資料(連結)。另外還有一篇crdbrd:Shape Fabrication by Sliding Planar Slices(連結),作法更簡潔但沒有參考程式。

Slices論文圖片

類似雷雕作品,國內以席時斌(連結)和黃心健(連結)鋼作品為代表。除這類高端藝術品外,近年來逐漸會發現以plywood等軟性材質製作的商品,其中有些簡單的在夜市便宜賣,但也有類似鳳凰 TENONART(連結)(連結) 等有精美修飾圖紋,並刷上金漆或黑漆等高雅質感,造型包括奇幻生物Chimera(連結)作品。

2020年12月1日 星期二

Computational Brick Design

身為工程師,對於只要能手動操作的各種行為,都相信會有自動化的可能。但遇上複雜且千變萬化又總被冠上創意的美名的積木玩具(尤其指LEGO),還能夠實現自動化夢想嗎?經過探訪,發現答案是肯定也是否定。肯定是因為程式的確能自動設計出2D和3D物件,但評估其成品和創意及精美還有很大一段距離。

基礎工具:圖形化各式積木零件

自動化的首要動作是對零件的了解,透過樂高公司釋出的資料庫,我們能掌握現有零件數量已達二萬種以上,而資料庫內容包括各零件的編號、3D描述語言、顏色等資訊。

如元件 "18654.dat",可參考此處連結取得3D資料。參考ldraw python專案(連結),可用三步驟將任一元件轉變成不同視角的圖片。畫出圖形連結 連結。

conda activate ldraw
from ldraw.figure import *
from ldraw.library.colours import *
from ldraw.pieces import Piece
print Piece(Black, Vector(0, 72, 0), Identity(), "4716")
python 上述程式.py > temp.ldr
ldr2pov temp.ldr temp.pov 160.0,80.0,-240.0 0,0,0 (相機角度等參數)
povray +Itemp.pov +FN16 +Otemp.png +Q6

類似產生圖片範例還有(連結)。產生出的照片可以應用在網站(如rebrick)或是編輯軟體,自己則想到可以印出成海報或T恤。

上述專案還能一次組合多個元件,透過預先了解的大小和形狀資料,決定顏色和放置位置,形成複雜物件。python example/brother.py > temp.ldr  Person是個特定的位置區,一個個放進Piece後,包進Group,再旋轉移動Group。

基礎工具:自動生成安裝說明書

以ldraw為核心的editor,可幫助組裝積木(連結) (連結),或是當做呈現動態組裝過程的產生器(連結)。結構變成可以視覺化的順序圖 連結 連結 連結。

模擬2D Mosaic

輸入平面圖案,經過轉換成以pixel為單位的拼裝指示(連結)(連結)。

模擬2D Layout

Mosaic是精確模擬,但現實的模擬往往是更複雜的,如何高效及穩固方式填滿指定形狀(空間)的數學問題,基本方式是採用圖學演算法如專案2D-LEGO-GA(連結)以基因演算法為核心,conda activate study project/legoga/  執行 python run.py --types_num 3 --max_brick 7

隨機產生不同形狀數量的積木BAG,再產生約近百個族群(不同排列方式),接著透過變異過程(包括置換,增加等操作手段),以填滿個二維長方平面覆蓋率為標進行運算。最後將數值轉換為圖片顯示。

之後可以繼續測試項目如下。 1.改變平面形狀,例如中空。 2.讓袋子內容變成無限制。 3.評估分數,由覆蓋率改為使用數量。 4.套用上述拼裝過程順序。

類似專案(連結)(連結)論文(連結)。而這是3D版本的連結 連結 。

除基本圖形演算法外,近來更加入人工智慧(連結),例如TilinGNN(連結),嘗試以幾個基本形狀填滿各種不同形狀。程式 conda activate tilin /project/TilinGNN,python Tiling-GUI.py 。概念是,先產生所有形狀組合,隨機產生形狀讓系統學習最適合排列方式。

1. Change to drawing mode by Key M
2. Draw the shape that you like
3. Transform by the shapes (Z/X, -/=, UP/DOWN/LEFT/RIGHT) or edit the shapes in Edit mode
4. Crop superset by Key E
5. Solve the problem by Key S (with number of trials)


模擬3D Shape

簡單說就是用積木逐漸填滿3D物體,填的越像越好,範例Automatic Generation of Constructable Brick Sculptures(連結 連結),有C語言版本(連結),以及Python簡化版本(連結)。

論文圖片

程式legobuild  python main.py,還在摸索中。資料格式為xxx.csv,有3D空間中每個點的位置和顏色。作法上是以Z為平面,由底開始,逐層挑選需要積木,並且在鋪設時考慮其上層結構與目前這層關係是否合理,若有需要則建構出輔助積木,並且考慮穩定性(另外一篇可考慮穩定性議題 連結),如圖片中身體部份就不只是單獨顆粒,而是交叉放置,最後完成全部物件。GAN程式(連結)。

其他參考資料如bricker,這似乎是Add-On程式(連結 連結),使用說明(連結 連結)。還有一類可手動操作軟體(連結)。

從擬真的角度來說,即使完成這個部分,也會因為使用的積木都是方形,使得造型過分簡單。雖然有素人童趣,但從專業角度來說,還是太粗糙,解決方式是加入更多不同零件,例如Automatic Generation of Vivid LEGO Architectural Sculptures( 連結 )就加入圓弧和三角等造型,並且用類神經網路來優化。但當元件項目達到數十上百種時,基本演算法或許就無法處理,得用CNN(或YOLO)等比對概念來選擇。可能的作法會是。決定要模擬的3D物件以及縮放的比例。將物件縮放到最終尺寸。用不同大小和位置,框選物件上的一個區域,再以CNN的方式選擇合適項目。

拼裝3D Technic Sketch

前述是外表的模擬,但要如何模擬sketch架構呢?Computational LEGO Technic Design(連結)影片(連結),即利用Technic元件完成這個目標。

論文圖片

首先牠假設已有一組已經事先定義好的零件資料表,並且輸入要完成的線條結構圖。填滿的過程先執行sketch coverage,過程中除考慮不同零件如何連結,更有最優化的機制。我很喜歡這幾個人的補充(連結)。例如This would be a great tool for prototyping and for non-AFOL makers who are trying to build simple models from their imagination. I can also see this being helpful for people who are new to Technic, have difficulty with spatial reasoning, or have physical disabilities that prevent them from building things by themselves. This could be a nice tool for educators, too.

而實際運作上,很好奇這系統如何處理斜線?以及互動過程中Guide Graph會動態調整嗎?檢查結構是否穩固則可參考(連結)。

千呼萬喚始出來,相關程式碼連結。介紹連結

自動轉化3D物件生成Sketch

上面專案的sketch是靠軟體手繪而成,難度太高。而現成資料庫中,幾乎都是只有外型,並沒有Sketch,順便列出物件資料庫資訊(連結 連結 連結)。

是否能直接由3D物件產生出Sketch呢?這方面的研究有兩類,第一類是尋找內部"骨架",而不是架構,例如Predicting Animation Skeletons for 3D Articulated Models via Volumetric Nets(連結),程式位置(連結)。概念可參考(連結)。

第二種是我較感興以簡化物體外型擷取出物件"架構"為主,如Learning Shape Abstractions by Assembling Volumetric Primitives(連結),訓練資料來自ShapeNet資料庫,取得物件第一階段造型,結果如下圖。程式 project/PyTorch/shape,待瞭解。值得一提是作者的人工智慧template可參考(連結)。

論文圖片

以此為基礎,北京清華後續研究加入多層次概念,Learning Adaptive Hierarchical Cuboid Abstractions of 3D Shape Collections(連結),技術上使用oct-tree,與前者相比,產生了第二層細節,視覺上更為完備,作者也認為可繼續加入更深層次。程式 conda activate shape  project/tensorflow_gpu/shape1 執行 python training_script.py --category airplane

論文圖片

未來應用,或許是先下載3D資料庫,由上述內容繪出架構,再由上節程式製作出以科技件為主的安裝說明書。系統則透過瀏覽或搜尋方式,讓使用者挑選項目後可自行拼裝。

其中搜尋部份,或許可採用素描搜尋(連結 連結),資料庫為普林斯頓3D資料庫,以類似手寫辨識方式,或機器學習方式(連結),找到最接近項目。參考範例(連結) (連結)。

2020年11月10日 星期二

龍鳳連陵併飛沙縱走

步道遠望觀霧群山

一直以來對竹北的印象幾乎都是伴隨竹科成長而來的繁榮聚落,而隔壁鄉鎮芎林則是土壤肥沃適宜農業有著大面積水稻田。對兩者北方那迤邐數十公里的陵線,若不是視而不見,也會因為資料不全而無法親近。

直到最近在網路上搜尋到名為龍鳳連陵加飛沙縱走的路線(連結 連結),沿途路徑清晰且極為安全,循線漫步,即完成了橫越竹北、芎林北境,由西向東長約35公里,總爬升高度1600公尺的小探險。


這類低海拔農業區步道,整體來說難度不高,除雜林和竹林外,常常會穿越果園、農路和農舍,不時也會擔心不慎闖入私人領域,總覺得提心吊膽。且因山勢不高,景色大多一般般。龍鳳連陵和飛沙縱走也是如此,所以對外地人來說,對沿途都是"已開發和快要開發"景色,應該會覺得無聊吧。但對生活在新竹十年的人來說,因為靠近生活圈,沿途幾個小段落都曾探訪過,類似的縱走路徑能串聯起以往經驗,重塑對環境的立體感,反而會有,啊,一償宿願的讚嘆,所以會推薦居住附近人士,來走一回。

車停竹北北端的蓮華寺,由寺院右側小徑登上山坡公園,鑽過東北方圍牆破口,就正式進入步道。金秋時節,樹影隨風搖晃,枝葉在輕輕的相互拍打著,時而隨風飄下,伴著滿地光影搖晃,異常悠閒。


此地為山陵線邊緣,向南側看去視野廣大無遮蔽,竹北市容一覽無遺。由六家住宅群開始,隨著步道持續向東,逐漸會看到高鐵車站、生醫園區,以及東海的廣大農田。這些平時早已熟悉的區域,登高望遠由不同視角重新觀察,自會有截然不同的感受。

諾大農田中,佇立著眾多高樓,如此強烈的反差,不只是造型的美感,也是發展的象徵。追求進步者,會被此激勵,覺得資本主義和經濟發展就該如此,而這也是台灣三四十年來,人們普遍寫照。

我始終認為人的本性就是習於擴張和開發新領域,知識和藝術如此,生活環境亦如是。郁永河三百年前寫裨海紀遊時,描寫新竹到桃園一帶時,是怎麼描述的呢?他說:自竹塹迄南嵌八九十里,不見一人一屋,求一樹就蔭不得...途中遇麋、鹿、麏、麚逐隊行...入深箐中,披荊度莽,冠履俱敗:直狐狢之窟,非人類所宜至也。但如今,只要站在這山頭上三分鐘,就能體會所謂文明的力量,荊莽被剷除了,麋鹿麏麚也消失無蹤,大地被水圳網羅著,演繹更生著農田、廠房、城鎮。

依照這邏輯思考,照片中靠近下方的農田區,自然不能免於被開發的命運啊。這裡就是所謂璞玉計畫基地,歷任縣長和百分之九十五的地主,都想要將此地重劃為開發區(連結),最近幾次公聽會中,雖然受到部分團體阻擋,但看來開發的方式是不會改變的。或許下次再來,眼下就是遍佈住宅商辦了。

不只山下,甚至就連步道後方的平地頂部荒郊野嶺無人煙區域,都出現了怪手和大型工程基樁,而這步道後段,只要是私人土地,幾乎也是遍植柑橘果園,再再證明只要無節制,人類終究會不斷擴張。

步道遠離竹北端後,跨越一農路,進入三段崎段落,這裡不再緊鄰崖壁而是在山抝和犁頭山溪邊緩緩上升,翻越山頭後則進入果園區,再跨過文德路二段,在紙寮窩竹林間穿行。

最後抵達芎林鄭雨賢音樂公園,距離鎮中心僅百公尺之遙。


公園內范承宗竹編藝術內向上望,走了十多公里步道,到這很放鬆

過芎林後先是沿著中坑的農路緩升,不久後向右轉入已經被荒廢但同樣是柏油路面小徑,並且在附近小山頭間繞著,穿過已歇業的景點心鮮森林後,就是著名的小百岳飛鳳山。今日是非假日,沿途仍有許多踏青民眾,觀察他們互動,感覺是天天都來報到的常客。

步道從這裡開始,由原本西向東轉為向北,先由"石壁潭",走上"飛鳳山",然後開始十五公里的ㄇ字形環繞,上部依序為中坑山、牛欄窩山、竹36、下橫坑山、雞寮坑山,竹25。中間部分依稀可先看到左測的"王爺坑",不知名山嶺,以及右側的"鹿寮坑"(春夏觀螢火蟲聖地)。看起來山頭多,但都是十幾分鐘就會經過的點。加上全線都鄰近柑橘園,好走到無聊的程度。

滿坑滿谷的柑橘樹林

三十年的芒果樹被斷頭,兩個月就能發芽新生,上蓋樹葉壓石,防止水分流失

ㄇ字形右側的南何山,這裡也是荒野保護協會信託區域自然谷的基地(連結 連結),記得還曾來這裡攀樹呢。再經過南何山南峰、沙坑山(涼亭)、綠色小徑。

竹26前一段悠閒道路

這段路,除了東方壯麗大霸山景外,最讓人吃驚的則是滿坑滿谷的小花蔓澤蘭。以往僅知道這外來種有極強侵略性,今日發現,只要是廢耕地或乏人管理的果園或甚至是芒草這麼頑強的植物,都會被牠覆蓋上。而且毫無被控制的可能性。這好像呼應了前面人類也不斷擴張的行為啊。

看似美麗白花,實是恐怖的小花蔓澤蘭

行程最後下降到橫山鄉九讚頭,此為亞洲水泥的基地,遠望建築物灰暗但壯大,雖然現在幾乎是停機狀態,但遙想當年可是呼風喚雨,是地方上最重要經濟支柱啊。