文:理查
參與閒聊:柯純融副教授
前言:筆者與淡江大學建築系柯教授是臉書好友,過去經常從柯教授的貼文看到系上將Grasshopper作為工具在建築設計課程上使用。原欲趁這次專題機會,邀請柯教授進行文字訪談,結果閒聊之下才發現柯教授現任系上要職,相當繁忙。柯教授仍是熱心提供許多教學上的想法,最終在徵求其同意的情況下,以筆者自身觀點,將閒聊內容和柯教授先前的教學實踐研究計畫「演算思維與數位軟體導入設計課程讓學習更快樂」彙整後,加入筆者的教學經驗,寫成本文。
Grasshopper,是內建於 Rhino 建模軟體中以構築演算法為基礎的「視覺化程式設計語言」,在藝術、建築、地景等領域經常用來作為參數化設計的工具。有別於常見將軟體課程和建築設計課程分別規劃,進入高年級才讓學生整合運用,柯教授試圖讓大一新生在建築設計(一)的課程中就學習操作 Grasshopper,從而帶動學生修習建築設計的興致。而筆者受邀在另所大學地景建築系開設「運算思維與程式設計」課程,課程所使用的 Python 程式語言,目前被廣泛應用在各個領域,適合程式初心者學習,熱門空間資訊軟體 ArcGIS 和 QGIS 也能以 Python控制運作。
運算思維、邏輯思考幫助設計發展
運算思維包含四個部分,分別是分解(decompositiona)、抽象化(abstraction)、辨認模式(pattern recognition)、演算法(algorithms)。國立屏東大學所出版的《廚房玩科學:甜點製作學探究與運算思維》書中,以科學探究作為對應,說明運算思維的「心智歷程」也能在日常生活中鍛鍊,例如甜點製作(這時就想起《我的婆婆怎麼那麼可愛》中發貴開發新產品的過程)。若以修習景觀設計的學生而言,其實這樣的「心智歷程」也多少已有操作經驗,僅是沒有從這個角度來串連理解。例如在動線示意圖上使用實線、虛線、點點框、透明填滿等等表現法來表達不同的用路者或策略區,便是「抽象化」的展現。對設計師們來說,思考上最大的門檻,應是「演算法」和「模式辨識」,或更準確地說,如何在議題論述過程中,習慣地容納數學化的歸納方法(包含分類、編碼、簇群、半量化和相關性)。
程式語言如 Grasshopper、Python 均重視建構過程與運算程序,學生在運用的過程中因此練習釐清設計發展的先後順序。例如使用 Grasshopper 建構建築模型時,能快速地探索程序調換後所生成的模型如何改變,從而影響環境指標,這樣的過程有助於深化邏輯思考。所謂設計發展的先後順序,包含了在物件、人體、建築、空間等不同尺度上,建築設計所產生的互動關係。好的設計邏輯能藉由 Grasshopper 視覺化的功能,呈現出彼此的關係和連動性,在釐清這些關係的過程中,學生逐步掌握能力自我探索尚未理解的領域,再融入已知的知識體系中,從而提升設計發展的能力。

設計思維 vs 程式邏輯
人類的大腦和肢體,能夠輕鬆寫意地畫出繁複的曲線組合,快速紀錄想法,讓我們進行複雜的設計思考。而 Grasshopper、Python 等數位工具,重視的是邏輯建構和運算的程序性,同一套操作指令,能夠大量且精準地重現同一條曲線,這是人類在缺乏足夠輔助工具時無法完成的工作。這是兩者的差異,人腦始終變動;而電腦始終沒有例外。作為使用工具的設計者,若是能深入理解軟體邏輯,並同步結合設計想法,則讓設計者擺脫制式的程序,反「從內部」操作軟體,發揮軟體的進階用處。
淡江大學建築系上的課程安排,是低年級時進行設計課程訓練,到大三學習三維模型(Rhino)、大四才有參數式設計的專題課程。這樣構成的問題,是設計思維經歷了磨練能夠靈活思索設計議題,但數位工具在後期才導入,對其的熟練程度不足以應付當下已在處理的複雜設計議題。軟體需要熟練使用,才能真正瞭解其背後的邏輯。然而熟練軟體需要長時間練習,假使學生初學時認為軟體不足以應用於當時接觸的設計議題,容易失去耐心,較難下定決心在課程中精進使用數位軟體工具,以適切應用到設計課程中。柯教授便是透過課程規劃,讓學生在工作營中先學基礎建模軟體 Rhino(也就是基本電腦繪圖),再簡單示範由 Grasshopper 關聯式工具建模優勢,理解以參數式規則驅動和傳統意義上建模的區別在運用上的可能性,配合建築設計課的進程,上手相對應的軟體功能,則能明確知道當下所學習的功能在其專業領域的用途,增加學習動機。

幫助學生跨過「設計好難」的檻
對部分學生來說,「設計」的能力需要養成。面對同儕或老師展現這項能力時,尚未開竅的學生會備感壓力,甚至「設計好難」、「不會設計」、「沒有想法」是多數學生學設計時的顯著門檻。另一方面,學生的溝通和表達能力,也常常未能在中學階段就適切掌握。伴隨每個人對於用詞的理解、對設計議題的理解、對於圖面的展現方法不同,設計課教師在評圖時難以具體評估學生所採用的方式是否具體回應課題。或是教師的評語也未必讓學生適當理解,更墊高「設計好難」的心理門檻。
Grasshopper 這類數位工具,能夠以循序漸進演算法則的方式構築建築模型,讓表現法苦手的學生借助電腦的幫助,看到自身設計構想在虛擬空間中成形,有助於建立成就感。演算法構築過程中,Grasshopper 這種「視覺化程式設計」,能幫助學生想什麼時釐清什麼,將「大腦的演算」拆解為可視化元件並逐步串接生成建築模型。這中間由老師引導而非從零開始,即便失敗也不用從頭開始。虛擬空間中重複執行的特性能反覆調整、測試尚未成熟或有限構想的可能性與局限,直到達成預期的成果。相較於口說詞語描述差異,Grasshopper 作為一種平台,使師生、學生之間在同一套語彙中減少認知落差,增進理解,聚焦討論,也有助於減少學生學習設計的挫折感。
討論設計,討論演算法
以地景設計而言,建立立體模型的需求較低,更仰賴的是前置作業中對於基地周邊環境的理解。在大學核心課程景觀設計操作中,每個小組各自設計基地和主題所面對的議題差異性極大,有時還需要諮詢不同領域的專家。建立論述的過程,與其說在作設計,更像是在各種不熟悉的資訊中迷途寄望找到出口。而若在踏出迷宮時回望過去,將這樣的「心智過程」採用流程圖歸納出這次設計作業的「演算法」,是否也算是更接近運算思維(雖然使用的工具未必是參數式軟體)?而提著帶有流程圖呈現「演算法」的設計作品和教師討論時,自然能將對話內容聚焦於「心智過程」是否完善,而非對著一塊綠地提出要不要往西移動10公尺這類疑問。
在這樣想法之下,對景觀設計的學生來說,在學校的基礎程式設計課程中,運用紙、筆、大圖紙等等熟悉的工具來鍛鍊歸納、整合、論述跨領域資訊的「心智過程」,似乎就比敲著電腦鍵盤練習編碼更為重要。長遠來看,也能為高年級或碩士學程時想發展地理資訊、量化研究或參數化設計的同學,作好部分的基礎技能準備。
淡江大學建築系副教授
發佈留言