我如何获得直线和圆的交点..我有很多关于这个主题的信息,但我的要求不匹配..
我得到了一条线,其一个端点位于圆的原点..而另一端位于圆之外的某处..现在我需要这条线和圆的交点..
我尝试使用下面的公式从圆外找到最近的边缘点,但无法破解它 -
closestCirclePoint = function(px, py, x, y, ray){
var tg = (x += ray, y += ray, 0);
return function(x, y, x0, y0){return Math.sqrt((x -= x0) * x + (y -= y0) * y);}(px, py, x, y) > ray ?
{x: Math.cos(tg = Math.atan2(py - y, px - x)) * ray + x, y: Math.sin(tg) * ray + y}
//{x: (px - x) / (length / ray) + x, y: (py - y) / (length / ray) + y}
: {x: px, y: py};
};
有什么办法可以解决这个问题..??
提前致谢!