如何计算直线和任意形状的交点?

dev*_*ett 6 javascript algorithm geometry canvas computational-geometry

有几种方法可以几何计算线和任意图形路径的交点吗?我知道路径中的所有行和曲线在哪里,并且我正在使用HTML5 canvas元素,如果这有帮助的话.基本上,我可以访问所有画布绘图命令及其参数.例如,如果使用lineTo调用API,则使用moveTo,然后使用arc获取所有该信息.每次调用API都存储在一个数组中.我有路径定义,我只是想弄清楚线与路径相交的位置.下面的图片显示了我需要找到的点的示例.

alt text http://cl.ly/3228b0e7ea32b172e960/content

谢谢你的帮助!同样,如果可能的话,我宁愿做几何而不是像素.

Qua*_*ndo 6

您可能想看一下Kevin Lindsey的Javascript几何库 - 它可能包含您正在寻找的所有intersection算法:http://www.kevlindev.com/geometry/index.htm