Class MatrixUtil

java.lang.Object
net.minecraft.util.math.MatrixUtil

public class MatrixUtil extends Object
Mappings:
Namespace Name
official f
intermediary net/minecraft/class_7837
named net/minecraft/util/math/MatrixUtil
  • Field Details

    • COT_PI_OVER_8

      private static final float COT_PI_OVER_8
      Mappings:
      Namespace Name Mixin selector
      official a Lf;a:F
      intermediary field_40746 Lnet/minecraft/class_7837;field_40746:F
      named COT_PI_OVER_8 Lnet/minecraft/util/math/MatrixUtil;COT_PI_OVER_8:F
    • SIN_COS_PI_OVER_8

      private static final GivensPair SIN_COS_PI_OVER_8
      Mappings:
      Namespace Name Mixin selector
      official b Lf;b:Le;
      intermediary field_43146 Lnet/minecraft/class_7837;field_43146:Lnet/minecraft/class_8218;
      named SIN_COS_PI_OVER_8 Lnet/minecraft/util/math/MatrixUtil;SIN_COS_PI_OVER_8:Lnet/minecraft/util/math/GivensPair;
  • Constructor Details

    • MatrixUtil

      private MatrixUtil()
  • Method Details

    • scale

      public static Matrix4f scale(Matrix4f matrix, float scalar)
      Mappings:
      Namespace Name Mixin selector
      official a Lf;a(Lorg/joml/Matrix4f;F)Lorg/joml/Matrix4f;
      intermediary method_46414 Lnet/minecraft/class_7837;method_46414(Lorg/joml/Matrix4f;F)Lorg/joml/Matrix4f;
      named scale Lnet/minecraft/util/math/MatrixUtil;scale(Lorg/joml/Matrix4f;F)Lorg/joml/Matrix4f;
    • approximateGivensQuaternion

      private static GivensPair approximateGivensQuaternion(float a11, float a12, float a22)
      Computes the approximate Givens rotation factors (c, s) = (cos(phi), sin(phi)) for a 2×2 matrix. See Algorithm 4 of https://pages.cs.wisc.edu/~sifakis/papers/SVD_TR1690.pdf.
      Parameters:
      a11 - the top-left element of the matrix
      a12 - the average of the two elements on the minor diagonal
      a22 - the bottom-right element of the matrix
      Mappings:
      Namespace Name Mixin selector
      official a Lf;a(FFF)Le;
      intermediary method_46411 Lnet/minecraft/class_7837;method_46411(FFF)Lnet/minecraft/class_8218;
      named approximateGivensQuaternion Lnet/minecraft/util/math/MatrixUtil;approximateGivensQuaternion(FFF)Lnet/minecraft/util/math/GivensPair;
    • qrGivensQuaternion

      private static GivensPair qrGivensQuaternion(float a1, float a2)
      Computes the Givens quaternion for a QR factorization. See Algorithm 4 of https://pages.cs.wisc.edu/~sifakis/papers/SVD_TR1690.pdf.
      Mappings:
      Namespace Name Mixin selector
      official a Lf;a(FF)Le;
      intermediary method_46410 Lnet/minecraft/class_7837;method_46410(FF)Lnet/minecraft/class_8218;
      named qrGivensQuaternion Lnet/minecraft/util/math/MatrixUtil;qrGivensQuaternion(FF)Lnet/minecraft/util/math/GivensPair;
    • conjugate

      private static void conjugate(Matrix3f X, Matrix3f A)
      Stores A′XA into X, clobbering A.
      Mappings:
      Namespace Name Mixin selector
      official a Lf;a(Lorg/joml/Matrix3f;Lorg/joml/Matrix3f;)V
      intermediary method_49742 Lnet/minecraft/class_7837;method_49742(Lorg/joml/Matrix3f;Lorg/joml/Matrix3f;)V
      named conjugate Lnet/minecraft/util/math/MatrixUtil;conjugate(Lorg/joml/Matrix3f;Lorg/joml/Matrix3f;)V
    • applyJacobiIteration

      private static void applyJacobiIteration(Matrix3f AtA, Matrix3f matrix3f, Quaternionf quaternionf, Quaternionf quaternionf2)
      Mappings:
      Namespace Name Mixin selector
      official a Lf;a(Lorg/joml/Matrix3f;Lorg/joml/Matrix3f;Lorg/joml/Quaternionf;Lorg/joml/Quaternionf;)V
      intermediary method_46415 Lnet/minecraft/class_7837;method_46415(Lorg/joml/Matrix3f;Lorg/joml/Matrix3f;Lorg/joml/Quaternionf;Lorg/joml/Quaternionf;)V
      named applyJacobiIteration Lnet/minecraft/util/math/MatrixUtil;applyJacobiIteration(Lorg/joml/Matrix3f;Lorg/joml/Matrix3f;Lorg/joml/Quaternionf;Lorg/joml/Quaternionf;)V
    • applyJacobiIterations

      public static Quaternionf applyJacobiIterations(Matrix3f AtA, int numJacobiIterations)
      Mappings:
      Namespace Name Mixin selector
      official a Lf;a(Lorg/joml/Matrix3f;I)Lorg/joml/Quaternionf;
      intermediary method_49741 Lnet/minecraft/class_7837;method_49741(Lorg/joml/Matrix3f;I)Lorg/joml/Quaternionf;
      named applyJacobiIterations Lnet/minecraft/util/math/MatrixUtil;applyJacobiIterations(Lorg/joml/Matrix3f;I)Lorg/joml/Quaternionf;
    • svdDecompose

      public static Triple<Quaternionf,Vector3f,Quaternionf> svdDecompose(Matrix3f A)
      Performs an approximate singular value decomposition on a 3×3 matrix. See Algorithm 4 of https://pages.cs.wisc.edu/~sifakis/papers/SVD_TR1690.pdf.
      Mappings:
      Namespace Name Mixin selector
      official a Lf;a(Lorg/joml/Matrix3f;)Lorg/apache/commons/lang3/tuple/Triple;
      intermediary method_46412 Lnet/minecraft/class_7837;method_46412(Lorg/joml/Matrix3f;)Lorg/apache/commons/lang3/tuple/Triple;
      named svdDecompose Lnet/minecraft/util/math/MatrixUtil;svdDecompose(Lorg/joml/Matrix3f;)Lorg/apache/commons/lang3/tuple/Triple;