雨下的那么大 (@soi_yu) 在 求助|SVG 汉字轮廓内自动排孔 中发帖

我在做广告冲孔字的自动孔位排布。输入是一份已经转成轮廓的 SVG,希望算法在文字实体区域内排出多行圆孔,孔位随笔画弯曲,窄处能从多排平滑过渡到一排。 
简单带状区域已经有一些可用结果,复杂汉字的交汇、尖角和宽窄变化仍不稳定。想请教做过计算几何、CAM、字体几何或类似排布问题的朋友,有没有合适的算法模型、论文或开源实现。
一、原始需求
文字可以理解为单线笔画扩展成有宽度的带状区域,实际输入提供最终的填充轮廓。算法需要处理曲线、宽窄变化、多个独立连通区域,以及字形内部的空白孔洞。
现有样例包含已经合并的笔画交汇。不能默认每个 SVG 子路径对应一笔,也不能默认文件保留了原始中心线或笔顺。
输入与输出




项目
说明




输入图形
SVG 字形的实体填充区域,包含外轮廓和可能存在的内轮廓


输入参数
孔径 D、孔间距 S、孔边距 M、窄笔画处理模式


期望输出
每个圆孔的圆心坐...