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;
   }
}