2017-03-11 1 views
0

내 문제는 제목에서 명확하지 않을 수도 있지만 그것은 아주 간단합니다얻기 비율

내가 상관없이 더블 "값"에 의해 (감소) VX와 VY을 증가 할 필요가 없습니다
angleInDegrees = Math.Atan2(vY, vX) * 180/Math.PI; 

것 " 각도가 90 도인 경우 vX가 "값"의 100 %로 증가하고 vY가 0 %만큼 증가하고 각도가 45 도인 경우 두 숫자가 모두 "값"의 50 %만큼 증가합니다. 나는 그것을 어떻게 성취 할 수 있는가?

enter image description here

답변

0

이 당신이 찾고있는 무엇입니까?

angleInDegrees = Math.Atan2(vY, vX) * 180/Math.PI; 
vX += value * angleInDegrees/90.0f; 
vY += value * (1 - (angleInDegrees/90.0f)); 
+0

은 각도가 0에서 90 사이 인 한 정상적으로 작동하지만 나머지는 직접 만들 수 있습니다. 내가 생각했던 것보다 쉬웠다 : D – Vordex

0

리터럴 답 :

if (angleInDegrees == 90) 
    vX *= 2.0; 

if (angleInDegrees == 45) 
{ 
    vX *= 1.5; 
    vY *= 1.5; 
} 

P.S. Atan2의 인수 순서는 (y, x)

+0

if 문의 assign 연산자가 'equal'연산자로 수정되었습니다. –

+0

아니요, 다른 점에 대해 물어 봅니다. 내 질문을 편집 할 것입니다 ... – Vordex

+0

@ Vordex 문제는 여전히 명확하지 않습니다. vx, vy에 대한 계수의 선형 의존성을 각도에서 구하고자합니까? – MBo