private void GenerateData(NPolarSeries series, int count, double scale) { series.Values.Clear(); series.Angles.Clear(); double angleStep = 2 * Math.PI / count; for (int i = 0; i < count; i++) { double angle = i * angleStep; double c1 = 1.0 * Math.Sin(angle * 3); double c2 = 0.3 * Math.Sin(angle * 1.5); double c3 = 0.05 * Math.Cos(angle * 26); double c4 = 0.05 * (0.5 - Random.NextDouble()); double value = scale * (Math.Abs(c1 + c2 + c3) + c4); if (value < 0) { value = 0; } series.Values.Add(value); series.Angles.Add(angle * 180 / Math.PI); } }
internal static void Curve1(NPolarSeries series, int count) { series.Values.Clear(); series.Angles.Clear(); double angleStep = 2 * Math.PI / count; for (int i = 0; i < count; i++) { double angle = i * angleStep; double radius = 1 + Math.Cos(angle); series.Values.Add(radius); series.Angles.Add(angle * 180 / Math.PI); } }
internal static void Curve2(NPolarSeries series, int count) { series.Values.Clear(); series.Angles.Clear(); double angleStep = 2 * Math.PI / count; for (int i = 0; i < count; i++) { double angle = i * angleStep; double radius = 33 + 100 * Math.Sin(2 * angle) + 1.7 * Math.Cos(2 * angle); radius = Math.Abs(radius); series.Values.Add(radius); series.Angles.Add(angle * 180 / Math.PI); } }