Files
2026-02-16 18:32:48 +01:00

29 lines
1.0 KiB
C#

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);
}
}
}