var p:Point = new Point(10,15);
var p1:Point = new Point(10,10);
var p2:Point = new Point(10,20);
trace(isPointOnSegment(p,p1,p2));
function isPointOnSegment(p:Point,p1:Point,p2:Point):Boolean
{
//差积是否为0,判断是否在同一直线上
//trace(( p1.x -p.x )*( p2.y-p.y) -( p2.x -p.x )*( p1.y-p.y));
if (( p1.x -p.x )*( p2.y-p.y) -( p2.x -p.x )*( p1.y-p.y)!=0)
{
trace("11111111111111");
return false;
}
//判断是否在线段上
if ((p.x > p1.x && p.x > p2.x) || (p.x < p1.x && p.x < p2.x))
{
trace("22222222222");
return false;
}
if ((p.y > p1.y && p.y > p2.y) || (p.y < p1.y && p.y < p2.y))
{
trace("3333333333333");
return false;
}
return true;
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步