《学习PYTHON—做个有编程能力的设计师》不是纯粹的Python编程学习,而是在学习基本Python编程语言时阐述辅助设计的方法,从Python Shell到RH_Python再到GH_Python,将Python真正作为设计者从事设计辅助的编程语言;同时,这又不是纯粹几何形式编程的说明,而是包括Python编程数据结构、基本语句、函数与类的学习过程。
在掌握Python语言的数据结构、基本语句、函数、类与异常,并通过具体案例阐述深入了解实践应用的方法之后,在“项目”部分探索与详细阐述了十个案例,包括:
“折叠的过程- 圆柱体V 形与Mesh 顶点排序”,结合Kangaroo动力学模块模拟折叠的过程,使用Python编写符合建立Mesh格网输入条件的点组织模式;
“盒体的展开”,讲述了如何把一个盒体连续展开在一个平面上,并获取多个解的方法;
“解读蚁群算法与TSP 问题以及在GH_Python 中的实现”,蚁群算法是一种用来在图中寻找优化路径的机率型算法,灵感来源于蚂蚁在寻找食物过程中发现路径的行为。本部分详细阐述蚁群算法并探索将其在Grasshopper平台中的Python脚本中实现和解决TSP旅行商问题;
“最短路径与Dijkstra 算法”,最短路径问题是图论研究中经典算法问题,旨在寻找图中两节点之间最短的路径,本部分使用Dijkstra 算法在GH Python中实现;
“探索性研究适宜分析方法GH_Python 下的实现”,适宜性分析的方法一般是在地理信息系统平台中实现,例如ArcGIS。适宜性分析在城乡规划和风景园林中经常被用到,根据应用的范畴又可以细分为城市建设用地的评价、环境影响评价、自然保护区及旅游区用地评价、区域规划和景观规划等。本次项目主要的研究目的是如何将适宜性分析在GH_Python 中实现;
“使用递归解决八皇后问题与满足特定间距要求的建筑布局”, 八皇后问题是一个以国际象棋为背景的问题:如何能够在8×8 的国际象棋棋盘上放置八个皇后,使得任何一个皇后都无法直接吃掉其他的皇后。为了达到此目的,任两个皇后都不能处于同一条横行、纵行或斜线上;
“解读生命游戏_ 元胞自动机与建立生长模型”, 元胞自动机(Cellular Automaton),是一个时间和空间都离散的动力系统。散布在规则格网(Lattice Grid) 中的每一元胞(Cell) 取有限的离散状态,遵循同样的作用规则,依据确定的局部规则做同步更新。大量元胞通过简单的相互作用而构成动态系统的演化;
“GoogleEarth.KML 文件的调入程序”,规划设计过程中经常借助于Google Earth来寻找和定位地标和路径,那么如何将地标和路径直接加载到Gasshopper平台中,是本部分需要解决的问题;
“解读粒子群(PSO) 算法与建立点运动程序”,粒子群算法,也称粒子群优化算法(Particle Swarm Optimization),缩写为PSO,模拟鸟群的捕食行为,通过追随当前搜索到的最优值来寻找全局最优解
“城市土地利用结构信息熵”,在信息论中,熵是接收的每条消息中包含信息的平均量,又被称为信息熵、信源熵等。消息往往代表来自分布或数据流中的事件、样本或特征。在规划设计领域引入信息熵,研究土地利用结构,分析功能的融合程度,信息熵的高低可以反映城市土地利用的均衡程度,熵值越高,表明不同职能的土地利用类型数越多。本部分案例主要通过Python 程序,阐述信息熵和均衡度公式计算过程。
9 Python+PythonScript+GhPython
17 数据结构
18 1 列表(List)
19 1.1 索引
25 1.2 列表的基本操作
32 1.3 列表的方法
43 2 元组(Tuple)
43 3 字典(Dictionary)
44 3.1 Python 的字典与Grasshopper 的树型数据结构
48 3.2 Python 字典的方法
50 3.3 GhPython 与树型数据结构
66 4 字符串(String)
66 4.1 用Python 替代Grasshopper 处理字符串的方法
72 4.2 字符串格式化
84 4.3 re(regular expression) 正则表达式
95 基本语句
96 1 print() 与import
96 1.1 print()
97 1.2 使用import 导入模块或者函数
97 2 赋值的方法
98 3 循环语句
105 4 条件语句
117 函数
118 1 创建函数
136 2 随机模块
141 3 递归
155 4 时间模块
163 类
165 1 创建类
169 2 迭代器
172 3 生成器
177 异常
181 项目
183 Case_1: 折叠的过程- 圆柱体V 形与Mesh 顶点排序
191 Case_2: 盒体的展开
199 Case_3: 解读蚁群算法与TSP 问题以及在GH_Python 中的实现
211 Case_4: 最短路径与Dijkstra 算法
221 Case_5: 探索性研究适宜分析方法GH_Python 下的实现
251 Case_6: 使用递归解决八皇后问题与满足特定间距要求的建筑布局
257 Case_7: 解读生命游戏_ 元胞自动机与建立生长模型
265 Case_8:GoogleEarth.KML 文件的调入程序
276 Case_9: 解读粒子群(PSO) 算法与建立点运动程序
283 Case_10: 城市土地利用结构信息熵
AutoCAD实用教程-(第3版)-(2010中文版) 本书特色 本教程主要包括实用教程和上机操作指导两部分。另外,每章的习题有助于弄清基本概念,*后还有模拟试...
《人气编辑眼中的百种好书》内容简介:由上海市新闻出版局、上海市编辑学会共同主办的“书香上海·沪上优秀青年编辑新春荐书”活动
劳伦斯·莱斯格的著作《代码》问世便震动了学界和业界,被人称为“也许是迄今为止互联网领域最重要的书籍”,也被一些学者称为“
《合伙人制度》内容简介:在这个“大众创业,万众创新”的时代,合伙人制度的优势得到了充分的凸显:可以避免传统的职业经理人制带
《文化翻译与经典阐释(增订本)》内容简介:本书是作者的一部专题研究文集,分为上中下三编:上编“翻译的文化学反思”,首次在中
《直觉泵和其他思考工具》内容简介:哲学泰斗倾囊传授77招思维搏击术,助你清醒思考,看破一切套路!陈嘉映、汪丁丁、万维钢诚意推
网络工程原理与实践教程(高等学校计算机) 内容简介 本书第1~8章介绍网络工程设计的相关知识。内容主要包括:网络工程基础知识,网络设计需求分析,网络逻辑设计,备...
《吕思勉修身课》内容简介:*民国畅销至今,修身入门读物,国人必读经典。*著名历史学家钱穆、严耕望、黄永年等亲身经历的大师课堂
MATLAB车辆工程应用实战 本书特色本书全面系统地讲解了matlab控制仿真在车辆工程中的应用。书中结合理论和求解对象,解决复杂的工程问题,为实际工程所用,并...
在线阅读本书BookDescriptionInthisrevolutionarybestseller,HarvardprofessorClaytonM.Chri...
各位,下一個最好的投資機會,不在於股票、債券或房地產,而是原物料,也就是我們日常生活基本所需的大宗物資。聰明的投資人已經
这本书以街道的视觉秩序的创造作为建筑平面布局形成设计的出发点,分别从街道的自然特征,美学规律,人文特色出发由浅至深论述如
《图解茶经:认识中国茶道(全新图解版)》:《茶经》成书于唐代,是世界上第一部茶学专著,距今已有1000多年的历史。它是“茶圣”陆
《极简父母法则:教出快乐、自信、独立的孩子》内容简介:爱默生曾经说过,我们为孩子的美丽和幸福感到极大的欢乐,这欢乐使我们的
新世纪五笔字型输入法-最新汉字输入法 本书特色 《新世纪五笔字型输入法》:由王玛字型发明人王水民教授授权。配有由中国王码公司提供的新世纪输入法正版软件。新世纪五...
统计表明,所有效率低下的组织都有一个共性:员工没有归属感!有归属感的员工有责任心、有归属感的员工执行力强、有归属感的员
《别让性格害了你》内容简介:本书教会你认识并掌握自己的性格,从而扬长避短,充分发挥自己的潜能,有利于高效开展工作、事业、经
《iOS开发进阶》分工具、实践、理论三大部分。第一部分介绍iOS开发的常用工具,第二部分介绍iOS开发中的一些常见的实践经验,第三
《JavaJDK6学习笔记》是作者良葛格本人近几年来学习Java的心得笔记,结构按照作者的学习脉络依次展开,从什么是Java、如何配置Ja
《自私的基因》内容简介:《自私的基因》于1976年首次出版之后便畅销全球,是20世纪百大经典名著之一,是一部不仅在基因领域更在社