newVelocity = oldVelocity * exp(-friction * elapsedTime)
Hi guys, just wanted to take part to this interesting discussion and wanted to have some feedback about *not* using the exp function and using pow instead.
Let me explain why: i'm not sure if by using the approximation to the Euler's number is introducing some error that could accumulate in time or not, it could be barely noticeable anyway, but the thing that itch me with exp is that you need to work out yet another factor.
As an example, assuming we are working with a fixed timestep, let's suppose that your first version, at 60hz, is good with a friction of 0.975, then the exp factor should be ~1.5 so that:
exp(-1.5 * (1/60))=0.975309and
exp(-1.5 * (1/30))=0.951229
By using pow instead, you are sure you are not introducing any "error" and you don't need to "search" for the correct factor since:
pow(0.975, 60*(1/60))=0.975and
pow(0.975, 60*(1/30))=0.950625
I tested both in my engine and they behave and looks pratically the same, so it's basically a non-issue, but visual results aside, what do you all think from a mathematical standpoint?