public static MyVector Multiply(this MyVector v, double c) { v.x *= c; v.y *= c; v.z *= c; return(v); }
public static MyVector Normalize(this MyVector v) { double div = Math.Sqrt(v.x * v.x + v.y * v.y + v.z * v.z); if (div != 0) { v.x /= div; v.y /= div; v.z /= div; } else { v.z = 1; } return(v); }
public static MyVector Add(this MyVector N, MyVector D, bool normalize = true) { N.x += D.x; N.y += D.y; N.z += D.z; if (normalize) { double div = Math.Sqrt(N.x * N.x + N.y * N.y + N.z * N.z); if (div != 0) { N.x /= div; N.y /= div; N.z /= div; } else { N.z = 1; } } return(N); }
public static double Cos(this MyVector N, MyVector L) { return(Math.Abs(N.x * L.x + N.y * L.y + N.z * L.z)); }