Class Mat33

  • All Implemented Interfaces:
    java.io.Serializable

    public class Mat33
    extends java.lang.Object
    implements java.io.Serializable
    A 3-by-3 matrix. Stored in column-major order.
    See Also:
    Serialized Form
    • Field Detail

      • IDENTITY

        public static final Mat33 IDENTITY
      • ex

        public final Vec3 ex
      • ey

        public final Vec3 ey
      • ez

        public final Vec3 ez
    • Constructor Detail

      • Mat33

        public Mat33()
      • Mat33

        public Mat33​(Vec3 argCol1,
                     Vec3 argCol2,
                     Vec3 argCol3)
    • Method Detail

      • setZero

        public void setZero()
      • mul22ToOut

        public static final void mul22ToOut​(Mat33 A,
                                            Vec2 v,
                                            Vec2 out)
      • mul22ToOutUnsafe

        public static final void mul22ToOutUnsafe​(Mat33 A,
                                                  Vec2 v,
                                                  Vec2 out)
      • mulToOut

        public static final void mulToOut​(Mat33 A,
                                          Vec3 v,
                                          Vec3 out)
      • mulToOutUnsafe

        public static final void mulToOutUnsafe​(Mat33 A,
                                                Vec3 v,
                                                Vec3 out)
      • solve22

        public final Vec2 solve22​(Vec2 b)
        Solve A * x = b, where b is a column vector. This is more efficient than computing the inverse in one-shot cases.
        Parameters:
        b -
        Returns:
      • solve22ToOut

        public final void solve22ToOut​(Vec2 b,
                                       Vec2 out)
        Solve A * x = b, where b is a column vector. This is more efficient than computing the inverse in one-shot cases.
        Parameters:
        b -
      • solve33

        public final Vec3 solve33​(Vec3 b)
        Solve A * x = b, where b is a column vector. This is more efficient than computing the inverse in one-shot cases.
        Parameters:
        b -
        Returns:
      • solve33ToOut

        public final void solve33ToOut​(Vec3 b,
                                       Vec3 out)
        Solve A * x = b, where b is a column vector. This is more efficient than computing the inverse in one-shot cases.
        Parameters:
        b -
        out - the result
      • getInverse22

        public void getInverse22​(Mat33 M)
      • getSymInverse33

        public void getSymInverse33​(Mat33 M)
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object