交点 - 两直线交点 - 直线点斜式

直线的点斜公式

y=kx+t, k为直线斜率, t为直线在y轴上的交点;

直线与y轴平行时, k不存在, 方程为x=a, a为常量值;

 

//两直线交点 - 直线点斜式
public static bool IsTwoLineIntersect2(float k1, float t1, float k2, float t2, out Vector2 point)
{
    point = Vector2.zero;
    if (Mathf.Approximately(k1, k2)) //直线平行则不相交
        return false;

    //直线点斜式: y=k*x+t; 直线与y轴平行时k不存在
    //x任意取值, 求出y, 就能得到直线上的点
    var A = new Vector2(1, k1 + t1);
    var B = new Vector2(2, k1 * 2 + t1);

    var C = new Vector2(3, k2 * 3 + t2);
    var D = new Vector2(4, k2 * 4 + t2);

    var result = IsTwoLineIntersect(A, B, C, D, out point);
    return result;
}

引用的函数看这边

交点 - 两线段(直线)交点 - 直线方程组方式

 

posted @ 2023-11-24 23:18  yanghui01  阅读(45)  评论(0编辑  收藏  举报