Java Distance Calculate DistanceFromLine(float cx, float cy, float ax, float ay, float bx, float by)

Here you can find the source of DistanceFromLine(float cx, float cy, float ax, float ay, float bx, float by)

Description

Distance From Line

License

Apache License

Declaration

public static Float DistanceFromLine(float cx, float cy, float ax, float ay, float bx, float by) 

Method Source Code

//package com.java2s;
//License from project: Apache License 

public class Main {
    public static Float DistanceFromLine(float cx, float cy, float ax, float ay, float bx, float by) {
        float diffbax = bx - ax;
        float diffbay = by - ay;
        float diffcax = cx - ax;
        float diffcay = cy - ay;
        float diffcbx = cx - bx;
        float diffcby = cy - by;
        double r_numerator = diffcax * diffbax + diffcay * diffbay;
        double r_denomenator = square(diffbax) + square(diffbay);

        ////from www.  j  a v a 2s.c o  m
        // (xx,yy) is the point on the lineSegment closest to (cx,cy)
        //

        if ((r_numerator >= 0) && (r_numerator <= r_denomenator)) {
            return (float) (Math.abs(diffcax * diffbay - diffcay * diffbax) / Math.sqrt(r_denomenator));
        } else {
            double dist1 = square(diffcax) + square(diffcay);
            double dist2 = square(diffcbx) + square(diffcby);

            return (float) Math.sqrt(Math.min(dist1, dist2));
        }
    }

    public static double square(double a) {
        return a * a;
    }

    public static float square(float a) {
        return a * a;
    }
}

Related

  1. distanceCircle(int i0, int i1, int dir, int size)
  2. distanceCorrelation(final double[][] x, final double[][] y)
  3. distanceDamerauLevenshtein(CharSequence source, CharSequence target)
  4. distanceFast(double lat1, double lon1, double lat2, double lon2)
  5. distanceFrom(double lat1, double long1, double lat2, double long2)
  6. distanceFromLineToPoint(double x1, double y1, double z1, double x2, double y2, double z2, double px, double py, double pz)
  7. distanceFromZero(int x, int y)
  8. distanceHaversine(Double lat1, Double lon1, Double lat2, Double lon2, String param)
  9. distanceInf(double[] p1, double[] p2)