昨天吃完晚饭后在家又想了半天,没有解决颜色渐变的问题,所以今天一早又开始折腾,发现在《学习之二》这篇文章中走了弯路,所以换了个思路。

这是这一阶段的 Grasshopper 运算器,初步解决了用颜色来反映空间开阔程度的问题。

在文章 Suzhou Space 中,是用点的颜色来表现空间的开放程度,而我在《学习之二》一直都是在和两点间的线段做斗争,其结果至少对目前我所要研究的问题是没有帮助的。所以,现在解决问题关键点在于,什么样的数据才能表现出空间的开放程度。

通过 IsoVist 运算器,可以得到已知点到已知曲线的距离。

这里选择8个正方向的线段来收集数据,比4个正方向的更准确。

之后将8个方向的线段长度总和求出,作为颜色渐变控制的范围值。

通过设置和运算,得到的空间开阔度的结果可以经由渐变的颜色表达出来。

下图共有五种变化,分别是已知点向外发散8、20、50、75、100个点时的颜色变化。对于颜色的现实,外散点越多,颜色的边界越柔和,但是对于计算来说,外散点越多,得到结果的时间相对就越长。

目前这个计算文件还不算完善,因为当点的数量很多,多于由 IsoVist 运算出来的数据时(原因还没有弄明白,这是下一个需要了解和解决的问题),就会报错。

以下是目前这个阶段的 Rhino 文件和 Grasshopper 文件:

SpaceSyntax 20141016.3dm

SpaceSyntax 20141016.gh