AcTools.Utils.Physics.TorquePhysicUtils.TorqueToPower C# (CSharp) Метод

TorqueToPower() публичный статический Метод

public static TorqueToPower ( Lut torque, int detalization = 100 ) : Lut
torque Lut
detalization int
Результат Lut
        public static Lut TorqueToPower(Lut torque, int detalization = 100) {
            torque.UpdateBoundingBox();

            var startFrom = torque.MinX;
            var limit = torque.MaxX;

            var result = new Lut();

            var previousTorquePoint = 0;
            var previousRpm = 0d;
            for (var i = 0; i <= detalization; i++) {
                var rpm = detalization == 0 ? limit : (limit - startFrom) * i / detalization + startFrom;

                for (var j = previousTorquePoint; j < torque.Count; j++) {
                    var p = torque[j];

                    if (p.X > rpm) {
                        previousTorquePoint = j > 0 ? j - 1 : 0;
                        break;
                    }

                    if ((i == 0 || p.X > previousRpm) && p.X < rpm) {
                        result.Add(new LutPoint(p.X, TorqueToPower(p.Y, p.X)));
                    }
                }
                
                result.Add(new LutPoint(rpm, TorqueToPower(torque.InterpolateLinear(rpm), rpm)));
                previousRpm = rpm;
            }

            return result.Optimize();
        }

Same methods

TorquePhysicUtils::TorqueToPower ( double torque, double rpm ) : double