Nah! It isn't really confusing to use sine/cosine. For example:
function TC_NewXValue(X#,A#,D#)
NewX#=X#+(sin(A#)*D#)
endfunction NewX#
function TC_NewYValue(Y#,A#,D#)
NewY#=Y#-(sin(A#)*D#)
endfunction NewY#
function TC_NewZValue(Z#,A#,D#)
NewZ#=Z#+(cos(A#)*D#)
endfunction NewZ#
That is all those commands really are. Of course if you are doing flight or something where you can move in 3D then you have to make your step value via sine/cosine too. For example:
X#=TC_NewXValue(X#,AY#,D#*cos(AX#))
Y#=TC_NewYValue(Y#,AX#,D#)
Z#=TC_NewZValue(Z#,AY#,D#*cos(AX#))
If you don't do that then you can't move straight up and down because you will move forwards or backwards too.
[Edit]Sorry! Typo.[/Edit]