如何求两条线的交叉点坐标? 已知两条线line1(x1,y1,x2,y2),line2(x1,y1,x2,y2),如何判断这两条线是否相交,如果相交,则求出交叉点的坐标?希望大家帮忙解决!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 基本思路:直线方程:aX+b = y把两点坐标带入得到a,b的值得到两条直线的直线方程将两条直线的方程连立方程组求解,解为焦点坐标。以下Sample.不过这种东西自己复习一下应该就可以搞定。初中数学问题。public class Intersection { public static double[] getIntersection(double a1,double b1,double c1, double a2,double b2,double c2) { double[] res=new double[2]; res[0]=(c1*b2-c2*b1)/(a1*b2-a2*b1); res[1]=(a1*c2-a2*c1)/(a1*b2-a2*b1); return res; } public static double[] getIntersection(double[] fun1,double[] fun2) { if(fun1.length!=3||fun2.length!=3) return null; else return getIntersection(fun1[0],fun1[1],fun1[2], fun2[0],fun2[1],fun2[2]); } public static void main(String[] args) { double[] f1={2.0312,-1.0,-24.6972}; double[] f2={-0.4073,-1.0,-0.6230}; double[] f3={-0.995,-1.0,0}; double[] res=getIntersection(f3,f2); for(double r:res) System.out.println (r); } } 问题已解决,其实我第一次思考的时候也是解议程组,但是对于该项目具体的需求,有点复杂。解决方法:先生成两上Line2D对象,利用该对象的line1.intersectsLine(line2)方法判断是否相交,再利用一条线上的点与另一条线的距离是否为零来求交叉坐标。谢谢大家! 方法返回类型 谁了解,做Mac os 应用软件(objective-c)开发前景如何 一个java基础问题,多谢了!! java 关键字显示的问题 怎么得到目录的修改时间 如何使用jstl来生成一个二维表? 我定义了一个textfield,如何设置这个textfield的焦点?用什么函数? 帮助我吧,这里有一份解答,是不是正确?帮我改一改,让人看不出一样就好了 菜鸟问题! "急"---小弟有一个很初级的问题,高手请帮帮忙,解决后立即加分 random for a series of random numbers?????? 很怪异的问题,用同样的方法,第一个通过,第二个就出异常,求救
aX+b = y把两点坐标带入得到a,b的值得到两条直线的直线方程将两条直线的方程连立方程组求解,解为焦点坐标。以下Sample.不过这种东西自己复习一下应该就可以搞定。初中数学问题。public class Intersection
{
public static double[] getIntersection(double a1,double b1,double c1,
double a2,double b2,double c2)
{
double[] res=new double[2];
res[0]=(c1*b2-c2*b1)/(a1*b2-a2*b1);
res[1]=(a1*c2-a2*c1)/(a1*b2-a2*b1); return res;
} public static double[] getIntersection(double[] fun1,double[] fun2)
{
if(fun1.length!=3||fun2.length!=3)
return null;
else
return getIntersection(fun1[0],fun1[1],fun1[2],
fun2[0],fun2[1],fun2[2]);
} public static void main(String[] args)
{
double[] f1={2.0312,-1.0,-24.6972};
double[] f2={-0.4073,-1.0,-0.6230};
double[] f3={-0.995,-1.0,0};
double[] res=getIntersection(f3,f2);
for(double r:res)
System.out.println (r);
}
}
解决方法:
先生成两上Line2D对象,利用该对象的line1.intersectsLine(line2)方法判断是否相交,
再利用一条线上的点与另一条线的距离是否为零来求交叉坐标。谢谢大家!