对于每个多边形顶点,计算外部角平分线向量,即两个相邻边的归一化法向量na和nb之和,然后将其归一化。
bis = na + nb
bis = bis / Length(bis)
然后找到所需的角平分线长度,以提供偏移距离,如下所示:
l = d / Sqrt((1 + dotproduct(na,nb))/2)
(源自l=d/cos(fi/2)
和半角余弦公式)
获取偏移多边形顶点(对于内部偏移使用负数!):
P' = P + l * bis
增加了:这里添加Python实现代码
dx,dy
(左),法向量为-dy,dx
。 - MBoin_edge_dir x N
和N x out_edge_dir
,但肯定需要更多的计算。 - MBo