Files
Car-Simulation/Car simulation/Core/Physics/ResistanceCalculator.cs
2026-02-16 18:32:48 +01:00

25 lines
961 B
C#

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