Пример #1
0
        /// <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;
            }
        }
Пример #2
0
        /// <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;
            }
        }