2013-04-26 10 views
1

rotation matrix을 구현하려고합니다. 그러나 매우 이상한 영향을 : How it look likeJava의 Math.sin 및 Math.cos는 어떻게됩니까? 어떻게 고쳐?

이 내 코드입니다 :

public void rotation(PointF point, double a) { 

    point.x = (point.x - 400) * Math.cos(a) - (point.y - 300) * Math.sin(a) 
      + 400; 
    point.y = (point.x - 400) * Math.sin(a) + (point.y - 300) * Math.cos(a) 
      + 300; 
} 

결과에서 400,300 좌표에서이 떨어지는 점.

무엇이 잘못 되었나요? 나는 원을 그리며 점을 움직이고 싶습니까? 어떻게 더 잘할 수 있니?

double x = point.x * Math.cos(a) - point.y * Math.sin(a); 
double y = point.x * Math.sin(a) + point.y * Math.cos(a); 
point.x = x; 
point.y = y; 

너무 일찍 point.x 수정 방지하기 위해 같은

+0

'400'을 '400f'로 변경하고 '300'을 '300f'로 변경하면 어떻게됩니까? – durron597

+0

Nothing. 여전히 "떨어지고있다". 내 point.x는 double입니다. – AMSmirnov

답변

6

음이 안?

+0

아 물론. 이것은 정답입니다. – durron597

+0

작품입니다. 고맙습니다! – AMSmirnov