java 计算线的方位角和两条直线的交点

编程入门 行业动态 更新时间:2024-10-11 05:21:01

java 计算线的<a href=https://www.elefans.com/category/jswz/34/1759948.html style=方位角和两条直线的交点"/>

java 计算线的方位角和两条直线的交点

1、计算两点方位角或者是直线的方位角

    public static double GetAzimuth(double dN1, double dE1, double dN2, double dE2) {double dAzimuth = 0;dAzimuth = Math.atan2(dE2 - dE1, dN2 - dN1) * 180 / Math.PI;if (dAzimuth < 0)dAzimuth += 360;return dAzimuth;}

2、计算两条直线的交点

    //交叉private static double xmult(double xa, double ya, double xb, double yb,double x0, double y0) {return (xa - x0) * (yb - y0) - (xb - x0) * (ya - y0);}public static boolean GetPointInLine(double xa, double ya, double xb, double yb,double xc, double yc) {if (Math.abs(xmult(xa, ya, xb, yb, xc, yc)) < 1E-4 &&(xa - xc) * (xb - xc) < 1E-4 && (ya - yc) * (yb - yc) < 1E-4) {return true;}return false;}/// 计算两直线的交点public static boolean GetLineJoinPoint(double xa, double ya, double xb, double yb,double xc, double yc, double xd, double yd,double[] x, double[] y, boolean bBeeline) {//两线平行if (Math.abs((xa - xb) * (yc - yd) - (xc - xd) * (ya - yb)) < 1E-4) {if (Math.abs(xa - xc) + Math.abs(ya - yc) < 1E-4 ||Math.abs(xa - xd) + Math.abs(ya - yd) < 1E-4) {x[0] = xa;y[0] = ya;return true;} else if (Math.abs(xb - xc) + Math.abs(yb - yc) < 1E-4 ||Math.abs(xb - xd) + Math.abs(yb - yd) < 1E-4) {x[0] = xb;y[0] = yb;return true;}return false;}//线段无交点(不在同一侧)if (!bBeeline &&(xmult(xa, ya, xb, yb, xc, yc) * xmult(xa, ya, xb, yb, xd, yd) > 1E-4 ||xmult(xc, yc, xd, yd, xa, ya) * xmult(xc, yc, xd, yd, xb, yb) > 1E-4)) {return false;}y[0] = ((xa - xb) * (yc - yd) * ya - (ya - yb) * (yc - yd) * xa - (xc - xd) * (ya - yb) * yc + (ya - yb) * (yc - yd) * xc) / ((xa - xb) * (yc - yd) - (xc - xd) * (ya - yb));if (Math.abs(ya - yb) < 1E-4) {x[0] = xc + (y[0] - yc) * (xc - xd) / (yc - yd);} else {x[0] = xa + (y[0] - ya) * (xa - xb) / (ya - yb);}return true;}

 

更多推荐

java 计算线的方位角和两条直线的交点

本文发布于:2024-03-08 03:37:09,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1719725.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:方位角   交点   两条   直线   java

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!