n条直线交点拟合求交点

  1. 直线方程的公式有以下几种形式
    斜截式:y=kx+b
    截距式:x/a+y/b=1
    两点式:(x-x1)/(x2-x1)=(y-y1)/(y2-y1)
    一般式:ax+by+c=0(可以表达任意直线)
    只要知道两点坐标,代入任何一种公式,都可以求出直线的方程

  2. 一般式方程在计算机领域的重要性
    常用的直线方程有一般式 点斜式 截距式 斜截式 两点式等等。除了一般式方程,它们要么不能支持所有情况下的直线(比如跟坐标轴垂直或者平行),要么不能支持所有情况下的点(比如x坐标相等,或者y坐标相等)。所以一般式方程在用计算机处理二维图形数据时特别有用。
    已知直线上两点求直线的一般式方程
    已知直线上的两点P1(X1,Y1) P2(X2,Y2), P1 P2两点不重合。则直线的一般式方程AX+BY+C=0中,A B C分别等于:
    A = Y2 - Y1
    B = X1 - X2
    C = X2*Y1 - X1*Y2
    参考:http://blog.csdn.net/madbunny/article/details/43955883
    3.求两直线交点一般方程法:
    直线的一般方程为F(x) = ax + by + c = 0。既然我们已经知道直线的两个点,假设为(x0,y0), (x1, y1):
    3.1 求解直线系数a,b,c
    a = y0 – y1, b = x1 – x0, c = x0y1 – x1y0。
    因此我们可以将两条直线分别表示为
    F0(x) = a0*x + b0*y + c0 = 0, F1(x) = a1*x + b1*y + c1 = 0
    那么两条直线的交点应该满足
    a0*x + b0*y +c0 = a1*x + b1*y + c1
    由此可推出
    x = (b0*c1 – b1*c0)/D
    y = (a1*c0 – a0*c1)/D
    D = a0*b1 – a1*b0, (D为0时,表示两直线平行)
    二者实际上就是连立方程组
    F0(x) = a0*x + b0*y + c0 = 0,
    F1(x) = a1*x + b1*y + c1 = 0
    参考:http://blog.csdn.net/abcjennifer/article/details/7584628
    设两直线的交点为:(x,y)

    [a0a1b0b
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值