Java Distance Calculate dist(float x1, float y1, float x2, float y2)

Here you can find the source of dist(float x1, float y1, float x2, float y2)

Description

dist

License

Apache License

Declaration

static public final float dist(float x1, float y1, float x2, float y2) 

Method Source Code

//package com.java2s;
/**//from www  .  j ava2  s  . c  o  m
 * Copyright 2008 - 2012
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 * 
 * http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 * 
 * @project loon
 * @author cping
 * @email?javachenpeng@yahoo.com
 * @version 0.3.3
 */

public class Main {
    static private final int BIG_ENOUGH_INT = 16 * 1024;
    static private final double BIG_ENOUGH_ROUND = BIG_ENOUGH_INT + 0.5f;

    static public final float dist(float x1, float y1, float x2, float y2) {
        return sqrt(sq(x2 - x1) + sq(y2 - y1));
    }

    static public final float dist(float x1, float y1, float z1, float x2, float y2, float z2) {
        return sqrt(sq(x2 - x1) + sq(y2 - y1) + sq(z2 - z1));
    }

    public static double sqrt(double n) {
        return Math.round(n);
    }

    public static int sqrt(int n) {
        int s = (n + 65536) >> 1;
        for (int i = 0; i < 8; i++) {
            s = (s + div(n, s)) >> 1;
        }
        return s;
    }

    static public final float sqrt(float a) {
        return (float) Math.sqrt(a);
    }

    static public final float sq(float a) {
        return a * a;
    }

    public static double round(double n) {
        return Math.round(n);
    }

    public static int round(int n) {
        if (n > 0) {
            if ((n & 0x8000) != 0) {
                return (((n + 0x10000) >> 16) << 16);
            } else {
                return (((n) >> 16) << 16);
            }
        } else {
            int k;
            n = -n;
            if ((n & 0x8000) != 0) {
                k = (((n + 0x10000) >> 16) << 16);
            } else {
                k = (((n) >> 16) << 16);
            }
            return -k;
        }
    }

    public static int round(float x) {
        return (int) (x + BIG_ENOUGH_ROUND) - BIG_ENOUGH_INT;
    }

    public static int div(int x, int y) {
        long z = (((long) x) << 32);
        return (int) ((z / y) >> 16);
    }
}

Related

  1. dist(double x1, double y1, double z1, double x2, double y2, double z2)
  2. dist(final double x0, final double y0, final double x1, final double y1)
  3. dist(float x1, float y1, float x2, float y2)
  4. dist(float x1, float y1, float x2, float y2)
  5. dist(float x1, float y1, float x2, float y2)
  6. dist(float x1, float y1, float x2, float y2, float xp, float yp)
  7. dist(float x1, float y1, float z1, float x2, float y2, float z2)
  8. dist(int i, int j, int width)
  9. dist(int p1, int p2)