Exemplo n.º 1
0
        public static Vector3Json operator /(Vector3Json v1, float f)
        {
            Vector3Json res = new Vector3Json();

            res.X = v1.X / f;
            res.Y = v1.Y / f;
            res.Z = v1.Z / f;
            return(res);
        }
Exemplo n.º 2
0
        public static Vector3Json operator +(Vector3Json v1, Vector3Json v2)
        {
            Vector3Json res = new Vector3Json();

            res.X = v1.X + v2.X;
            res.Y = v1.Y + v2.Y;
            res.Z = v1.Z + v2.Z;
            return(res);
        }
Exemplo n.º 3
0
        public static Vector3Json Diff(Vector3Json v1, Vector3Json v2)
        {
            Vector3Json res = new Vector3Json();

            res.X = (v1.X - v2.X);
            res.Y = (v1.Y - v2.Y);
            res.Z = (v1.Z - v2.Z);

            return(res);
        }
Exemplo n.º 4
0
 public static Vector3Json Mediate(Vector3Json v1, Vector3Json v2, double minDis = 0)
 {
     if (minDis == 0 || Distance(v1, v2) > minDis)
     {
         Vector3Json res = new Vector3Json();
         res.X = (v1.X + v2.X) / 2;
         res.Y = (v1.Y + v2.Y) / 2;
         res.Z = (v1.Z + v2.Z) / 2;
         return(res);
     }
     return(v1);
 }
Exemplo n.º 5
0
 public static Vector3Json Mean(List <Vector3Json> lst)
 {
     if (lst != null && lst.Count > 0)
     {
         Vector3Json r = new Vector3Json();
         foreach (var i in lst)
         {
             r += i;
         }
         return(r / lst.Count);
     }
     return(null);
 }
Exemplo n.º 6
0
        public static double Distance(Vector3Json v1, Vector3Json v2)
        {
            Vector3Json res = Diff(v1, v2);

            return(Math.Sqrt(Math.Pow(res.X, 2) + Math.Pow(res.Y, 2) + Math.Pow(res.Z, 2)));
        }