Spaces:
Build error
Build error
package com.mojang.math; | |
import org.joml.Math; | |
import org.joml.Matrix3f; | |
import org.joml.Quaternionf; | |
public record GivensParameters(float sinHalf, float cosHalf) { | |
public static GivensParameters fromUnnormalized(float p_276277_, float p_276305_) { | |
float f = Math.invsqrt(p_276277_ * p_276277_ + p_276305_ * p_276305_); | |
return new GivensParameters(f * p_276277_, f * p_276305_); | |
} | |
public static GivensParameters fromPositiveAngle(float p_276260_) { | |
float f = Math.sin(p_276260_ / 2.0F); | |
float f1 = Math.cosFromSin(f, p_276260_ / 2.0F); | |
return new GivensParameters(f, f1); | |
} | |
public GivensParameters inverse() { | |
return new GivensParameters(-this.sinHalf, this.cosHalf); | |
} | |
public Quaternionf aroundX(Quaternionf p_276271_) { | |
return p_276271_.set(this.sinHalf, 0.0F, 0.0F, this.cosHalf); | |
} | |
public Quaternionf aroundY(Quaternionf p_276323_) { | |
return p_276323_.set(0.0F, this.sinHalf, 0.0F, this.cosHalf); | |
} | |
public Quaternionf aroundZ(Quaternionf p_276281_) { | |
return p_276281_.set(0.0F, 0.0F, this.sinHalf, this.cosHalf); | |
} | |
public float cos() { | |
return this.cosHalf * this.cosHalf - this.sinHalf * this.sinHalf; | |
} | |
public float sin() { | |
return 2.0F * this.sinHalf * this.cosHalf; | |
} | |
public Matrix3f aroundX(Matrix3f p_276268_) { | |
p_276268_.m01 = 0.0F; | |
p_276268_.m02 = 0.0F; | |
p_276268_.m10 = 0.0F; | |
p_276268_.m20 = 0.0F; | |
float f = this.cos(); | |
float f1 = this.sin(); | |
p_276268_.m11 = f; | |
p_276268_.m22 = f; | |
p_276268_.m12 = f1; | |
p_276268_.m21 = -f1; | |
p_276268_.m00 = 1.0F; | |
return p_276268_; | |
} | |
public Matrix3f aroundY(Matrix3f p_276274_) { | |
p_276274_.m01 = 0.0F; | |
p_276274_.m10 = 0.0F; | |
p_276274_.m12 = 0.0F; | |
p_276274_.m21 = 0.0F; | |
float f = this.cos(); | |
float f1 = this.sin(); | |
p_276274_.m00 = f; | |
p_276274_.m22 = f; | |
p_276274_.m02 = -f1; | |
p_276274_.m20 = f1; | |
p_276274_.m11 = 1.0F; | |
return p_276274_; | |
} | |
public Matrix3f aroundZ(Matrix3f p_276317_) { | |
p_276317_.m02 = 0.0F; | |
p_276317_.m12 = 0.0F; | |
p_276317_.m20 = 0.0F; | |
p_276317_.m21 = 0.0F; | |
float f = this.cos(); | |
float f1 = this.sin(); | |
p_276317_.m00 = f; | |
p_276317_.m11 = f; | |
p_276317_.m01 = f1; | |
p_276317_.m10 = -f1; | |
p_276317_.m22 = 1.0F; | |
return p_276317_; | |
} | |
} |