From 82b49b149f998a878375e6158e97667a9ea26097 Mon Sep 17 00:00:00 2001 From: Jacob Palecki Date: Wed, 16 Sep 2020 20:42:37 -0700 Subject: Fix chart scaling for DPIs < 1200 --- grapher/Models/Calculations/AccelCalculator.cs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/grapher/Models/Calculations/AccelCalculator.cs b/grapher/Models/Calculations/AccelCalculator.cs index 092a7aa..4627732 100644 --- a/grapher/Models/Calculations/AccelCalculator.cs +++ b/grapher/Models/Calculations/AccelCalculator.cs @@ -46,6 +46,8 @@ namespace grapher.Models.Calculations private double XYMaxVelocity { get; set; } private int Increment { get; set; } + + private double MeasurementTime { get; set; } #endregion Fields @@ -62,14 +64,14 @@ namespace grapher.Models.Calculations Calculate(data.Y, accel, settings.sensitivity.y, MagnitudesY); } - public static void Calculate(AccelChartData data, ManagedAccel accel, double starter, ICollection magnitudeData) + public void Calculate(AccelChartData data, ManagedAccel accel, double starter, ICollection magnitudeData) { double lastInputMagnitude = 0; double lastOutputMagnitude = 0; foreach (var magnitudeDatum in magnitudeData) { - var output = accel.Accelerate(magnitudeDatum.x, magnitudeDatum.y, 1); + var output = accel.Accelerate(magnitudeDatum.x, magnitudeDatum.y, MeasurementTime); var outMagnitude = Magnitude(output.Item1, output.Item2); var ratio = magnitudeDatum.magnitude > 0 ? outMagnitude / magnitudeDatum.magnitude : starter; @@ -176,7 +178,9 @@ namespace grapher.Models.Calculations { var dpiPollFactor = DPI.Data / PollRate.Data; CombinedMaxVelocity = dpiPollFactor * Constants.MaxMultiplier; - Increment = (int)Math.Floor(CombinedMaxVelocity / Constants.Resolution); + var ratio = CombinedMaxVelocity / Constants.Resolution; + Increment = ratio > 1 ? (int) Math.Floor(ratio) : 1; + MeasurementTime = Increment == 1 ? 1 / ratio : 1; XYMaxVelocity = CombinedMaxVelocity * Constants.XYToCombinedRatio; MagnitudesCombined = GetMagnitudes(); MagnitudesX = GetMagnitudesX(); -- cgit v1.2.3