using Car_simulation.Core.Components; namespace Car_simulation.Core.Physics { public class ResistanceCalculator { public float CalculateDragForce(float speed, float dragCoefficient, float frontalArea) { return 0.5f * PhysicsUtil.AirDensity * dragCoefficient * frontalArea * speed * speed; } public float CalculateRollingResistanceForce(float mass, float rollingResistanceCoefficient) { return rollingResistanceCoefficient * mass * PhysicsUtil.G; } public float CalculateTotalResistanceForce(float speed, float mass, float dragCoefficient, float frontalArea, float rollingResistanceCoefficient) { float dragForce = CalculateDragForce(speed, dragCoefficient, frontalArea); float rollingForce = CalculateRollingResistanceForce(mass, rollingResistanceCoefficient); return dragForce + rollingForce; } } }