精华内容
下载资源
问答
  • bool find_crossPoint(Point p1, Point p2, Point p3, Point p4, Point &crossPoint){ //*************************... // 求二条直线的交点公式 // 有如下方程 (x-x1)/(y-y1) = (x2-x1)/(y2-y1) ==> a1*...

    bool find_crossPoint(Point p1, Point p2, Point p3, Point p4, Point &crossPoint){
        //****************************************************************************************
        //  求二条直线的交点的公式
        //  有如下方程 (x-x1)/(y-y1) = (x2-x1)/(y2-y1) ==> a1*x+b1*y=c1
        //            (x-x3)/(y-y3) = (x4-x3)/(y4-y3) ==> a2*x+b2*y=c2
        //  则交点为
        //                x= | c1 b1|  / | a1 b1 |      y= | a1 c1| / | a1 b1 |
        //                   | c2 b2|  / | a2 b2 |         | a2 c2| / | a2 b2 |
        //
        //   a1= y2-y1
        //   b1= x1-x2
        //   c1= x1*y2-x2*y1
        //   a2= y4-y3
        //   b2= x3-x4
        //   c2= x3*y4-x4*y3

        float a1 = p2.y - p1.y;
        float b1 = p1.x - p2.x;
        float c1 = p1.x*p2.y - p2.x*p1.y;
        float a2 = p4.y - p3.y;
        float b2 = p3.x - p4.x;
        float c2 = p3.x*p4.y - p4.x*p3.y;
        float det= a1*b2 - a2*b1;

        if(det == 0) return false;

        crossPoint.x = (c1*b2 - c2*b1)/det;
        crossPoint.y = (a1*c2 - a2*c1)/det;

        // Now this is cross point of lines
        // Do we need the cross Point of segments(need to judge x,y within 4 endpoints)
        // 是否要判断线段相交
        if((abs(crossPoint.x -(p1.x+p2.x)/2) <= abs(p2.x-p1.x)/2) &&
           (abs(crossPoint.y -(p1.y+p2.y)/2) <= abs(p2.y-p1.y)/2) &&
           (abs(crossPoint.x -(p3.x+p4.x)/2) <= abs(p4.x-p3.x)/2) &&
           (abs(crossPoint.y -(p3.y+p4.y)/2) <= abs(p4.y-p3.y)/2))
        {
            return true;
        }

        return false;
    }
    ————————————————
    版权声明:本文为CSDN博主「hjk61314」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/hjk61314/article/details/82254381

    展开全文
  • 直线的交点坐标与距离公式一:直线的交点坐标:1、设条直线分别为1l:1110AxByC,2l:2220AxByC则1l与2l是否有交点,只需看方程组11122200AxByCAxByC是否有唯一解若方程组有...

    直线的交点坐标与距离公式

    一:两条直线的交点坐标:

    1

    设两条直线分别为

    1

    l

    1

    1

    1

    0

    A

    x

    B

    y

    C

    2

    l

    2

    2

    2

    0

    A

    x

    B

    y

    C

    1

    l

    2

    l

    是否有交点,

    只需看方程组

    1

    1

    1

    2

    2

    2

    0

    0

    A

    x

    B

    y

    C

    A

    x

    B

    y

    C

    是否有唯一解

    若方程组有唯一解,则这两条直线相交,此解就是交点的坐标;

    若方程组无解,则两条直线无公共点,此时两条直线平行;

    若方程组有无穷多解,则两直线重合

    1

    求经过两直线

    2

    3

    3

    0

    x

    y

    2

    0

    x

    y

    的交点且与直线

    3

    1

    0

    x

    y

    平行的直线方程。

    经过两直线

    1

    1

    1

    1

    :

    0

    l

    A

    x

    B

    y

    C

    2

    2

    2

    2

    :

    0

    l

    A

    x

    B

    y

    C

    交点的直线系

    方程为

    1

    1

    1

    2

    2

    2

    0

    A

    x

    B

    y

    C

    A

    x

    B

    y

    C

    ,其中

    是待定系数,在这个

    方程中,

    无论

    取什么实数,

    都得到

    2

    2

    2

    0

    A

    x

    B

    y

    C

    因此,

    它不能表示直线

    2

    l

    2

    、对称问题

    (

    1

    )点关于点的对称,点

    A(a

    b)

    关于

    0

    0

    0

    ,

    P

    x

    y

    的对称点

    B

    (

    m

    n

    )

    ,则由中点坐标公

    0

    0

    2

    ,

    2

    m

    x

    a

    n

    y

    b

    ,即

    B

    (

    0

    0

    2

    ,

    2

    x

    a

    y

    b

    )

    (

    2

    )点关于直线的对称,点

    0

    0

    ,

    A

    x

    y

    关于直线

    :

    0

    l

    Ax

    By

    C

    (

    A

    B

    不同时

    0

    )的对称点

    '

    1

    1

    ,

    A

    x

    y

    ,则有

    AA

    ’的中点在

    l

    上且直线

    AA

    ’与已知直线

    l

    垂直。

    (

    3

    )直线关于直线的对称,一般转化为点关于直线的对称解决,若已知直线

    1

    l

    与对称轴

    l

    相交,

    则交点必在与

    1

    l

    对称的直线

    2

    l

    上,

    然后再求出

    1

    l

    上任意不同于交点的已知点

    1

    P

    于对称轴对称的点

    2

    P

    ,那么经过交点及点

    2

    P

    的直线就是

    2

    l

    ;若直线

    1

    l

    与对称轴

    l

    平行,则在

    1

    l

    上任取两不同点

    1

    P

    2

    P

    ,求

    其关于对称轴

    l

    的对称点

    '

    1

    P

    '

    2

    P

    ,过

    '

    1

    P

    '

    2

    P

    的直线就是

    2

    l

    例题

    2

    、已知直线

    :

    1

    0

    l

    x

    y

    ,试求①点

    P(4,5)

    关于

    l

    的对称坐标;②直线

    1

    :

    2

    3

    l

    y

    x

    关于直线

    l

    的对称的直线方程。

    例题

    3

    展开全文
  • 1. 求直线的交点,联立方程即可,公式如下: 计算条直线交点代码: #计算直线的交点 #y = a1*x + b1 #y = a2*x + b2 #如果没有交点 抛出异常并返回None def cal_intersection(a1,b1,a2,b2): try: x = ...

    1. 求两条直线的交点,联立方程即可,公式如下:
    在这里插入图片描述
    计算两条直线交点代码:

    #计算两条直线的交点
    #y = a1*x + b1
    #y = a2*x + b2
    #如果没有交点 抛出异常并返回None
    def cal_intersection(a1,b1,a2,b2):
        try:
            x = (b2-b1)/(a1-a2)
            y = a1*(b2-b1)/(a1-a2) + b1
            return (x,y)
        except Exception as e:
            print(str(e))
            return None
    

    2. 求抛物线的极值点,计算导数等于0时x的值,再带入公式求出y,公式如下:
    在这里插入图片描述

    计算抛物线极值点代码:

    # 抛物线:y = a*x**2 + b*x + c 
    # 若a为0 抛出异常并返回None
    def getExtremePoint(a,b,c):
        try:
            x = -(b/2/a)
            y = (4*a*c - b**2)/4/a
            return (x,y)
        except Exception as e:
            print(str(e))
            return None
    

    验证求直线交点代码:

    import numpy as np  
    import matplotlib.pyplot as plt  
    
    a1,b1,a2,b2 = np.random.rand(4)
    input_x = np.arange(-5,5,0.1) 
    
    y_predict2 = a1 * input_x + b1
    y_predict1 = a2 * input_x + b2
    
    #求交点
    intersection = cal_intersection(a1,b1,a2,b2)
    
    #画图
    plt.plot(input_x,y_predict1,color='r',linestyle='-',marker='.',label=u"predict") 
    plt.plot(input_x,y_predict2,color='g',linestyle='-',marker='.',label=u"predict") 
    plt.scatter(intersection[0],intersection[1],color='b',linestyle='-',marker='.',label=u"intersection",linewidth=11) 
    plt.legend(loc='upper left')
    plt.show()
    

    验证求抛物线极值点代码:

    import numpy as np  
    import matplotlib.pyplot as plt  
    
    a,b,c = (-1) ** np.random.randint(0,2)*np.random.rand(3)
    input_x = np.arange(-5,5,0.1) 
    
    y_predict = a * input_x **2 + b * input_x + c
    
    #求极值点
    extreme = getExtremePoint(a,b,c)
    
    #画图
    plt.plot(input_x,y_predict,color='r',linestyle='-',marker='.',label=u"predict") 
    plt.scatter(extreme[0],extreme[1],color='b',linestyle='-',marker='.',label=u"extreme",linewidth=11) 
    plt.legend(loc='upper left')
    plt.show()
    
    展开全文
  • 相交的直线段夹角平分的直线上过交点距离为d另一点求解公式 问题描述: 已知p0,p1,pN三个点,p0到p1走向直线段,pN到p0走向直线段,相交于p0点, 则pN到p0到p1夹角为a,平分夹角为a/2,求经过p0点方向角为平分线上...
  • 1、前言直线交点看似很简单问题,初中数学中就已经学过,对于二维的两直线 和 联立很容易求解出交点坐标 ,如果是个三维直线怎么办呢?三维直线方程为 ,这种表示方法对于 有很大问题,计算机中可不是这么...
  • 直线的交点(叉积)

    千次阅读 2014-04-27 16:06:32
    方法2:使用叉积公式交点,即高效又简便。 介绍方法2: 设mul(p1,p2,p0)为p1p0与p0p1叉积,即mul(p1,p2,p0)=(p1-p0)^(p2-p0)。 该叉积可以看做由点p0,p1,p2和p1+p2四个点围成平行四边形阴影面积, 即...
  • 求空间中直线的交点

    千次阅读 2013-01-07 10:57:00
    交点坐标的问题完全可以用数学的方法求得结果的表达公式来解决啊设P1(x1,y1,z1),P2(x2,y2,z2) L2:P3(x3,y3,z3),P4(x4,y4,z4)记xi-xj=xij,ij是下标 (或xij,yij,zij表示该直线的方向向量)利用参数式,设: ...
  • 题目大意:给出2个点及其各自夹角,求2条直线的交点 解题思路:数学公式推导,用tan()求斜率时要将角度转换成弧度 #include #include #include #include #include #include #include #include #include #...
  • 少了一个等于号wa了数十发一直没有检查出来,我内心几乎是崩溃。 1020: Distance 时间限制: 1 Sec 内存限制: 32 MB 提交: 88 解决: 19 [提交][状态][讨论版] 题目描述 There is a battle field. It is ...
  • 若有两点确定一条直线:...然后想确定这两条直线的交点。 不必用解二元一次方程的方法,有一种方法可以直接算出。 设两直线交点为 ( Px , Py ) ,则: 即: 这个公式似乎是与一个叫贝塞尔参数的理论有关。 ...
  • 如上图,已知四个点(x0,y0)、(x1,y1)、(x2,y2)、(x3,y3),其中(x0,y0)、(x1,y1)确定直线1,(x2,y2)、(x3,y3)确定直线2,求直线1、直线2的交点(x,y),公式如下: y = ( (y0-y1)*(y3-y2)*x0 + (y3-y2)*(x1-x0)*y0 + ...
  • 在高中数学必修二第三章“直线方程”中,可以有一个小专题为直线“对称问题”。这主要有:点关于点对称;点关于直线对称;直线关于点对称;直线关于直线对称。一、对称问题求解方法1、点关于点对称【例1】...
  • 直线交点

    2015-04-25 11:27:14
    直线交点,有直接公式求解。 坐标公式:(b1c2-b2c1)/(a1b2-a2b1), (a1c2-a2c1)/(b1a2-b2a1)
  • A本身无限长,假设B也无限长,直接求得AB的交点坐标,然后再判断该坐标是否在定长线段B的内部就可以了啊 AB本身就是直线,知道端点就可以知道其直线方程,B也是一样,个方程联立, 得到一个坐标,再看该坐标...
  • 这个题,我做练习时候没推出来,然后网上看了一些解题报告,感觉也没说清楚,都是在说一个公式,(i-j)*j+k,我分析得也不清楚,类似找规律推出来,只解释下公式就行了:i条直线,可以分成部分,j条互相平行...
  • 如图,如何求得直线 AB与直线 CD的交点P? 以上内容摘自《算法艺术与信息学竞赛》。 思路就是利用叉积求得点P分线段DC的比,然后利用高中学习的定比分点坐标公式求得分点P的坐标。 看不懂...
  • 思路:利用叉积跨立实验判断重合与平行,交点公式求交点;zoj过了,可是poj1269一样题,poj上把%lf都改为%.f才能AC。 #include<cstdio> #include<cstring> #include<cmath> #include<...
  • A本身无限长,假设B也无限长,直接求得AB的交点坐标,然后再判断该坐标是否在定长线段B的内部就可以了啊   AB本身就是直线,知道端点就可以知道其直线方程,B也是一样,个方程联立,  得到一个坐标,...
  • 题解:模板题,注意一点是,判断两直线平行时用叉积去判断,不要简单直接用斜率公式去判断,可能会出现误差。 代码如下: #include&lt;cstdio&gt; #include&lt;algorithm&gt; #include&...
  • 在二维空间中,利用直线方程y = kx + b我们可以直接计算出交点,但是这种方法麻烦了些,并且套用到三维空间用公式就更麻烦了,接下来介绍是如何利用向量叉乘求出直线交点。并且由于利用叉乘最后可以到一个...
  • 在二维空间中,利用直线方程 y = kx + b 我们可以直接计算出交点,但是这种方法麻烦了些,并且套用到三维空间用公式就更麻烦了,接下来介绍是如何利用向量叉乘求出直线交点。并且由于利用叉乘最后可以到一个...
  • 一:代数方式 我们假设它们的交点为P,既然我们有一个平面,那么平面上面的...对于这条直线,我们肯定知道直线上面的某一点L0和直线的方向L,那么 P = L0 + dL(公式二),d是距离。 把公式二代入公式一,我们可以得

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 121
精华内容 48
关键字:

两直线的交点公式