NCF参数化建筑论坛

标题: 《数字冥想》p166不明白的问题 [打印本页]

作者: 清一    时间: 2018-1-26 14:19
标题: 《数字冥想》p166不明白的问题
这个问题主要是关于树形数据的
一个多输入端的运算器,两个输入值的路径分级,路径名不同,但是路径的数量相同
得出的结果与相同路径分级、相同路径名和数量得出的结果是一样的
这是为何?


作者: skywoolf    时间: 2018-1-28 09:07
这个问题很好,从GH0.7之后我也发现了这个现象。
按理想来说,多输入端的运算发展【本应该】是相同路径名之间发生运算,而不同路径名不运算。这个对于逻辑有条理的人来说很容易理解。甚至我们可以把这个规则衍化为{1;0}只能和{1;0;1},{1;0;2}……这些路径发生运算,而永远不能和{0;0},{1;1}这些运算。这样的规则会让树形数据的控制逻辑强大数倍。

但我猜开发者意识到了这种规则的缺点:就是一旦初学者搞不清楚路径名的等级关系,就会导致运算器一直报错,使得简单算法也无法搭建出来。所以在现阶段开发者优先考虑的是【简化】【傻瓜式】,很多的路径名在运算过程中失去了意义,被忽略掉了。如今我们只需要记住的就是第一组数据和第一组数据发生运算,第二组和第二组……不用在匹配路径名,这就是Longest list法则的核心:只记住这一个法则,就可以看懂绝大多数的多输入运算器交互运算。这样即便是新手注意不到{0;1}{1;0}这样的路径差别也可以轻松上手了。
作者: skywoolf    时间: 2018-1-28 09:11
其实我个人对这种【简化】带来的影响略感遗憾。因为路径名的忽视使得GH的运算复杂程度降级了,目前只能实现二级树运算。无法实现三级树,很多更复杂的逻辑算法,在GH里操作变得鸡肋。但是仍然值得肯定的是二级树算法也很复杂。人脑能不能想清楚三级树的数据逻辑这个值得探讨,至少需要长时间的训练才有可能。
作者: 清一    时间: 2018-1-28 16:47
能理解开发者对路径名对应的简化处理,不过也确实降低了一些逻辑性。
因为每次我在进行数据连接时,都会先简化路径名,然后看输入端的名字是否对应,知道心中有数。
但好在还是遵循longeslist的法则,所以读取数据时,会看各输入端的路径数量和序号数量是否是自己需要进行运算的匹配关系,这样在一定程度上能帮自己来理解数据的运算关系
谢谢SKY大的解惑




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