背景
最近遇到一个有趣的问题,如何在CityEgnine中判断有接触或相交关系的模型,从而自动进行建模?
这个问题有点抽象,我们来看个实例,了解下问题的背景:
以往绝大多数情况下,我们拿到的2D建筑物底面(FootPrint)都是一个建筑对应一个面,也就是这样的:
实际生活中的的建筑物可能是更复杂的,例如商场、大型会议中心、复杂居民楼等参差不齐的多栋联合建筑,我们可以采集多个底面来表示建筑物,例如这样:
使用多个底面表示一栋复杂建筑物的做法可以很大程度上简化建模的工作,因此无可厚非。 但是问题来了,因为是彼此独立的Footprint,建模时若不加判断,就会出现如下图所示的情况,好像“空中地下室”。这样的房子既不美观也不实际。
解决方法
CityEngine的真正魅力在于“动态”建模,这是CE的创作者一直想要传播的理念。 CityEgnine提供很多内置函数解决这些问题,其中有一组为: