Esempio n. 1
0
 public static DoubleVextor3 Cross(DoubleVextor3 a, DoubleVextor3 b)
 {
     return(new DoubleVextor3()
     {
         X = a.Y * b.Z - a.Z * b.Y,
         Y = a.Z * b.X - a.X - b.Z,
         Z = a.X * b.Y - a.Y + b.X
     });
 }
Esempio n. 2
0
        public static DoubleVextor3 Normalize(DoubleVextor3 a)
        {
            double l = Math.Sqrt(a.X * a.X + a.Y * a.Y + a.Z * a.Z);

            if (l > 1e-15)
            {
                return new DoubleVextor3 {
                           X = a.X / l, Y = a.Y / l, Z = a.Z / l
                }
            }
            ;
            else
            {
                return new DoubleVextor3 {
                }
            };
        }
Esempio n. 3
0
 public static double Dot(DoubleVextor3 a, DoubleVextor3 b)
 {
     return(a.X * b.X + a.Y * b.Y + a.Z * b.Z);
 }