最近我一直在思考如何将复杂的多边形转换为非复杂的多边形。这是怎么做到的?
这就是我想做的事情:
完成后我将使用 JavaScript,但任何形式的解决方案都可以(语言、算法或简单的英语)。
我将使用与手动绘制多边形时相同的启发式(这可能不是计算该多边形的最数学有效的方法,但可能是最容易理解/实现的)。
- 从一点开始
- 找到我当前点和我想要到达的点之间的所有交点
- 如果不存在则绘制到下一个点
- 如果有,则绘制到那里,然后将下一个点设置为从那里开始的下一个点
- 如果您没有回到开头,则转到 2。
这是一个例子 http://jsfiddle.net/mq9Zn/1/在 jsfiddle 上的实现。注意:它没有优化。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)