CoordinateRotator class
Пакет: com.hypixel.hytale.procedurallib.random
Файл: com/hypixel/hytale/procedurallib/random/CoordinateRotator.java
implements: ICoordinateRandomizer
Поля (23)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
CoordinateRotator |
NONE |
|
double |
var10 |
|
double |
var12 |
|
double |
var14 |
|
double |
var16 |
|
double |
var18 |
|
double |
var20 |
|
double |
var22 |
|
double |
var24 |
|
double |
var26 |
|
double |
var28 |
|
double |
var30 |
|
double |
var32 |
|
double |
var34 |
|
double |
var36 |
|
double |
var38 |
|
double |
var4 |
|
double |
var40 |
|
double |
var42 |
|
double |
var44 |
|
double |
var46 |
|
double |
var6 |
|
double |
var8 |
Методы (7)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
static |
double[] |
createRotationMatrixdouble[] createRotationMatrix(double var0, double var2) |
static |
double |
dotdouble dot(double var0, double var2, double var4, double var6, double var8, double var10) |
public |
double |
rotateXdouble rotateX(double var1, double var3) |
public |
double |
rotateXdouble rotateX(double var1, double var3, double var5) |
public |
double |
rotateYdouble rotateY(double var1, double var3) |
public |
double |
rotateYdouble rotateY(double var1, double var3, double var5) |
public |
double |
rotateZdouble rotateZ(double var1, double var3, double var5) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.procedurallib.random;
class="kw">import com.hypixel.hytale.math.util.TrigMathUtil;
class="kw">import javax.annotation.Nonnull;
class="kw">public class CoordinateRotator class="kw">implements ICoordinateRandomizer {
class="kw">public class="kw">static class="kw">final CoordinateRotator NONE = new CoordinateRotator(0.0, 0.0);
class="kw">public class="kw">static class="kw">final int X0 = 0;
class="kw">public class="kw">static class="kw">final int Y0 = 1;
class="kw">public class="kw">static class="kw">final int Z0 = 2;
class="kw">public class="kw">static class="kw">final int X1 = 3;
class="kw">public class="kw">static class="kw">final int Y1 = 4;
class="kw">public class="kw">static class="kw">final int Z1 = 5;
class="kw">public class="kw">static class="kw">final int X2 = 6;
class="kw">public class="kw">static class="kw">final int Y2 = 7;
class="kw">public class="kw">static class="kw">final int Z2 = 8;
class="kw">protected class="kw">final double pitch;
class="kw">protected class="kw">final double yaw;
@Nonnull
class="kw">protected class="kw">final double[] matrix;
class="kw">public CoordinateRotator(double var1, double var3) {
this.pitch = var1;
this.yaw = var3;
this.matrix = createRotationMatrix(var1, var3);
}
class="kw">public double rotateX(double var1, double var3) {
class="kw">return var1 * this.matrix[0] + var3 * this.matrix[2];
}
class="kw">public double rotateY(double var1, double var3) {
class="kw">return var1 * this.matrix[6] + var3 * this.matrix[8];
}
class="kw">public double rotateX(double var1, double var3, double var5) {
class="kw">return var1 * this.matrix[0] + var3 * this.matrix[1] + var5 * this.matrix[2];
}
class="kw">public double rotateY(double var1, double var3, double var5) {
class="kw">return var1 * this.matrix[3] + var3 * this.matrix[4] + var5 * this.matrix[5];
}
class="kw">public double rotateZ(double var1, double var3, double var5) {
class="kw">return var1 * this.matrix[6] + var3 * this.matrix[7] + var5 * this.matrix[8];
}
@Override
class="kw">public double randomDoubleX(int var1, double var2, double var4) {
class="kw">return this.rotateX(var2, var4);
}
@Override
class="kw">public double randomDoubleY(int var1, double var2, double var4) {
class="kw">return this.rotateY(var2, var4);
}
@Override
class="kw">public double randomDoubleX(int var1, double var2, double var4, double var6) {
class="kw">return this.rotateX(var2, var4, var6);
}
@Override
class="kw">public double randomDoubleY(int var1, double var2, double var4, double var6) {
class="kw">return this.rotateY(var2, var4, var6);
}
@Override
class="kw">public double randomDoubleZ(int var1, double var2, double var4, double var6) {
class="kw">return this.rotateZ(var2, var4, var6);
}
@Nonnull
@Override
class="kw">public String toString() {
class="kw">return "CoordinateRotator{pitch=" + this.pitch + ", yaw=" + this.yaw + "}";
}
class="kw">public class="kw">static double[] createRotationMatrix(double var0, double var2) {
double var4 = TrigMathUtil.sin(var2);
double var6 = TrigMathUtil.cos(var2);
double var8 = TrigMathUtil.sin(var0);
double var10 = TrigMathUtil.cos(var0);
double var12 = 1.0;
double var14 = 0.0;
double var16 = 0.0;
double var18 = 0.0;
double var20 = var10;
double var22 = -var8;
double var24 = 0.0;
double var26 = var8;
double var28 = var10;
double var30 = var6;
double var32 = 0.0;
double var34 = var4;
double var36 = 0.0;
double var38 = 1.0;
double var40 = 0.0;
double var42 = -var4;
double var44 = 0.0;
double var46 = var6;
class="kw">return new double[]{
dot(var12, var14, var16, var30, var36, var42),
dot(var12, var14, var16, var32, var38, var44),
dot(var12, var14, var16, var34, var40, var46),
dot(var18, var20, var22, var30, var36, var42),
dot(var18, var20, var22, var32, var38, var44),
dot(var18, var20, var22, var34, var40, var46),
dot(var24, var26, var28, var30, var36, var42),
dot(var24, var26, var28, var32, var38, var44),
dot(var24, var26, var28, var34, var40, var46)
};
}
class="kw">private class="kw">static double dot(double var0, double var2, double var4, double var6, double var8, double var10) {
class="kw">return var0 * var6 + var2 * var8 + var4 * var10;
}
}