25 lines
961 B
C#
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;
|
|
}
|
|
}
|
|
} |