Class Matrix4d

    • Field Detail

      • ZERO

        public static final Matrix4d ZERO
      • IDENTITY

        public static final Matrix4d IDENTITY
    • Constructor Detail

      • Matrix4d

        public Matrix4d​(Matrix2d m)
      • Matrix4d

        public Matrix4d​(Matrix3d m)
      • Matrix4d

        public Matrix4d​(MatrixNd m)
      • Matrix4d

        public Matrix4d​(float m00,
                        float m01,
                        float m02,
                        float m03,
                        float m10,
                        float m11,
                        float m12,
                        float m13,
                        float m20,
                        float m21,
                        float m22,
                        float m23,
                        float m30,
                        float m31,
                        float m32,
                        float m33)
      • Matrix4d

        public Matrix4d​(double m00,
                        double m01,
                        double m02,
                        double m03,
                        double m10,
                        double m11,
                        double m12,
                        double m13,
                        double m20,
                        double m21,
                        double m22,
                        double m23,
                        double m30,
                        double m31,
                        double m32,
                        double m33)
    • Method Detail

      • get

        public double get​(int row,
                          int col)
        Specified by:
        get in interface Matrixd
      • mul

        public Matrix4d mul​(float a)
      • div

        public Matrix4d div​(float a)
      • pow

        public Matrix4d pow​(float pow)
      • translate

        public Matrix4d translate​(float x,
                                  float y,
                                  float z)
      • translate

        public Matrix4d translate​(double x,
                                  double y,
                                  double z)
      • scale

        public Matrix4d scale​(float scale)
      • scale

        public Matrix4d scale​(double scale)
      • scale

        public Matrix4d scale​(float x,
                              float y,
                              float z,
                              float w)
      • scale

        public Matrix4d scale​(double x,
                              double y,
                              double z,
                              double w)
      • transform

        public Vector4d transform​(float x,
                                  float y,
                                  float z,
                                  float w)
      • transform

        public Vector4d transform​(double x,
                                  double y,
                                  double z,
                                  double w)
      • trace

        public double trace()
        Specified by:
        trace in interface Matrixd
      • determinant

        public double determinant()
        Specified by:
        determinant in interface Matrixd
      • toMatrix2

        public Matrix2d toMatrix2()
      • toMatrix3

        public Matrix3d toMatrix3()
      • toMatrixN

        public MatrixNd toMatrixN()
      • toArray

        public double[] toArray()
      • toArray

        public double[] toArray​(boolean columnMajor)
        Specified by:
        toArray in interface Matrixd
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • from

        public static Matrix4d from​(double n)
      • from

        public static Matrix4d from​(double m00,
                                    double m01,
                                    double m02,
                                    double m03,
                                    double m10,
                                    double m11,
                                    double m12,
                                    double m13,
                                    double m20,
                                    double m21,
                                    double m22,
                                    double m23,
                                    double m30,
                                    double m31,
                                    double m32,
                                    double m33)
      • fromDiagonal

        public static Matrix4d fromDiagonal​(double m00,
                                            double m11,
                                            double m22,
                                            double m33)
      • createScaling

        public static Matrix4d createScaling​(float scale)
      • createScaling

        public static Matrix4d createScaling​(double scale)
      • createScaling

        public static Matrix4d createScaling​(float x,
                                             float y,
                                             float z,
                                             float w)
      • createScaling

        public static Matrix4d createScaling​(double x,
                                             double y,
                                             double z,
                                             double w)
      • createTranslation

        public static Matrix4d createTranslation​(float x,
                                                 float y,
                                                 float z)
      • createTranslation

        public static Matrix4d createTranslation​(double x,
                                                 double y,
                                                 double z)
      • createLookAt

        public static Matrix4d createLookAt​(Vector3d eye,
                                            Vector3d at,
                                            Vector3d up)
        Creates a "look at" matrix for the given eye point.
        Parameters:
        eye - The position of the camera
        at - The point that the camera is looking at
        up - The "up" vector
        Returns:
        A rotational transform that corresponds to a camera looking at the given point
      • createPerspective

        public static Matrix4d createPerspective​(float fov,
                                                 float aspect,
                                                 float near,
                                                 float far)
        Creates a perspective projection matrix with the given (x) FOV, aspect, near and far planes
        Parameters:
        fov - The field of view in the x direction
        aspect - The aspect ratio, usually width/height
        near - The near plane, cannot be 0
        far - the far plane, far cannot equal near
        Returns:
        A perspective projection matrix built from the given values
      • createPerspective

        public static Matrix4d createPerspective​(double fov,
                                                 double aspect,
                                                 double near,
                                                 double far)
        Creates a perspective projection matrix with the given (x) FOV, aspect, near and far planes
        Parameters:
        fov - The field of view in the x direction
        aspect - The aspect ratio, usually width/height
        near - The near plane, cannot be 0
        far - the far plane, far cannot equal near
        Returns:
        A perspective projection matrix built from the given values
      • createOrthographic

        public static Matrix4d createOrthographic​(float right,
                                                  float left,
                                                  float top,
                                                  float bottom,
                                                  float near,
                                                  float far)
        Creates an orthographic viewing frustum built from the provided values
        Parameters:
        right - the right most plane of the viewing frustum
        left - the left most plane of the viewing frustum
        top - the top plane of the viewing frustum
        bottom - the bottom plane of the viewing frustum
        near - the near plane of the viewing frustum
        far - the far plane of the viewing frustum
        Returns:
        A viewing frustum built from the provided values
      • createOrthographic

        public static Matrix4d createOrthographic​(double right,
                                                  double left,
                                                  double top,
                                                  double bottom,
                                                  double near,
                                                  double far)
        Creates an orthographic viewing frustum built from the provided values
        Parameters:
        right - the right most plane of the viewing frustum
        left - the left most plane of the viewing frustum
        top - the top plane of the viewing frustum
        bottom - the bottom plane of the viewing frustum
        near - the near plane of the viewing frustum
        far - the far plane of the viewing frustum
        Returns:
        A viewing frustum built from the provided values