
Код AS3:
function getPointOfIntersection(p1:Point, p2:Point, p3:Point, p4:Point):Point
{
var d:Number = (p1.x - p2.x) * (p4.y - p3.y) - (p1.y - p2.y) * (p4.x - p3.x);
var da:Number = (p1.x - p3.x) * (p4.y - p3.y) - (p1.y - p3.y) * (p4.x - p3.x);
var db:Number = (p1.x - p2.x) * (p1.y - p3.y) - (p1.y - p2.y) * (p1.x - p3.x);
var ta:Number = da / d;
var tb:Number = db / d;
if (ta >= 0 && ta <= 1 && tb >= 0 && tb <= 1)
{
var dx:Number = p1.x + ta * (p2.x - p1.x);
var dy:Number = p1.y + ta * (p2.y - p1.y);
return new Point(dx, dy);
}
return null;
}