建立缓冲区的算法#

建立缓冲区的实质是做面、线、点状地物的扩展距离图。

1.点缓冲区算法

等距离的点缓冲区是一个圆。

2.线缓冲区和面缓冲区的基本算法

(1)角平分线法

角平分线法建立线缓冲区和面缓冲区的实质是在线的两边按一定距离(称缓冲距)做平行线,

在线的端点画半圆相连。

在求算过程中,当直线相接处(拐点)出现凸角时需要做特殊处理。

如图8-27中,凸角处做平行线将出现过长的尖角,在尖角处出现超过规定缓冲距问题,为此,应除去尖角,

代之以半圆。

图 8.27 角平分线法中尖角#

(2)凸角圆弧法

凸角圆弧法将线的拐点求出凹凸性,凸侧用圆弧弥合法,以防角平分线法中出现尖角;

凹侧用角平分法建立,如图8-28所示。

图 8.28 凸角圆弧法#

3.复杂缓冲区的生成

对复杂曲线、曲面建立缓冲区时,经常会出现缓冲区重叠问题,这时,需要通过对缓冲区边界求交,除去重叠部分,

或通过对缓冲区边界求交,对建立缓冲区所生成的图形进行判断,除去缓冲区内部线,将缓冲区组成连通区。