正在加载图片...
图8-6:点、线、多边形的缓冲区 另外还有一些特殊形态的缓冲区,如点对象有三角形,矩形和圈形等,对于线对象有双 侧对称,双侧不对称或单侧缓冲区,对于面对象有内侧和外侧缓冲区。这些适合不同应用要 求的缓冲区,尽管形态特殊,但基本原理是一致的。 缓冲区计算的基本问题是双线问题。双线问题有很多另外的名称,如图形加粗,加宽线, 中心线扩张等,它们指的都是相同的操作。 1)角分线法 双线问题最简单的方法是角分线法(简单平行线法)。算法是在轴线首尾点处,作轴线 的垂线并按缓冲区半径R截出左右边线的起止点;在轴线的其它转折点上,用与该线所关 联的前后两邻边距轴线的距离为R的两平行线的交点来生成缓冲区对应顶点。如图8-7所示。 图8-7:角平分线法 角分线法的缺点是难以最大限度保证双线的等宽性,尤其是在凸侧角点在进一步变锐 时,将远离轴线顶点。根据上图,远离情况可由下式表示 d=R/sin(B/2) 当缓冲区半径不变时,d随张角B的减小而增大,结果在尖角处双线之间的宽度遭到破坏 因此,为克服角分线法的缺点,要有相应的补充判别方案,用于校正所出现的异常情况 但由于异常情况不胜枚举,导致校正措施繁杂。 2)凸角圆弧法 在轴线首尾点处,作轴线的垂线并按双线和缓冲区半径截出左右边线起止点:在轴线其图 8-6:点、线、多边形的缓冲区 另外还有一些特殊形态的缓冲区,如点对象有三角形,矩形和圈形等,对于线对象有双 侧对称,双侧不对称或单侧缓冲区,对于面对象有内侧和外侧缓冲区。这些适合不同应用要 求的缓冲区,尽管形态特殊,但基本原理是一致的。 缓冲区计算的基本问题是双线问题。双线问题有很多另外的名称,如图形加粗,加宽线, 中心线扩张等,它们指的都是相同的操作。 1)角分线法 双线问题最简单的方法是角分线法(简单平行线法)。算法是在轴线首尾点处,作轴线 的垂线并按缓冲区半径 R 截出左右边线的起止点;在轴线的其它转折点上,用与该线所关 联的前后两邻边距轴线的距离为R的两平行线的交点来生成缓冲区对应顶点。如图8-7所示。 图 8-7:角平分线法 角分线法的缺点是难以最大限度保证双线的等宽性,尤其是在凸侧角点在进一步变锐 时,将远离轴线顶点。根据上图,远离情况可由下式表示: d = R sin(B 2) 当缓冲区半径不变时,d 随张角 B 的减小而增大,结果在尖角处双线之间的宽度遭到破坏。 因此,为克服角分线法的缺点,要有相应的补充判别方案,用于校正所出现的异常情况。 但由于异常情况不胜枚举,导致校正措施繁杂。 2)凸角圆弧法 在轴线首尾点处,作轴线的垂线并按双线和缓冲区半径截出左右边线起止点;在轴线其
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有