首页 科普 资讯 养生 问答 找医院 相关问答
首页> 问答

GH学习研究记录(一)

发布网友 发布时间:2024-10-24 12:51

我来回答

1个回答

热心网友 时间:2024-11-09 10:07

grasshopper的学习历程已有数年,虽然不敢自称精通,但已能将之应用于实际。疫情期间,我有更多时间去思考那些平时忽略的问题,如沉寂在命令栏中的电池、插件,以及看似了解却不一定真正理解的内容。

最近,我开始写研究记录,原因在于最近做的一个项目。几天前,队友发给我一个动图,展示了根据道路中心线生成block,再在其中进行分割,简单布置建筑体量的过程。这个逻辑并不复杂。

在编写这个电池组的过程中,我发现了几个有趣的地方。

1.关于树形数据结构的理解

树形数据是grasshopper中的核心内容,简单易懂,但应用变化多端,不同层级间的数据杂糅在一起,筛选和处理耗时费力。

提取每个block边线的中点,最左面和最右面的连线形成横向分割线。但当多个block同时输入时,这实际上就是一个multiline data的input,多个block(surface)拆分成edges时,就会出现树形数据。这16个blocks会产生{15;3}共64个lines,取中点时,divide成3个点,就是{15;3;2}252个points。提取出中点(64个)再进行排序寻找X坐标最小点时,无法保证找到的是那个block4个点中的最小点(需要的是局部最低,全局不一定是),然而这个时候64个点虽然还是在{15;3}目录下,但与flatten并没有太大差别。

为了达到局部排序的目的,我选择了重新分组(partition list),将252个points每4个一组,但如果输入block不是四边形,这里就会出bug(但真实的道路网络不可能都是四边形),所以这里的处理还是不够严谨。

——————————————————————————————————————

在写这篇文章时,我突然想起了Trim tree的命令,其实可以完美解决重新分组的问题。这里解释一下这个电池:将下一层级的数据合并至上一级,应用在这个例子中,即每个block的若干个点(不一定12个)都会归在一组,最后一定是16组。

这里附加一个trim tree与shift paths区别的帖子

2.不稳定的offset curve

我周围的grasshopper用户也都有过这个问题,gh中的offset curve 方向总是正或负,造成“里出外进”的结果。

为了解决这个问题,我思考了很久,最终使用双向offset curve使每个block无论正负都能统一结果。这里同样用到了树形数据结构,即{15;1}offset curve的长度排序,巧妙解决了offset不稳定的问题。

3. 关于GH中实现模块化

在刚开始接触grasshopper时,如何通过gh实现模块化这个问题让我头疼不已。在百度等中文搜索引擎上也找不到相关的教学,甚至一度怀疑自己是否理解错了“模块化”这三个字。

所谓模块化,广义上讲就是可以把固定的几种模式(pattern)或模块(module)应用在某几种有对应属性的位置。比如建造上的模块化,固定几种尺寸的构件,材料生产和建造上都会大幅提高效率。在设计上,或许模块化没有固定尺寸完全相同这样的严格要求,但相似的生成逻辑生成的空间、布局可以更有秩序地推敲和研究方案(也就是所说的类型学研究的应用)。

可以说,模块化是参数化的一种基础应用。

拿我这次做的例子来说,将生成的地块分类(比较深入的才能叫类型学研究),这里是按照每个地块的面积大小来分的【按个人方案的需求来】,面积大的选择了围合式,小一些的选择半开放,再小的就空出来当绿地(这里的逻辑可能不准确,权当举例子)。

这样我们就提出了三种模块,那么如何在GH中操作呢?我提出两种方向,可能适用于不同的情况。

(1)dispatch分模块

简单说就是,46个blocks面积塞进dispatch,大于A的,拿出来做成围合式;剩下的再进dispatch,大于B的拿出来做半开放式……

(2)find domain分模块

46个blocks面积范围是从24到60,那在这个【24,60】区间里分3份,然后再根据面积大小把46个blocks从分出的三个区间里【24,36)、【36,48)、【48,60】找出来,再分别处理模块。

在做find domain分模块时,发现了一个问题。

①从find domain的index中提取出的“1”可以被member index识别

②输入在panel中的“1”无法被member index识别

③调整数据结构后,即使和find domain的index提取出的一样仍然无法识别

④测试数据类型,发现只有int(整数)可以被member index识别,与数据结构无关。

最后发几个随便改了改线生成的结果:

以及最后的电池组(自己动手丰衣足食)
山东沃尔德集团集团所辖公司介绍 齐鲁银行无忧贷和市民贷哪个好 什么叫补按揭 后按揭贷款什么意思 买房者续按揭有什么危害 加按揭是什么意思 八月中国最凉快的地方 八月份哪里最凉快,去哪旅游好?美丽的地方 乱字同韵字是什么意思 华硕笔记本电脑触摸板怎么开笔记本电脑触摸板怎么开启和关闭_百度知 ... 陕西职务侵占案立案准则 结婚后我的恋情维系了十年,怎么做到的? 玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 年终会活动策划方案 深度解析:第一财经回放,探索财经新风向 逆水寒手游庄园怎么邀请好友同住 逆水寒手游 逆水寒不同区可以一起组队吗? 逆水寒手游 逆水寒怎么进入好友世界? 逆水寒手游 逆水寒怎么去别人的庄园? 使用puppeteer实现将htmll转成pdf 内卷时代下的前端技术-使用JavaScript在浏览器中生成PDF文档 【译】将HTML转为PDF的几种实现方案 变形金刚08动画怎么样 变形金刚08动画的问题 变形金刚08动画日语版剧情介绍 高分!换显卡nvidia控制面板被我卸了,重新安装显卡驱动后没了nvidia控... 我的nvidia控制面板被卸载了 怎么找回啊 卸载后 这个画面看着很奇怪_百 ... 李卓彬工作简历 林少明工作简历 广东工业职业技术学院怎么样 郑德涛任职简历 唐新桂个人简历 土地入股的定义 ups快递客服电话24小时 贷款记录在征信保留几年? 安徽徽商城有限公司公司简介 安徽省徽商集团新能源股份有限公司基本情况 安徽省徽商集团有限公司经营理念 2019哈尔滨煤气费怎么有税? 快手删除的作品如何恢复 体育理念体育理念 有关体育的格言和理念 什么是体育理念 万里挑一算彩礼还是见面礼 绿萝扦插多少天后发芽 绿萝扦插多久发芽 扦插绿萝多久发芽 四十不惑最好的解释怎么理解四十不惑的意思 ...的那个玩游戏太不给力了,想换个七彩虹630雷暴鲨D51024M 我想问一下高中生物竞赛的生理学部分用哪本书比较好,我觉得左明雪的 高中生物考试总分是多少分? 故意毁坏财物的意思是什么 ...配这个显卡能玩大型游戏吗? 七彩虹显卡七彩虹GT630黄金版D51024M 女人梦见参加婚礼是吉兆 高中生物的重点是什么,牛人进 tvs管的替代型号有哪些? 女人下腹疼痛的几大原因 梦见和恋人以外的其他人做 天下美女不认我,井字下面两只脚,士兵头上一个人,十字架上六字不出头... 做一圈石膏线多少钱一米 老实人适合做什么职业,做生意应该不可能, 梦见对老公朋友的朋友有好感,而且不认识,也没听老公说过,是什么情况... 梦见能见和自己老公外结婚的预兆 TVS管是什么封装? 苹果6sPlus怎么导入音乐如何导入 我的欧米茄手表8位序列号后面为什么还有个-068,具体是,80473638... ...以前玩游戏的日子,不知道现在游戏环境怎么样了? 实验室里将甲酸和浓硫酸混合加热进行反应,该反应中甲酸脱水会转变成什... 高中生物选修一和选修三高考比重一样吗? 新浪邮箱如果被注销,会员号还在不在? ...给中国移动用户打电话是怎么收费的!!!手机上网还另外收费吗!!!_百... ...打电话不算多上网比较多。请各位大哥大姐推荐个套餐 小学奥数题目:规定运算,A*B=A-B+... 腰痛宁和腰痹通哪个好?舒筋健腰丸和腰痛宁哪个效果好?婆婆腰椎管... ...在国外一个卡是外卡,一个是开通国际漫游的电信卡会产生流量吗... ...强的腐蚀性。利用浓硫酸的脱水性,将甲酸和浓硫酸混合加 ...TMD太不要脸了,关机。停机的情况下还给我扣了一百多的上网流量。 曹丕真的 通迫曹植写过《七步诗》这样的诗吗? ...小弟今年大一,收到被录取的省外学校里寄来的sim卡。我在家乡可以马上... 挪用公款200万能判几年 iPhone4在约旦上网的问题(APN),跪求! 阿昌怎么造句 重量的近义词和反义词是什么_重量是什么意思? 脸上皮肤干燥怎么护理? 我是宁夏银川我以前有单位倒闭,50岁能退休吗? OMEGA De ville系列80473638编号的老款手表在什么地方可以查到! 各位大哥我想问一下手机打电话的时候双方都听到对方讲话断断续续是否是...
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com