2013-03-19 3 views
3

내가 GC에 2D 변환 aplied 가정되는 변형으로 :2D 변환 - 변환 좌표

Transform trRotated = new Transform(display); 
    trRotated.rotate(-90); 
    gc.setTransform(trRotated); 

시스템은 반 시계 방향으로 회전 좌표 - X ACHSE 최대 점 오른쪽 Y의 ACHSE 포인트.

좌표가 Y를 가리키고 X가 오른쪽을 가리키는 것처럼 가정합니다.

예. 변환 전 (2,3) 인 녹색 점의 좌표를 입력하고 싶습니다. 변환을 고려할 경우 좌표 인 (-3,2)로 변환해야합니다.

질문 : 내가 수동으로 좌표를 변환 할 필요가 아니면 가능한 transform를 사용하여, 자동적으로 변환 할 솜 방법이 있습니까?

enter image description here

+0

내가 올바른 방법으로 질문을 얻을 수 있는지 확실하지 않습니다,하지만 당신이 원하는대로 그릴 GC 컨텍스트로 변환 한 다음 변환을 설정하면 변환 결과가 '변환'인스턴스를 설정하여 선택한대로 변환됩니다. 수동으로 변환 할 필요가없는 변환 만 사용하십시오. – Sorceror

답변

0

나는 당신이 필요로하는 회전 기능의 맥락이 무엇인지 확실하지 않다.

그러나, 대한 세타도에서 사각형을 회전 (예를 들어 Math.toRadians (90))를 사용할 수 있습니다 :

AffineTransform transform = new AffineTransform(); 
transform.rotate(theta, rect.getX() + rect.width/2, rect.getY() + rect.height/2); 
g2.transform(transform);