public static Rotation3 Max(Rotation3 value1, Rotation3 value2)
 {
     return(new Rotation3(
                (value1.X > value2.X) ? value1.X : value2.X,
                (value1.Y > value2.Y) ? value1.Y : value2.Y,
                (value1.Z > value2.Z) ? value1.Z : value2.Z));
 }
 public static Rotation3 Min(Rotation3 value1, Rotation3 value2)
 {
     return(new Rotation3(
                (value1.X < value2.X) ? value1.X : value2.X,
                (value1.Y < value2.Y) ? value1.Y : value2.Y,
                (value1.Z < value2.Z) ? value1.Z : value2.Z));
 }
 public static Rotation3 SquareRoot(Rotation3 value)
 {
     return(new Rotation3((int)Math.Sqrt(value.X), (int)Math.Sqrt(value.Y), (int)Math.Sqrt(value.Z)));
 }
 public static Rotation3 Abs(Rotation3 value)
 {
     return(new Rotation3(Math.Abs(value.X), Math.Abs(value.Y), Math.Abs(value.Z)));
 }
 public static float Dot(Rotation3 rotation1, Rotation3 rotation2)
 {
     return(rotation1.X * rotation2.X +
            rotation1.Y * rotation2.Y +
            rotation1.Z * rotation2.Z);
 }
 public bool Equals(Rotation3 other)
 {
     return(X == other.X &&
            Y == other.Y &&
            Z == other.Z);
 }