NCF参数化建筑论坛

标题: 试玩 Noah. _ 路网部分 [打印本页]

作者: EndWhite    时间: 2019-10-8 17:56
标题: 试玩 Noah. _ 路网部分
本帖最后由 EndWhite 于 2019-10-8 21:34 编辑

PS |
以下是一位建筑学专业在读学生闲来无事在玩耍 Noah. 路网部分时的一些有趣内容分享 如有误还望指正



首先来看STEP 1 数据录入,
在这一步是在对输入的场地红线作预处理,根据相应的要求做退线的操作。里面包含的内容主要解决了两个问题,一是CAD导入红线会存在碎线或断线的情况,主要在这个包里进行了优化和解决
[attach]52093[/attach]

值得一提的是在这个包内,有一个新编的Flip Crv的Cluster
[attach]52094[/attach]

它主要应用的是在GH里建立的圆的方向默认是逆时针方向这个潜在的buff对曲线们进行方向的统一修正,虽然在逻辑中跳过它不进行方向修正似乎也没什么问题,但这个思路还是挺有意思的,比如可以应用到对绘制的曲线统一方向上,毕竟有时候画图不太会注重这一点,统一方向之后进行一些取点连线的操作会更能掌控在设想之中


二是梳理了红线的数据结构,也就是在这个 新编的 Simplify 中,它满足了对单组数据或多组数据都能进行简化的操作,本质上就是让原来的Simplify学会判断,分流处理单组数据的Flatten以及多组数据的Simplify
[attach]52095[/attach]

大家应该都碰到过下图这样Simplify无能为力的情况,单组数据对它来说就是“左耳进右耳出”,因为它缺乏一个对比,所以它不知道怎么去砍掉树的级数,(大概它面对单组数据的内心是囧 这样的吧)而这个升级的Simplify就是在解决这个问题
[attach]52096[/attach]

另外STEP 1 里还出现了一个设置默认值的逻辑,我感觉它老好玩了
[attach]52097[/attach]
[attach]52098[/attach]
现在图中的逻辑并没有输入数值I,所以它就给输出了D

[attach]52099[/attach]
那当我们给I输入了数据,它就输出了I的内容

它大概的逻辑就是,I 端有输入值时 Null Item 输出端的NFalse,再通过 List Item 选取第一个布尔判断(因为在输入一个数据列表的时候就会有多个判断值 但我们只需要判断有无数据输入 故提取其中一个即可)给 Stream Filter Gate 进行选择,因为此时的 i 输出的是 False 也就是 0 于是 Stream 这个运算器就会放行0输入端的数据,由S() 输出端输出(S()的括号内会显示它放行了哪条数据),也就是使用了给定的值,反之,在图中的情况 I 并无输入,则根据相同流程 S()输出的就是给了 Stream 1 端的默认输入值
这个设置默认数值的包在一些不必要数据前增设就减少了过多变量的问题,也可以避免由于数据的缺失出现没办法继续计算的情况,因为还有备用的数据流在候命


然后到STEP2 路网生成

这里可以说是路网开源部分的灵魂了,同样也是最具有潜力去玩的部分,这部分主要可以从增加分割方式和优化切割结果的方向入手玩耍

首先
[attach]52100[/attach]
也许你会觉得7次的迭代不够,那简单,这里可以加

然后,在这个神奇的小剪刀后面,比如你可以,用一些奇怪的红线去测试它
[attach]52101[/attach]
为什么说这个红线是奇怪的呢
[attach]52102[/attach]
如图,因为它的初始切分会出现要判断红线外的情况以及多条初始割线的数据问题,而比较正常的红线通常如右图,在红线内且只有一条起始割线,那由上上图来看,很显然目前对这个情况的处理是完全没问题的
不过在这个小剪刀里面,在Cross Reference的部分,可能Lower Strict 会更合适?
(理由如下
[attach]52103[/attach]
在初始切割的时候生成的交点经过CRLine这两个运算器发生的运算如图 四个交点分别为P1,P2,P3,P4 经过CR之后进行叉积的运算 如右表格 X1 代表由P1-P1 相连的线段 X2 代表由P1-92相连的线段 以此类推... 而在Lower选项的时候 虚线右上角的Xn都会被忽略不输出 而在Lower Strict选项的时候 实线右上角的Xn则都会被忽略不输出 而两个选项之间的不同就是是否忽略X1,X6,X11,X16 这四个线段都是点与自身形成的连线 那应该是可以去掉的 所以Lower Strict也是可行

当然,也可以将原来根据长边开始切分的逻辑更改或自定义成短边(这个尝试看起来就不是很适合)又或者在原来的红线形状定义随机经过形心的线开始切割,或者割线换作弧线?但应该类似圆弧类的比较容易实现,可以向支道的方向发展,也可能做树枝状的?(现立着这些flag好了)等,这就是八仙过海的时候了,具体尝试做了再更叭…

越过小剪刀之后的逻辑就比较简单了,就是在对切割的线和其数据结构做处理


那接下来就到STEP 3 地块划分
在这部分看到了一个比较少接触的运算器
[attach]52104[/attach]

于是就对它动手动脚了

它其实是在做区域范围内的再划分,原意是指一个纹理,参数调对的话可能我想应该会出现类似蛛网的效果,言归正传,按照默认正常的划分获得的地块是比较正常和实用的,玩耍的结果大多无法应用,但也可以尝试一下其他参数,说不定就…
[attach]52105[/attach]
正常的划分
[attach]52092[/attach]
玩耍的划分

不过有一个要解释的是,目前的正交划分应该也是,前面这个包的目的,这个包是将范围矩形化并重新按形状定义了独立的XY坐标平面,所以后面接一个正交的划分也是情理之中
[attach]52106[/attach]

但这部分似乎有点小BUG,在开启环路的时候结果都比较正常,但不选择环路的时候,道路就会“出头”
[attach]52107[/attach]

有时建筑还会建到路上了
[attach]52108[/attach]

PS | 另外在这一部分作为学生有一个特别执着的问题,就是特别想筛走锐角,锐角,锐角的建筑用地们(不要问为什么,问就是血与泪的教训),有时间的话得把它加进去

总的来说第三部分的话可以挖掘的地方主要就是用地里的再分割这个内容


最后是STEP 4 自动建筑

这里的话就是判断判断判断,分类分类分类,盖楼盖楼盖楼的操作,实在说要玩得下手的话,那就是自己再做一些不同的用地判断依据,不同类型的盖楼方式,这个由于实际工程经验为零暂时就没有什么想法了

哦对,这里还有很重要的一个点,就是这个反判断对生成的层数根据实际容积率作调整
[attach]52109[/attach]

根据技术指标(会根据层线围合面积然后算容积率)再删掉多余的楼层
比如说原来不考虑钱去盖的话大概会这样
[attach]52110[/attach]
考虑好经济条件之后,就变成这样了,这是智能不止一点点
[attach]52111[/attach]

好了,目前的试玩就到此告一段落,原来还码了一篇详细的分析,为了告慰得辛苦运行的电脑就附上分享链接叭 https://mubu.com/doc/s_MtUV5vi0

但写完也觉得这简直是把Noah 给拆了,变得没有意思,还是这样写比较有趣。如果之后能把上述的flag拔了的话,会更新到相应位置下面,应该会是很好玩的一些尝试

以上

作者: Supers227    时间: 2019-10-8 21:37
哈哈哈哈哈~试玩的非常深刻啊
作者: skywoolf    时间: 2019-10-9 13:14
感谢测评,哈哈,研究地很细致!




欢迎光临 NCF参数化建筑论坛 (http://bbs.ncf-china.com/) Powered by Discuz! X3.2