캐릭터 랜덤이동시에 목표지점이나 혹은 목표 회전각도에 얼추 도달했을 때
현재 위치나 각도를 목표지점/각도로 지정하는 방법에 대해서 질문드려봅니다.

//이동과 회전은 방향벡터를 경과시간 * 스피드스케일값으로
//스케일링해 기존 pos에 더해주는 방식을 사용하고 있습니다.

목적 남은거리( 벡터 ) = 목적지 위치 - 현재위치;
float 남은거리 = d3dxvec3length( 남은거리벡터 );
if( 남은거리 < 경과시간 * 이동스피드스케일값 )
{
        현재위치 = 목적지위치;
}

//각도
if( acosf( D3DXVec3Dot( &목적지로의 방향벡터, &현재 방향벡터 ) ) <= 경과시간 * 회전스피드스케일값 )
{
        현재 각도 = 목적지로의 각도;
}

위와 같이 만들었는데 캐릭터가 한축을 중심으로 공전하면서 계속 방황하게 되 버립니다. emoticon_04
위치/각도가 목표값과 비슷한지 어느정도 정확하게 판단해 낼때 보통 어떤 방식으로 사용하나요?

그리고 캐릭터가 어떤 목적지를 향해 이동한다고 했을 때 어떤 방법을 사용하는지 간단하게라도 설명해주실분 계시면 부탁드릴게요emoticon_11