你的直线就是 y = ax + b 和 y = cx + d这样形式的吗?如果是,你直接ax + b = cx + d 
x = (d - b) / (a - c) 不就可以了吗?

解决方案 »

  1.   

    假如你知道直线两个端点坐标为(x1,y1)和(x2,y2)的话。
    斜率=(y2-y1)/(x2-x1).
    长度=((y2-y1)的平方+(x2-x1)的平方)的平方根.
      

  2.   

    /**
     * 计算两直线的交点坐标 line1(p1,p2)和line2(p3,p4)
     * @param p1
     * @param p2
     * @param p3
     * @param p4
     * @return
     */
    public Point getCrossPoint(Point p1,Point p2,Point p3,Point p4){

    Point crossPoint = new Point();//交点


    //计算line1的斜率
    float f1=(p1.y-p2.y)/(p1.x-p2.x);
    //line2的斜率
    float f2=(p3.y-p4.y)/(p3.x-p4.x);
    crossPoint.x=(int)(((f1*p2.x-f2*p4.x)+(p4.y-p2.y))/(f1-f2));
    crossPoint.y=(int)(crossPoint.x*f2);
    return crossPoint;

      

  3.   

    谢谢楼上的解答,希望大家多提供点java的数学计算算法:
    比如,已知线段两端点坐标,如何在一个端点出画一个三角形形状的箭头,
    所画三角形的三点为端点和另两点组成等边三角形,高为6,只所以定这个条件是为了
    便于计算,如有另外的解决方法,也希望告之,谢谢