using Car_simulation.Core.Physics; namespace Car_simulation.Core.Components { public class Aerodynamics { public float DragCoefficient { get; set; } = 0.3f; public float FrontalArea { get; set; } = 2.2f; // m² public float RollingResistanceCoefficient { get; set; } = 0.015f; private readonly ResistanceCalculator _resistanceCalculator = new ResistanceCalculator(); public float CalculateDragForce(float speed) { return _resistanceCalculator.CalculateDragForce(speed, DragCoefficient, FrontalArea); } public float CalculateRollingResistanceForce(float mass) { return _resistanceCalculator.CalculateRollingResistanceForce(mass, RollingResistanceCoefficient); } public float CalculateTotalResistanceForce(float speed, float mass) { return _resistanceCalculator.CalculateTotalResistanceForce( speed, mass, DragCoefficient, FrontalArea, RollingResistanceCoefficient); } } }