Пример #1
0
        /// <summary>
        /// 计算夹角
        /// </summary>
        /// <param name="P_pre"></param>
        /// <param name="P_pos"></param>
        /// <param name="direction"></param>
        /// <returns></returns>
        public static Angle Get_IncludedAngle(Angle P_pre, Angle P_pos, Methods.Direction direction)
        {
            Angle a = new Angle(180, 0, 0);
            Angle b = new Angle(360, 0, 0);

            if (direction == Methods.Direction.left)
            {
                return((P_pos - P_pre + a + b) % b);
            }
            else
            {
                return((P_pre - P_pos + a + b) % b);
            }
        }
Пример #2
0
        /// <summary>
        /// 计算方位角
        /// </summary>
        /// <param name="PAngle0">已知方位角</param>
        /// <param name="ObservedAngle">观测角</param>
        /// <param name="direction">角方向</param>
        /// <returns></returns>
        public static Angle GetPangle(Angle PAngle0, Angle ObservedAngle, Methods.Direction direction)
        {
            Angle PAngle, a0 = new Angle(180, 0, 0), b0 = new Angle(360, 0, 0);

            if (direction == Methods.Direction.left)
            {
                PAngle = (PAngle0 + ObservedAngle - a0 + b0) % b0;
            }
            else
            {
                PAngle = (PAngle0 - ObservedAngle + a0 + b0) % b0;
            }
            return(PAngle);
        }
Пример #3
0
        public void TestRowMinSortDesc2()
        {
            var array = new int[, ]
            {
                { 0, 2 },
                { 3, 1 }
            };
            var expected = new int[, ]
            {
                { 3, 1 },
                { 0, 2 }
            };
            var dir = new Methods.Direction((x, y) => x < y);

            Methods.Sort(array, Methods.GetRowMin, dir);
            Test(array, expected);
        }
Пример #4
0
        public void TestRowMaxSortAsc1()
        {
            var array = new int[, ]
            {
                { 1, 2 },
                { 3, 1 }
            };
            var expected = new int[, ]
            {
                { 1, 2 },
                { 3, 1 }
            };
            var dir = new Methods.Direction((x, y) => x > y);

            Methods.Sort(array, Methods.GetRowMax, dir);
            Test(array, expected);
        }