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); }
/// <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)); }