Package net.minecraft.util.math
Class MatrixUtil
java.lang.Object
net.minecraft.util.math.MatrixUtil
- Mappings:
Namespace Name named net/minecraft/util/math/MatrixUtilintermediary net/minecraft/class_7837official f
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static voidapplyJacobiIteration(Matrix3f AtA, Matrix3f matrix3f, Quaternionf quaternionf, Quaternionf quaternionf2) static QuaternionfapplyJacobiIterations(Matrix3f AtA, int numJacobiIterations) private static GivensPairapproximateGivensQuaternion(float a11, float a12, float a22) Computes the approximate Givens rotation factors(c, s) = (cos(phi), sin(phi))for a 2×2 matrix.private static voidStores A′XA into X, clobbering A.static booleanisOrthonormal(Matrix4f matrix) static booleanisTranslation(Matrix4f matrix) private static GivensPairqrGivensQuaternion(float a1, float a2) Computes the Givens quaternion for a QR factorization.static Matrix4fstatic Triple<Quaternionf, Vector3f, Quaternionf> Performs an approximate singular value decomposition on a 3×3 matrix.
-
Field Details
-
COT_PI_OVER_8
private static final float COT_PI_OVER_8- Mappings:
Namespace Name Mixin selector named COT_PI_OVER_8Lnet/minecraft/util/math/MatrixUtil;COT_PI_OVER_8:Fintermediary field_40746Lnet/minecraft/class_7837;field_40746:Fofficial aLf;a:F
-
SIN_COS_PI_OVER_8
- Mappings:
Namespace Name Mixin selector named SIN_COS_PI_OVER_8Lnet/minecraft/util/math/MatrixUtil;SIN_COS_PI_OVER_8:Lnet/minecraft/util/math/GivensPair;intermediary field_43146Lnet/minecraft/class_7837;field_43146:Lnet/minecraft/class_8218;official bLf;b:Le;
-
-
Constructor Details
-
MatrixUtil
private MatrixUtil()
-
-
Method Details
-
scale
- Mappings:
Namespace Name Mixin selector named scaleLnet/minecraft/util/math/MatrixUtil;scale(Lorg/joml/Matrix4f;F)Lorg/joml/Matrix4f;intermediary method_46414Lnet/minecraft/class_7837;method_46414(Lorg/joml/Matrix4f;F)Lorg/joml/Matrix4f;official aLf;a(Lorg/joml/Matrix4f;F)Lorg/joml/Matrix4f;
-
approximateGivensQuaternion
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 matrixa12- the average of the two elements on the minor diagonala22- the bottom-right element of the matrix- Mappings:
Namespace Name Mixin selector named approximateGivensQuaternionLnet/minecraft/util/math/MatrixUtil;approximateGivensQuaternion(FFF)Lnet/minecraft/util/math/GivensPair;intermediary method_46411Lnet/minecraft/class_7837;method_46411(FFF)Lnet/minecraft/class_8218;official aLf;a(FFF)Le;
-
qrGivensQuaternion
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 named qrGivensQuaternionLnet/minecraft/util/math/MatrixUtil;qrGivensQuaternion(FF)Lnet/minecraft/util/math/GivensPair;intermediary method_46410Lnet/minecraft/class_7837;method_46410(FF)Lnet/minecraft/class_8218;official aLf;a(FF)Le;
-
conjugate
Stores A′XA into X, clobbering A.- Mappings:
Namespace Name Mixin selector named conjugateLnet/minecraft/util/math/MatrixUtil;conjugate(Lorg/joml/Matrix3f;Lorg/joml/Matrix3f;)Vintermediary method_49742Lnet/minecraft/class_7837;method_49742(Lorg/joml/Matrix3f;Lorg/joml/Matrix3f;)Vofficial aLf;a(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 named applyJacobiIterationLnet/minecraft/util/math/MatrixUtil;applyJacobiIteration(Lorg/joml/Matrix3f;Lorg/joml/Matrix3f;Lorg/joml/Quaternionf;Lorg/joml/Quaternionf;)Vintermediary method_46415Lnet/minecraft/class_7837;method_46415(Lorg/joml/Matrix3f;Lorg/joml/Matrix3f;Lorg/joml/Quaternionf;Lorg/joml/Quaternionf;)Vofficial aLf;a(Lorg/joml/Matrix3f;Lorg/joml/Matrix3f;Lorg/joml/Quaternionf;Lorg/joml/Quaternionf;)V
-
applyJacobiIterations
- Mappings:
Namespace Name Mixin selector named applyJacobiIterationsLnet/minecraft/util/math/MatrixUtil;applyJacobiIterations(Lorg/joml/Matrix3f;I)Lorg/joml/Quaternionf;intermediary method_49741Lnet/minecraft/class_7837;method_49741(Lorg/joml/Matrix3f;I)Lorg/joml/Quaternionf;official aLf;a(Lorg/joml/Matrix3f;I)Lorg/joml/Quaternionf;
-
svdDecompose
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 named svdDecomposeLnet/minecraft/util/math/MatrixUtil;svdDecompose(Lorg/joml/Matrix3f;)Lorg/apache/commons/lang3/tuple/Triple;intermediary method_46412Lnet/minecraft/class_7837;method_46412(Lorg/joml/Matrix3f;)Lorg/apache/commons/lang3/tuple/Triple;official aLf;a(Lorg/joml/Matrix3f;)Lorg/apache/commons/lang3/tuple/Triple;
-
isTranslation
- Mappings:
Namespace Name Mixin selector named isTranslationLnet/minecraft/util/math/MatrixUtil;isTranslation(Lorg/joml/Matrix4f;)Zintermediary method_56826Lnet/minecraft/class_7837;method_56826(Lorg/joml/Matrix4f;)Zofficial aLf;a(Lorg/joml/Matrix4f;)Z
-
isOrthonormal
- Mappings:
Namespace Name Mixin selector named isOrthonormalLnet/minecraft/util/math/MatrixUtil;isOrthonormal(Lorg/joml/Matrix4f;)Zintermediary method_56827Lnet/minecraft/class_7837;method_56827(Lorg/joml/Matrix4f;)Zofficial bLf;b(Lorg/joml/Matrix4f;)Z
-