For instance:
SIN of 52 degrees is: 0.78801075360672195669397778783585
COS of 52 degrees is: 0.61566147532565827966881109284366
if I wanted to move the object 1m in the forward direction, I would do the following:
_pos = getPosWorld Object;
_xpos = _pos select 0;
_ypos = _pos select 0;
_zpos = _pos select 0;
Object setPositonWorld [_xpos + (cos(52) * 1),_ypos + (cos(52) * 1),_zpos];
this would move the object forward in the direction it's heading.
if I want to do it by .1 instead of 1 is where the issue is.
Since the significant values are only 6 places, my COS and SIN are:
SIN of 52 degrees is: 0.78801
COS of 52 degrees is: 0.61566
when I take 1/10th of this value I get:
SIN of 52 degrees * 1/10th: 0.07880
COS of 52 degrees * 1/10th: 0.06156
This skews the direction of the object and makes it move a little right or left.
This is not precise enough, I suggest bringing it to 10 significant values.