Setting Smoothing Threshold Too High
smootingThreshold设置的太高会导致生成的regions畸形,进而导致三角化和轮廓匹配失败。
在生成region的时候如果没有border,平滑的border区域会被生成为一个畸形的region。
但是,我们没有必要设置这个值大于2
Triangulation Failure Due to Vertical Region Overlap
由于在垂直方向上region的重叠导致的三角化失败
有些情况下我们会发现,一个region可以以某一种方式形成这样一个情况:在垂直的轴上面与自己重叠了。
那么在这种情况下三角化会失败。而这个有可能是代码缺陷导致的。
这种情况出现的概率很低
解决办法:增加border足够大以避免出现重叠。
例子:
解决:增加足够宽的边:
Seams Form When Regions Connect at a Vertical Corner
在垂直的角落region连接的时候产生缝隙
If two regions connect at a location with a high change in height, and one of the regions wraps the corner of the other region, a seam can form resulting in malformed mesh connections between the regions.
如果两个region的连接处有很大的高度上的差别,而其中一个region包围这另一个region的一个角,两个region链接的地方可能会产生缝隙,导致畸形的连接。
这个是算法设计的问题。
只有可能出现在简化的几何体,比如一个楼梯没有设计墙,如下图。真实的地图几何体不太可能存在这个情况。
解决方法:增加足够大的border以令regions远离垂直差很大的区域。
下例:
在下坡底部旁边的地方,两个region接触的地方,一个缝隙形成了。
红色region包围着棕色的region并且包围的点有非常大的高度差。
解决:
增加一个border以让region与斜坡分开。