矢量图一般都是单线条图形,现在有个任务,就是把这个单线条的矢量图变为双线条,原线条不要,设定两线条之间的距离为d,变为双线之后的图形不能有交叉,大家有什么好的算法适合所有矢量图,包括封闭图形和不封闭图形,在此谢谢的大家了!

解决方案 »

  1.   

    我现在想到的算法就是先找到这条路径的中心点,相对中心点进行缩放,但是这样出来的结果不精确,首先中心点不精确(我是把路径外接矩形框的中心点作为这条路径的中心点),而且这个缩放比例不好算。其次,对于那种凹型路径,这样做出来的两条路径有交叉。最简单的一条直线,用这种方法也不行。用 Cipherliu(孤鹰) 说的这种传统方法,道理是简单,但是实现起来不容易,首先找法线,再其次找两条线的交点,作为新的路径节点。如果图形的路径很多,而且每条路径的节点又很多的情况下,这样做PC运算起来比较慢。