# GetChangedPosition(vector, float, float)

Convenience function that returns a vector that is fDistance away in fAngle direction

vector GetChangedPosition( vector vOriginal, float fDistance, float fAngle );

#### Parameters

*vOriginal*

Original Position as a Vector

*fDistance*

Distance to new location

*fAngle*

Direction to new location

#### Description

This is a convenience function that returns a vector representing the position that is [(fDistance:float*meters) at fAngle:float] from vOriginal:vector. The function does not calculate any change in the Z-axis, instead assigning the current Z-axis to the new position. If a negative coordinate is generated, the absolute value will be used instead.

Calls

float GetChangeInX(float fDistance, float fAngle)

float GetChangeInY(float fDistance, float fAngle)

#### Remarks

This writer has to wonder why the author of this function didn’t simply write it as follows:

vector vChanged;

vChanged.z = vOriginal.z;

vChanged.x = vOriginal.x + (fDistance* Cos(fAngle));

if (vChanged.x < 0.0)

vChanged.x = - vChanged.x;

vChanged.y = vOriginal.y + (fDistance* Sin(fAngle));

if (vChanged.y < 0.0)

vChanged.y = - vChanged.y;

return vChanged;

This would have avoided the cognitive overhead of two extra functions (GetChangeInX, and GetChangeInY). Although I can see the need for a AbsFloat(fNum:Float):float that returns the absolute value of a float (since the Abs function takes an int)...

#### Requirements

#include "x0_i0_position"

#### Version

1.61

#### See Also

functions: | GetChangeInX | GetChangeInY |

categories: | Math Functions | Miscellaneous Functions | Movement Functions |

author: Michael Nork