使用固定长度边的多边形缓冲/偏移算法

问题描述

我正在尝试实现与此类似的目标

enter image description here

但是,膨胀/收缩的偏移多边形只能具有固定数量的额外长度。为了补偿,可以在范围内设置偏移量,并且保持最小的偏移量。

比如offset范围是5-9个单位,offset会尽量接近5。允许的额外长度为 4、6、8。要实现距原始边 5 个单位的偏移,偏移边必须长 3 个单位,这不在允许范围内。因此该边必须长 4/6/8 个单位或/和进一步偏移。

总而言之,这些是算法中需要的:

1 - 偏移量必须在 min -max 范围内,并尽可能接近最小值。

2 - 偏移多边形边的额外长度只能从一个集合中选择

3 - 原始多边形的形状只有直角。

4 - 运行时不是问题。原始多边形的边数将小于 100

为了形象化,让我们假设您正在建筑物周围建造围栏。您只有具有固定宽度和深度的栅栏“单元”,并且有无限数量的栅栏“单元”来构建栅栏边界线。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)