Esempio n. 1
0
        public void ToStandardRadianTest()
        {
            //1角度 = Pi/180 弧度
            //360角度为 360*Pi/180 (即 2 Pi) 弧度

            //1. Not a number
            var result = FormateTool.ToStandardRadian(double.NaN);

            Assert.AreEqual(result, double.NaN);

            //2. 弧度为2Pi+1,结果应为1
            var result1 = FormateTool.ToStandardRadian(2 * Math.PI + 1);

            Assert.AreEqual(result1, 1);

            //3. 弧度为4Pi+4,结果应为4
            var result2 = FormateTool.ToStandardRadian(4 * Math.PI + 4);

            Assert.AreEqual(result2, 4);

            //4. 弧度为-4Pi-4,结果应为Pi(标准弧度为 0-2Pi)
            var result3 = FormateTool.ToStandardRadian(-4 * Math.PI - Math.PI);

            Assert.AreEqual(result3, Math.PI);
        }
Esempio n. 2
0
 /// <summary>
 /// 已知距离和角度(弧度)计算下一个点
 /// </summary>
 /// <param name="radian"></param>
 /// <param name="precision"></param>
 /// <returns></returns>
 public Point3D GetNextPoint(double radian, double precision)
 {
     radian = FormateTool.ToStandardRadian(radian);
     return(new Point3D(precision * Math.Sin(radian) + this.X, precision * Math.Cos(radian) + this.Y, this.Z));
 }