/// <summary> /// Calculates The CrossProduct Of A Pair Of Vectors /// </summary> /// <param name="lhs"></param> /// <param name="rhs"></param> /// <returns></returns> public static Vector CrossProduct(Vector lhs, Vector rhs) { if ((lhs.Dimension != rhs.Dimension) || (lhs.Dimension != 3)) { throw new System.ArgumentException("lhs & rhs Dimensions are different or not equal to 3"); } else { Vector output = new MathLib.Vector(3); output[0] = lhs[2] * rhs[3] - lhs[3] * rhs[2]; output[1] = lhs[3] * rhs[1] - lhs[1] * rhs[3]; output[2] = lhs[1] * rhs[2] - lhs[2] * rhs[1]; return output; } }
/// <summary> /// / Operator: does pointwise division /// </summary> /// <param name="lhs"></param> /// <param name="rhs"></param> /// <returns></returns> public static MathLib.Vector operator /(Vector lhs, Vector rhs) { if (lhs.Dimension != rhs.Dimension) { throw new System.ArgumentException("lhs & rhs Dimensions are different"); } else { int i; Vector output = new MathLib.Vector(lhs.Dimension); for (i = 0; i < lhs.Dimension; i++) { output[i] = lhs[i] / rhs[i]; } return output; } }