首页 > 代码库 > 求两个一次函数的交点
求两个一次函数的交点
Point2f pointIntersection(Point2f p1, Point2f p2, Point2f p3, Point2f p4) { //p1,p2所在一条直线,p3,p4所在一条直线,求两条直线的交点 //p1,p2所成的直线 BOOL flag1=FALSE,flag2=FALSE; Point2f p;//存放最后的交点 float k1,k2,b1,b2; if(p2.x==p1.x)//分母不能为0 p.x=p2.x; else { flag1=TRUE; k1=(p2.y-p1.y)/(p2.x-p1.x); b1=p2.y-k1*p2.x; } //p3,p4所成的直线 if(p4.x==p3.x) p.x=p3.x; else { flag2=TRUE; k2=(p4.y-p3.y)/(p4.x-p3.x); b2=p4.y-k2*p4.x; } //两直线的交点 if(flag1==FALSE&&flag2==TRUE) { p.y=k2*p.x+b2; return p; } if(flag1==TRUE&&flag2==FALSE) { p.y=k1*p.x+b1; return p; } if(flag1==TRUE&&flag2==TRUE) { p.x=(b2-b1)/(k1-k2); p.y=k1*p.x+b1; return p;} }
求两个一次函数的交点
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。