-1
2 차원 공간에서 위치 및 회전을 가져 오는 객체가 있습니다.주어진 회전 및 필요한 거리로 새 위치 결정
X 및 Y 위치를 변경하는 유일한 방법으로 회전되는 동일한 방향으로 X와 Y 사이에서 총 12 미터의 물체 위치를 전진시켜야합니다.
이것은 내가 시도하고 실패한 것의 (나쁜) 예입니다.
if (direction <= 45)
{
float nx = Convert.ToSingle(direction * .13333333);
float ny = 12 - nx;
} else if (direction <= 90)
{
float ny = Convert.ToSingle((90 - direction) * .133333333);
float nx = 12 - ny;
} else if (direction <= 135)
{
float ny = Convert.ToSingle((135 - direction) * -.133333333);
float nx = -12 - ny;
} else if (direction <= 180)
{
float nx = Convert.ToSingle((180 - direction) * -.133333333);
float ny = -12 - nx;
}
원하는 결과를 얻기 위해 올바른 공식 또는 방법을 사용하고 있습니까? 나는 Cos와 Tan이 필요하다고 믿을만한 이유가 있지만, 언제 어떻게 사용해야하는지 생각하고있다.
나는 조금 (2D) 벡터 수학의 기초에 보일 것 같아요. Google은이 점에서 리소스를 찾는 데 정말로 탁월합니다. – elgonzo
sinus와 cosinus가있는 벡터를 만드는 경우 조건을 모두 피할 수 있습니다. 거리는 'x = distance * cos (angle)'와'y = 거리 * 죄 (각도)'를 비교합니다. tangens는 요구되어서는 안된다. 각도는 라디안으로 지정해야합니다 (전체 원 = 2 * Pi). – dlatikay