Class Intersectord

java.lang.Object
gaiasky.util.math.Intersectord

public class Intersectord
extends java.lang.Object
  • Constructor Details

    • Intersectord

      public Intersectord()
  • Method Details

    • intersectRayBoundsFast

      public static boolean intersectRayBoundsFast​(Rayd ray, Vector3d center, Vector3d dimensions)
      Quick check whether the given Ray and BoundingBoxd intersect.
      Parameters:
      ray - The ray
      center - The center of the bounding box
      dimensions - The dimensions (width, height and depth) of the bounding box
      Returns:
      Whether the ray and the bounding box intersect.
    • checkIntersectRaySpehre

      public static boolean checkIntersectRaySpehre​(Vector3d linePoint0, Vector3d linePoint1, Vector3d sphereCenter, double sphereRadius)
    • checkIntersectRaySpehre

      public static boolean checkIntersectRaySpehre​(com.badlogic.gdx.math.Vector3 linePoint0, com.badlogic.gdx.math.Vector3 linePoint1, Vector3d sphereCenter, double sphereRadius)
    • checkIntersectRaySpehre

      public static boolean checkIntersectRaySpehre​(double px, double py, double pz, double vx, double vy, double vz, double cx, double cy, double cz, double sphereRadius)
    • intersectRaySphere

      public static com.badlogic.gdx.utils.Array<Vector3d> intersectRaySphere​(Vector3d linePoint0, Vector3d linePoint1, Vector3d sphereCenter, double sphereRadius)
    • checkIntersectSegmentSphere

      public static boolean checkIntersectSegmentSphere​(Vector3d linePoint0, Vector3d linePoint1, Vector3d sphereCenter, double sphereRadius)
    • intersectSegmentSphere

      public static com.badlogic.gdx.utils.Array<Vector3d> intersectSegmentSphere​(Vector3d linePoint0, Vector3d linePoint1, Vector3d sphereCenter, double sphereRadius)
      TODO: Not working well due to aux vectors
      Parameters:
      linePoint0 -
      linePoint1 -
      sphereCenter -
      sphereRadius -
      Returns:
    • distanceLinePoint

      public static double distanceLinePoint​(Vector3d x1, Vector3d x2, Vector3d x0)
      Returns the shortest distance between the line defined by x1 and x2 and the point x0. See here.
      Parameters:
      x1 - Segment first point
      x2 - Segment second point
      x0 - Point to test
      Returns:
      The minimum distance between the line and the point
    • distanceSegmentPoint

      public static double distanceSegmentPoint​(Vector3d a, Vector3d b, Vector3d v)
      Calculates the euclidean distance from a point to a line segment.
      Parameters:
      v - the point
      a - start of line segment
      b - end of line segment
      Returns:
      distance from v to line segment [a,b]