private Vector2d ComputeCacheEntry(int v, int a, int m)
{
double vel = MaxVelocity * (double)v / (double)(InternalArray.GetLength(0) - 1);
Vector3d velocity = new Vector3d(vel, 0, 0);
double AoA = MaxAoA * ((double)a / (double)(InternalArray.GetLength(1) - 1) * 2.0 - 1.0);
double currentAltitude = MaxAltitude * (double)m / (double)(InternalArray.GetLength(2) - 1);
Vector2d packedForce = Model.PackForces(Model.ComputeForces(currentAltitude, velocity, new Vector3d(0, 1, 0), AoA), currentAltitude, vel);
return(InternalArray[v, a, m] = packedForce);
}