2012-12-29 5 views
4

각도와 속도를 기반으로 한 게임에서 인공 지능에 대한 움직임을 프로그래밍하고 있습니다. x, y 축을 기반으로하는 2D 프로그램입니다. 저는 현재 AI의 속도와 현재 방향을 설명하는 속도 벡터 인 위치 벡터를 가지고 있습니다. AI를 이동할 때마다 속도 벡터를 현재 위치에 추가하여 새로운 위치를 얻습니다. 순간 운동은 8 방향입니다. 내가 구현하고자하는 것은 각도 기반 운동 (보다 현실적인 운동 유형)이며 각도와 속도 상수로부터 속도 벡터를 계산할 수 있는지 궁금해했습니다.각도와 속도를 기반으로 한 속도 벡터 찾기

미리 감사드립니다.

+1

기본 선형 대수학 책을 살펴보십시오. (또는 종이에 새겨 놓을 수도 있습니다.) – MrSmith42

답변

13

이렇게하는 것이 좋습니다.

내가 당신의 프로그램이 삼각법을 통해

position_X += velocity_X 
position_Y += velocity_Y 

작동 구상이

velocity_X = velocity*cos(angle) 
velocity_Y = velocity*sin(angle) 

enter image description here

몇 가지주의

  1. 을 포함 할 수있는 방법입니다 모스 당신이 위에서 아래로 갈 때 Y가 증가 할 것입니다.
  2. 역 문제는 두 개의 해법을 가지고 있습니다. 2 입력 역 탄젠트 함수를 살펴보아야합니다. https://gamedev.stackexchange.com/questions/14602/what-are-atan-and-atan2-used-for-in-games
관련 문제