From 02f5d86a891edb2f49851b400b0d2b2f8b4e4f98 Mon Sep 17 00:00:00 2001 From: Jacob Palecki Date: Fri, 24 Jul 2020 11:15:04 -0700 Subject: Add a basic windows forms grapher --- grapher/Form1.cs | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 grapher/Form1.cs (limited to 'grapher/Form1.cs') diff --git a/grapher/Form1.cs b/grapher/Form1.cs new file mode 100644 index 0000000..b51ebe5 --- /dev/null +++ b/grapher/Form1.cs @@ -0,0 +1,57 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace grapher +{ + public partial class Form1 : Form + { + public Form1() + { + InitializeComponent(); + var managedAccel = new ManagedAccel(6, 0, 0.025, 1.01, 0); + var orderedPoints = new SortedDictionary(); + + for (int i = 0; i < 100; i++) + { + for (int j = 0; j <= i; j++) + { + var output = managedAccel.Accelerate(i, j, 1, 6); + + var inMagnitude = Magnitude(i,j); + var outMagnitude = Magnitude(output.Item1, output.Item2); + var ratio = inMagnitude > 0 ? outMagnitude / inMagnitude : 0; + + if (!orderedPoints.ContainsKey(inMagnitude)) + { + orderedPoints.Add(inMagnitude, ratio); + } + } + } + + var series = this.chart1.Series.FirstOrDefault(); + series.Points.Clear(); + + foreach (var point in orderedPoints) + { + series.Points.AddXY(point.Key, point.Value); + } + } + + public static double Magnitude(int x, int y) + { + return Math.Sqrt(x * x + y * y); + } + + public static double Magnitude(double x, double y) + { + return Math.Sqrt(x * x + y * y); + } + } +} -- cgit v1.2.3 From eeb1287bb2ed3a634bf9f4ac713779dcfea229b2 Mon Sep 17 00:00:00 2001 From: Jacob Palecki Date: Fri, 24 Jul 2020 17:40:48 -0700 Subject: Add correct names and labels --- grapher/Form1.cs | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'grapher/Form1.cs') diff --git a/grapher/Form1.cs b/grapher/Form1.cs index b51ebe5..1915b01 100644 --- a/grapher/Form1.cs +++ b/grapher/Form1.cs @@ -10,12 +10,12 @@ using System.Windows.Forms; namespace grapher { - public partial class Form1 : Form + public partial class RawAcceleration : Form { - public Form1() + public RawAcceleration() { InitializeComponent(); - var managedAccel = new ManagedAccel(6, 0, 0.025, 1.01, 0); + var managedAccel = new ManagedAccel(6, 0, 1, 0.025, 0); var orderedPoints = new SortedDictionary(); for (int i = 0; i < 100; i++) @@ -35,13 +35,15 @@ namespace grapher } } - var series = this.chart1.Series.FirstOrDefault(); + var series = this.AccelerationChart.Series.FirstOrDefault(); series.Points.Clear(); foreach (var point in orderedPoints) { series.Points.AddXY(point.Key, point.Value); } + + this.AccelerationChart.ChartAreas[0].AxisX.RoundAxisValues(); } public static double Magnitude(int x, int y) @@ -53,5 +55,10 @@ namespace grapher { return Math.Sqrt(x * x + y * y); } + + private void Form1_Load(object sender, EventArgs e) + { + + } } } -- cgit v1.2.3