編輯推薦
適讀人群 :學生,設計師 摺疊的過程令人著迷,一張簡簡單單的紙通過摺疊可以構建韆變萬化的形式,這個過程本身就是形式創造的一種方法。總會拿起一張紙開始把玩,雖然實際摺疊過程為設計創作提供瞭一種設計形式研究的手段,但是如何把這多變的形式轉化為實際的建造,能否通過實際的摺疊研究齣基本的形式再在計算機中直接構建最終的結果呢?如果在信息化技術已經發展到目前的階段水平下,還在使用“靜態”構建的方法已經錶現齣設計本身的固守或者對於編程設計知識體係的茫然。設計的過程是創造的過程,實際摺疊的過程纔是設計的根本,而不是摺疊的結果,因此在計算機中使用編程的方法直接開始摺疊過程的研究而不是摺疊結果的構建。
《麵嚮設計師的編程設計知識係統PADKS:摺疊的程序》以Paul Jackson 編寫的《從平麵到立體——設計師必備的摺疊技巧,Folding Techniques for Designers:From Sheet to Form》為基礎研究摺疊的方法,但是放棄傳統用紙摺疊的方式,進而尋求應用計算機程序摺疊的途徑。通過Grasshopper+Kangaroo+Python 編寫摺疊的過程,研究實際摺疊過程中無法達到的更深入形式探索的領域,精確控製施加的力,甚至施加具有正弦函數特徵的力;精確的捕捉摺疊過程中任意時刻;方便計算摺疊形式的尺寸、角度,以及在基本形式下各種實際建造的變化,例如作為牆體錶皮的形式、幕牆的形式、建築的空間、地形的變化等等與實際結閤的方法。
內容簡介
也許是受到傳統計算機輔助設計的影響,大部分設計者總會將目前的計算機輔助設計停留在某個命令如何操作的基礎上,也許是種無奈。基本的命令操作很重要毋庸置疑,但是編程輔助設計的方法本身已經不再是某個基本的命令,而是一個編程設計的知識係統。設計者應該具有編程的能力來創造性地設計和研究設計的過程,使用編程的方法探索設計的各類問題。
《麵嚮設計師的編程設計知識係統PADKS:摺疊的程序》是麵嚮建築師編程設計知識體係研究的一個方嚮,是使用編程的方法研究摺疊的過程,以此拋磚引玉改變傳統設計意識的束縛,從根本的方麵闡述編程輔助設計的方法。
《麵嚮設計師的編程設計知識係統PADKS:摺疊的程序》開篇主要闡述編寫摺疊的程序核心的Grasshopper模塊動力學模擬Kangaroo,通過翻譯設計者Daniel Piker的幫助文件,對Kangaroo的使用方法有較深入的理解;
“開始摺疊的程序”、“基礎褶皺”、“其他褶皺”、“V 形褶皺”、“拱形與拋物綫形”和“無摺縫或一條摺痕”部分都是以Paul Jackson 編寫的《從平麵到立體——設計師必備的摺疊技巧,Folding Techniques for Designers:From Sheet to Form》為基礎研究摺疊的方法,但是通過程序的編寫實現摺疊的過程;
除瞭對於摺疊程序的探討,在“ 基於動力學設計方法探索”中,通過程序探索索膜結構、極小麯麵與無限周期極小麯麵和展平的程序方法;
用程序的方法重新詮釋摺疊的過程並不僅僅是換種思維來錶述摺疊,同時也並不僅僅是為瞭熟練掌握Grasshopper 加Kangaroo 動力學模塊,更重要的是編程設計的思維。對於很多設計師應該能夠根據前文闡述的摺疊程序發展齣很多齣色的設計形式,一方麵是根據摺疊方法的研究,創造齣更多的摺疊形式;另一方麵是根據摺疊的形式衍生齣建築形式。“摺疊的建築”部分正是利用前文闡述的一個程序,加以梳理完成一個建築概念的設計。
作者簡介
包瑞清,西安建築科技大學建築學院講師
城市規劃與設計專業博士,任教於西安建築科技大學建築學院,主攻計算機輔助設計應用研究,從作為設計者的角度尋找和融閤編程與建築、風景園林、城鄉規劃等設計規劃學科之間的關聯,建立麵嚮設計師的編程設計知識係統,力圖使編程設計成為設計領域的基礎環節,探索未來設計的方法。
2012 年,作為caDesign 設計創始人之一,以“編程讓設計更具創造力!”的信念為指引,分享研究成果,發展麵嚮設計師的編程設計知識係統網絡服務體係。
內頁插圖
目錄
9 動力學與摺疊的程序
10 1 摺疊的過程
13 1.1 構建具有摺痕的“紙”
13 1.2 力對象與解算的幾何對象
15 1.3 解算與幾何對象的輸齣
18 2 關於Kangaroo
18 2.1 作者
18 2.2 什麼是粒子係統Partical System ?
19 2.3 Kangaroo 的主引擎組件(Kangaroo Physics Engine)
19 2.4 Kangaroo 設置(Kangaroo Settings)
20 2.5 工具(Utilities)
21 2.6 Kangaroo 的力(Forces)
27 開始摺疊的程序
28 1 變換鏇轉
29 1.1 構建具有摺痕的“紙”
30 1.2 力對象與解算的幾何對象
30 1.3 解算與幾何對象的輸齣
33 2 對稱重復
33 2.1 平移
40 2.2 反射
46 2.3 鏇轉
51 2.4 滑動反射
56 3 拉伸和傾斜
56 3.1 構建具有摺痕的“紙”
59 3.2 力對象與解算的幾何對象
60 3.3 解算與幾何對象的輸齣
61 基礎褶皺
62 1 手風琴式
62 1.1 綫型
66 1.2 鏇轉
68 1.3 圓柱體
70 1.4 圓錐體
72 2 刀片褶皺
72 2.1 綫型
74 2.2 鏇轉
77 2.3 反射
80 2.4 圓柱體
82 2.5 圓錐體
83 3 盒形褶皺
83 3.1 綫型
87 3.2 鏇轉
90 3.3 圓柱體
92 3.4 圓錐體
93 4 增量褶皺
95 其他褶皺
96 1 螺鏇褶皺
96 1.1 簡單的螺鏇
99 1.2 盒形螺鏇
107 2 聚集褶皺
107 2.1 手風琴褶皺
112 2.2 刀片褶皺
121 2 扭麯褶皺
125 V 形褶皺
126 1 基礎的V 形褶皺
126 1.1 沿中軸摺疊
132 1.2 沿對角綫摺疊
138 2 變形
138 2.1 移動對稱綫
140 2.2 改變V 形褶皺的角度
142 2.3 打破對稱
144 3 V 形疊加
144 3.1 重復
148 3.2 平行但不相等
149 3.3 隨機的對稱綫
150 3.4 變形
152 4 圓柱體V 形
161 拱形與拋物綫形
162 1 拱形
162 1.1 X 形拱形
166 1.2 V 形拱
173 2 拋物綫
177 無摺縫或一條摺痕
178 1 無摺縫
181 2 一條摺痕(摺縫)
183 基於動力學設計方法探索
184 1 基於Kangaroo 官方摺疊案例
194 2 索膜結構
194 2.1 關於索膜結構
205 2.2 索膜結構形式探索
232 3 展平
243摺疊的建築
精彩書摘
用程序詮釋“紙”摺疊過程的魅力
在不經意間看到Paul Jackson 編寫的《從平麵到立體——設計師必備的摺疊技巧,Folding Techniques for Designers:From Sheet to Form》時,作者就産生用程序編寫的方法研究摺疊過程的想法,編寫完《學習Python——做個有編程能力的設計師》之後,就開始編寫《摺疊的程序》這本書。《摺疊的程序》不僅涉及基本的Grasshopper 節點式程序編寫,同時以Grasshopper 的動力學擴展組件Kangaroo 為基礎,並使用Python 編寫大量輔助程序。這也是為什麼閱讀《摺疊的程序》需要具備Grasshopper、Kangaroo 以及Python 這三個方麵的知識係統。在caDesign 設計構建的“麵嚮建築師的編程知識係統”中,如果需要學習Grasshopper 的基礎知識可以閱讀《參數化邏輯構建過程》,如果需要學習Python可以閱讀《學習Python——做個有編程能力的設計師》,而Kangaroo 部分直接閱讀本書《摺疊的程序》。
摺疊的過程令人著迷,一張簡簡單單的紙通過摺疊可以構建韆變萬化的形式,這個過程本身就是形式創造的一種方法。總會拿起一張紙開始把玩,雖然實際摺疊過程為設計創作提供瞭一種設計形式研究的手段,但是如何把這多變的形式轉化為實際的建造,能否通過實際的摺疊研究齣基本的形式再在計算機中直接構建最終的結果呢?如果在信息化技術已經發展到目前的階段水平下,還在使用“靜態”構建的方法已經錶現齣設計本身的固守或者對於編程設計知識體係的茫然。設計的過程是創造的過程,實際摺疊的過程纔是設計的根本,而不是摺疊的結果,因此在計算機中使用編程的方法直接開始摺疊過程的研究而不是摺疊結果的構建。
開始使用Grasshopper+Kangaroo+Python 編寫摺疊的過程,並且研究實際摺疊過程無法達到的更深入形式探索的領域。在實際摺疊過程中並不能精確地控製施加的力,也並不能方便地施加多種形式的力,或者施加具有正弦函數特徵的力,這些在實際摺疊過程中無法實現的使用程序編寫的方法卻可以輕易做到;在實際摺疊過程中精確地捕捉摺疊過程任意時刻也很難做到,但是計算機的模擬可以在任何迭代的時刻停止甚至記錄下每一時刻的形式變化;更加讓設計者頭痛的是實際摺疊的形式結果如何轉變為實際的建造,基於編程的摺疊過程研究本身就是基於數據,因此可以很方便地計算摺疊形式的尺寸、角度,以及在基本形式下各種實際建造的變化,例如作為牆體錶皮的形式、幕牆的形式、建築的空間、地形的變化等等與實際結閤的方法。
摺疊的過程並不是動力學形式研究全部,僅是動力學形式研究的一種,因此Kangaroo所提供的動力學組件並不會全部使用,摺疊的過程也不是某個組件的學習,而是一種設計形式研究的方法探索。設計是一種創造,編程設計也是一種創造,一種改變設計過程的創造。
“紙”在程序中錶現為Mesh 的格網,在研究摺疊的過程構建具有摺痕的“紙”是模擬研究的基礎。構建各種形式的格網大部分程序的組件使用Grasshopper 的Mesh 組件部分,但是很多富於變化的摺痕藉助Python 會更加方便,因此摺疊過程研究中積纍瞭大量使用Python 組織數據的方法,例如組織頂點的排序、組織索引值、樹形數據的模式分組等,這些Python 程序提供瞭構建Mesh 格網的一種方法,可以更加方便和容易地構建具有摺痕的“紙”。
研究本身是一種樂趣,作為設計形式探索的一種方法——摺疊在編程輔助設計研究的基礎上,實現更具有創造性的研究過程。
……
前言/序言
《代碼的幾何美學:為創想注入生命》 在這個信息爆炸、數字化浪潮席捲全球的時代,設計與技術之間的界限日益模糊。曾經是獨立疆域的藝術與科學,如今正以前所未有的深度交融,孕育齣無限的創意可能。然而,對於許多懷揣著卓越設計理念的創意人士而言,將腦海中天馬行空的構想轉化為可執行的數字現實,往往麵臨著一道無形的屏障——編程的隔閡。這並非源於能力的不足,而是信息獲取的碎片化、學習路徑的非係統化,以及對編程本質理解的偏差。 《代碼的幾何美學:為創想注入生命》正是為此而生。它並非一本枯燥的編程語言教程,也不是晦澀難懂的技術手冊。相反,它是一次關於“如何讓你的設計思想在數字世界中自由呼吸”的深度探索,是一場連接藝術直覺與邏輯構建的橋梁工程。本書旨在為設計師、藝術傢、建築師、産品經理,以及所有渴望將創意以全新媒介呈現的思考者,構建一個清晰、係統且富有啓發性的知識框架。 我們深知,許多設計師的思維模式是視覺化的、模式化的、關聯性的,而非綫性的、邏輯性的。他們習慣於在二維或三維空間中構建關係,在色彩、形態、比例中尋找和諧。而傳統的編程教育,往往側重於算法、數據結構、語法規則等“底層”邏輯,這對於非技術背景的學習者來說,門檻較高,容易導緻“望而卻步”的睏境。 本書的核心理念在於“設計思維驅動的編程學習”。我們將編程視為一種強大的創作工具,一種將抽象概念具象化、將靜態形態動態化的語言。我們不追求成為一名技藝精湛的程序員,而是緻力於成為一名能夠理解代碼的“語言”,能夠運用代碼“雕塑”創意,能夠讓設計“活起來”的“數字創想傢”。 核心內容前瞻: 本書將從以下幾個維度,深入淺齣地引導讀者進入代碼的創造性世界: 第一篇:重塑認知——代碼的本質與設計的共鳴 告彆“機器語言”的誤解: 破除對編程“冰冷、復雜、隻有極客纔能掌握”的刻闆印象。我們將從設計的角度,審視代碼的結構、邏輯和錶達力,將其視為一種嚴謹而富有錶現力的“數字語匯”。 設計的“可編程性”: 探討設計的哪些方麵可以被轉化為代碼邏輯。例如,參數化設計中的規則、交互動效的邏輯流程、視覺元素的生成與變換等。我們將展示如何將設計中的“參數”、“約束”、“規則”、“狀態”等概念,映射到編程中的變量、函數、條件語句、循環等。 從“做什麼”到“怎麼做”的思維轉變: 引導讀者理解,編程並非直接“畫圖”,而是定義“如何生成圖”、“如何響應交互”、“如何演變形態”的過程。這種思維的轉變,是實現動態、交互、智能設計的關鍵。 曆史的迴響與未來的展望: 簡要迴顧設計與技術融閤的曆史脈絡,從早期計算機輔助設計(CAD)到如今的生成式設計、算法藝術,勾勒齣代碼在設計領域日益增長的重要性。 第二篇:搭建基石——可視化編程與邏輯構建 可視化編程的魅力: 鑒於設計師的視覺化思維習慣,本書將優先介紹和運用可視化編程工具(例如,Processing, TouchDesigner, Node-RED等)。這些工具通過圖形化的節點連接,直觀地展現代碼邏輯,大大降低瞭入門門檻,讓學習者能快速感受到“指令”轉化為“結果”的即時反饋。 “連接”即“邏輯”: 學習如何通過連接不同的節點或模塊,來構建復雜的程序邏輯。我們將從最基礎的“觸發”、“響應”、“數據流”、“條件判斷”入手,逐步引導讀者理解如何控製圖形的生成、色彩的變化、元素的運動等。 “參數”的魔力: 深入理解參數化設計在代碼世界中的實現。學習如何定義變量,如何通過調整參數來控製設計的形態、尺寸、顔色、透明度等,從而實現設計探索的效率最大化。 “狀態”與“交互”的初步探索: 引入“狀態”的概念,學習如何讓程序在不同的狀態下呈現不同的視覺效果或行為。例如,鼠標懸停時的顔色變化,點擊按鈕時的元素齣現或消失等,為後續的交互設計奠定基礎。 第三篇:精雕細琢——代碼的錶達力與設計美學 從“結果”到“過程”的思考: 即使使用可視化工具,我們也將鼓勵讀者去理解其背後的“代碼邏輯”,而非僅僅停留在“連接”層麵。我們將講解不同節點或模塊的功能,以及它們如何組閤實現特定的視覺效果或交互行為。 “生成”的力量——算法美學: 探索如何利用簡單的算法規則,生成復雜而富有變化的視覺模式。例如,基於噪聲函數(Perlin Noise)的自然紋理生成,基於細胞自動機(Cellular Automata)的有機形態生長,基於群集行為(Flocking)的模擬動態。 “時間”的維度——動畫與動效: 學習如何利用代碼控製時間,實現流暢的動畫效果。從簡單的位移動畫,到復雜的緩動麯綫(Easing Curves)應用,再到基於物理模擬的動態效果,讓設計在時間維度上煥發生機。 “數據”的賦能——數據可視化與設計: 探索如何將數據轉化為富有錶現力的視覺形式。學習使用代碼讀取和處理數據,並將其轉化為圖形、圖錶、甚至是抽象的藝術裝置。讓數據不再是枯燥的數字,而是充滿故事的視覺語言。 第四篇:跨越邊界——從概念到實現 基礎編程語言的橋梁: 在建立起對編程邏輯的直觀理解後,本書將適時地引入一些流行的、對設計友好的基礎編程語言(例如,Python, JavaScript)的入門概念。我們將著重講解這些語言如何實現可視化編程中的邏輯,以及它們在設計領域的實際應用(如,Web前端交互,創意編碼平颱)。 設計工具的“編程化”: 探討如何利用代碼與現有的設計軟件(如,Adobe After Effects的錶達式,Blender的Python腳本)結閤,擴展設計的可能性。 項目實踐與案例解析: 通過一係列精心設計的項目案例,引導讀者將所學知識融會貫通,解決實際的設計問題。這些案例將涵蓋交互界麵、動態海報、數據可視化藝術、參數化建模等多個領域。 持續學習的路徑圖: 提供清晰的學習路綫建議,幫助讀者在掌握本書內容後,能夠繼續深入探索更高級的主題,並找到適閤自己的發展方嚮。 本書的獨特價值: 非技術背景友好: 專為設計師思維量身定製,用設計語言解釋編程概念。 係統性知識框架: 從認知重塑到實踐應用,層層遞進,構建完整的知識體係。 強調“創造力”: 將編程視為一種賦能設計的工具,激發無限的創意潛能。 實踐導嚮: 大量案例和項目驅動,幫助讀者學以緻用。 前瞻性視野: 關注設計與技術融閤的前沿趨勢,為未來設計發展提供指引。 《代碼的幾何美學:為創想注入生命》不僅僅是一本書,更是一次邀請,邀請您一同踏上這段充滿驚喜的創作之旅。我們相信,當設計的直覺與代碼的嚴謹碰撞,當創意的火花在邏輯的基石上點燃,定能綻放齣前所未有的絢麗之光。準備好,用代碼為你的每一個絕妙構想,注入生命,讓它們在數字世界中,以最美的姿態自由綻放。