Imaginary:
There are two ways to store a vector.
You can store is as an X,Y pair, and you can store it as an Angle and a Magnitude.
You can convert between the two like so:
X = Magnitude * Cos(Angle)
Y = Magnitude * Sin(Angle)
Magnitude = Sqr(X^2 + Y^2)
Angle = Atan2(Y, X)
Storing them as an angle and a magnitude gives you the benefit of being able to keep track of which direction the entity was moving in even when it has stopped moving, whereas that information is destroyed when using X and Y. It also makes it easy to slow an entity down due to friction, and adjust its direction of travel.
However, when you start doing physics, you need the components to be in the X and Y format because you need to calculate what angle surfaces are at on the axes and how the velocity changes on those axes after the collision. And when you move into 3D, being able to easily adjust your angle loses its benefits because you now have two of them and generally don't want to move in a single plane.
So it turns out you have to convert between these two regardless of which format you use. So you might as well use the XY format which is used far more often. You won't even save on the square root if you use the angle magnitude method cause you'll have to convert to XY to do the physics and then do the square root to convert back for storage.
There are two ways to store a vector.
You can store is as an X,Y pair, and you can store it as an Angle and a Magnitude.
You can convert between the two like so:
X = Magnitude * Cos(Angle)
Y = Magnitude * Sin(Angle)
Magnitude = Sqr(X^2 + Y^2)
Angle = Atan2(Y, X)
Storing them as an angle and a magnitude gives you the benefit of being able to keep track of which direction the entity was moving in even when it has stopped moving, whereas that information is destroyed when using X and Y. It also makes it easy to slow an entity down due to friction, and adjust its direction of travel.
However, when you start doing physics, you need the components to be in the X and Y format because you need to calculate what angle surfaces are at on the axes and how the velocity changes on those axes after the collision. And when you move into 3D, being able to easily adjust your angle loses its benefits because you now have two of them and generally don't want to move in a single plane.
So it turns out you have to convert between these two regardless of which format you use. So you might as well use the XY format which is used far more often. You won't even save on the square root if you use the angle magnitude method cause you'll have to convert to XY to do the physics and then do the square root to convert back for storage.