Package net.minecraft.util.math
Class MatrixUtil
java.lang.Object
net.minecraft.util.math.MatrixUtil
- Mappings:
Namespace Name official f
intermediary net/minecraft/class_7837
named net/minecraft/util/math/MatrixUtil
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprivate static void
applyJacobiIteration
(Matrix3f AtA, Matrix3f matrix3f, Quaternionf quaternionf, Quaternionf quaternionf2) static Quaternionf
applyJacobiIterations
(Matrix3f AtA, int numJacobiIterations) 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.private static void
Stores A′XA into X, clobbering A.private static GivensPair
qrGivensQuaternion
(float a1, float a2) Computes the Givens quaternion for a QR factorization.static Matrix4f
static 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 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
- 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
- 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
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 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
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
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
- 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
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;
-