Пример #1
0
        private double FindSpineClosestDeflection(double rawTension, double spine, double start, double increment)
        {
            double range = increment * 10.0;
            double end   = start + (range * 0.5);
            double begin = start - (range * 0.5);

            if (start < 0.1)
            {
                start = 0.1;
            }

            double closestDeflection = 0;
            double closestDifference = 1000;

            for (double i = begin; i < end; i += increment)
            {
                double currentSpineAMO = SpineCalculator.GetSpineAMO(rawTension, i);

                double difference = Math.Abs(spine - currentSpineAMO);

                if (difference < closestDifference)
                {
                    closestDifference = difference;
                    closestDeflection = i;
                }
            }

            return(closestDeflection == 0 ? start : closestDeflection);
        }
Пример #2
0
 public double GetRawSpineFromTension(double spineTension)
 {
     return(SpineCalculator.GetSpineAMO(spineTension, Settings.FixedDeflection));
 }