《學習PYTHON—做個有編程能力的設計師》不是純粹的Python編程學習,而是在學習基本Python編程語言時闡述輔助設計的方法,從Python Shell到RH_Python再到GH_Python,將Python真正作為設計者從事設計輔助的編程語言;同時這又不是純粹幾何形式編程的說明,而是包括Python編程數(shù)據(jù)結構、基本語句、函數(shù)與類的學習過程。在掌握Python語言的數(shù)據(jù)結構、基本語句、函數(shù)、類與異常,并通過具體案例闡述深入了解實踐應用的方法之后,在“項目”部分探索與詳細闡述了十個案例,包括:“折疊的過程- 圓柱體V 形與Mesh 頂點排序”,結合Kangaroo動力學模塊模擬折疊的過程,使用Python編寫符合建立Mesh格網輸入條件的點組織模式;“盒體的展開”,講述了如何把一個盒體連續(xù)展開在一個平面上,并獲取多個解的方法;“解讀蟻群算法與TSP 問題以及在GH_Python 中的實現(xiàn)”,蟻群算法是一種用來在圖中尋找優(yōu)化路徑的機率型算法,靈感來源于螞蟻在尋找食物過程中發(fā)現(xiàn)路徑的行為。本部分詳細闡述蟻群算法并探索將其在Grasshopper平臺中的Python腳本中實現(xiàn)和解決TSP旅行商問題;“最短路徑與Dijkstra 算法”,最短路徑問題是圖論研究中經典算法問題,旨在尋找圖中兩節(jié)點之間最短的路徑,本部分使用Dijkstra 算法在GH_Python中實現(xiàn);“探索性研究適宜分析方法GH_Python 下的實現(xiàn)”,適宜性分析的方法一般是在地理信息系統(tǒng)平臺中實現(xiàn),例如ArcGIS。適宜性分析在城鄉(xiāng)規(guī)劃和風景園林中經常被用到,根據(jù)應用的范疇又可以細分為城市建設用地的評價、環(huán)境影響評價、自然保護區(qū)及旅游區(qū)用地評價、區(qū)域規(guī)劃和景觀規(guī)劃等。本次項目主要的研究目的是如何將適宜性分析在GH_Python 中實現(xiàn);“使用遞歸解決八皇后問題與滿足特定間距要求的建筑布局”, 八皇后問題是一個以國際象棋為背景的問題:如何能夠在8×8 的國際象棋棋盤上放置八個皇后,使得任何一個皇后都無法直接吃掉其他的皇后。為了達到此目的,任兩個皇后都不能處于同一條橫行、縱行或斜線上;“解讀生命游戲_ 元胞自動機與建立生長模型”, 元胞自動機(Cellular Automaton),是一個時間和空間都離散的動力系統(tǒng)。散布在規(guī)則格網(Lattice Grid) 中的每一元胞(Cell) 取有限的離散狀態(tài),遵循同樣的作用規(guī)則,依據(jù)確定的局部規(guī)則做同步更新。大量元胞通過簡單的相互作用而構成動態(tài)系統(tǒng)的演化;“GoogleEarth.KML 文件的調入程序”,規(guī)劃設計過程中經常借助于GoogleEarth來尋找和定位地標和路徑,那么如何將地標和路徑直接加載到Gasshopper平臺中,是本部分需要解決的問題;“解讀粒子群(PSO) 算法與建立點運動程序”,粒子群算法,也稱粒子群優(yōu)化算法(ParticleSwarm Optimization),縮寫為PSO,模擬鳥群的捕食行為,通過追隨當前搜索到的最優(yōu)值來尋找全局最優(yōu)解;“城市土地利用結構信息熵”,在信息論中,熵是接收的每條消息中包含信息的平均量,又被稱為信息熵、信源熵等。消息往往代表來自分布或數(shù)據(jù)流中的事件、樣本或特征。在規(guī)劃設計領域引入信息熵,研究土地利用結構,分析功能的融合程度,信息熵的高低可以反映城市土地利用的均衡程度,熵值越高,表明不同職能的土地利用類型數(shù)越多。本部分案例主要通過Python 程序,闡述信息熵和均衡度公式計算過程。