Class Ellipsoid

    • Constructor Summary

      Constructors 
      Constructor Description
      Ellipsoid​(Frame frame, double a, double b, double c)
      Simple constructor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      double getA()
      Get the length of the first semi-axis.
      double getB()
      Get the length of the second semi-axis.
      double getC()
      Get the length of the third semi-axis.
      Frame getFrame()
      Get the ellipsoid central frame.
      Ellipse getPlaneSection​(org.hipparchus.geometry.euclidean.threed.Vector3D planePoint, org.hipparchus.geometry.euclidean.threed.Vector3D planeNormal)
      Compute the 2D ellipse at the intersection of the 3D ellipsoid and a plane.
      boolean isInside​(org.hipparchus.geometry.euclidean.threed.Vector3D point)
      Check if a point is inside the ellipsoid.
      org.hipparchus.geometry.euclidean.threed.Vector3D pointOnLimb​(org.hipparchus.geometry.euclidean.threed.Vector3D observer, org.hipparchus.geometry.euclidean.threed.Vector3D outside)
      Find a point on ellipsoid limb, as seen by an external observer.
    • Constructor Detail

      • Ellipsoid

        public Ellipsoid​(Frame frame,
                         double a,
                         double b,
                         double c)
        Simple constructor.
        Parameters:
        frame - at the ellipsoid center, aligned with principal axes
        a - first semi-axis length
        b - second semi-axis length
        c - third semi-axis length
    • Method Detail

      • getA

        public double getA()
        Get the length of the first semi-axis.
        Returns:
        length of the first semi-axis (m)
      • getB

        public double getB()
        Get the length of the second semi-axis.
        Returns:
        length of the second semi-axis (m)
      • getC

        public double getC()
        Get the length of the third semi-axis.
        Returns:
        length of the third semi-axis (m)
      • getFrame

        public Frame getFrame()
        Get the ellipsoid central frame.
        Returns:
        ellipsoid central frame
      • isInside

        public boolean isInside​(org.hipparchus.geometry.euclidean.threed.Vector3D point)
        Check if a point is inside the ellipsoid.
        Parameters:
        point - point to check, in the ellipsoid frame
        Returns:
        true if the point is inside the ellipsoid (or exactly on ellipsoid surface)
        Since:
        7.1
      • getPlaneSection

        public Ellipse getPlaneSection​(org.hipparchus.geometry.euclidean.threed.Vector3D planePoint,
                                       org.hipparchus.geometry.euclidean.threed.Vector3D planeNormal)
                                throws org.hipparchus.exception.MathRuntimeException
        Compute the 2D ellipse at the intersection of the 3D ellipsoid and a plane.
        Parameters:
        planePoint - point belonging to the plane, in the ellipsoid frame
        planeNormal - normal of the plane, in the ellipsoid frame
        Returns:
        plane section or null if there are no intersections
        Throws:
        org.hipparchus.exception.MathRuntimeException - if the norm of planeNormal is null
      • pointOnLimb

        public org.hipparchus.geometry.euclidean.threed.Vector3D pointOnLimb​(org.hipparchus.geometry.euclidean.threed.Vector3D observer,
                                                                             org.hipparchus.geometry.euclidean.threed.Vector3D outside)
                                                                      throws org.hipparchus.exception.MathRuntimeException
        Find a point on ellipsoid limb, as seen by an external observer.
        Parameters:
        observer - observer position in ellipsoid frame
        outside - point outside ellipsoid in ellipsoid frame, defining the phase around limb
        Returns:
        point on ellipsoid limb
        Throws:
        org.hipparchus.exception.MathRuntimeException - if ellipsoid center, observer and outside points are aligned
        Since:
        7.1