2017-01-27 4 views
0

다음 위치가지도의 경계로 간주되는지도의 데이터가 있습니다.확장 된지도의 위치 위치

  • 왼쪽 위가
  • 왼쪽 아래 (-93, 49)
  • 맨 오른쪽 (92, -25),
  • 하단 오른쪽 (92, 49)로 간주된다 (-93, -25)

나는 수레 인 값 사이에 많은 좌표를 가지고 있으며 볼 수 있도록지도 위에 배치하고 싶습니다.

게임지도 자체는 길이가 가로 세로 185, 세로 74 가로지만 가로 세로 1024와 높이 786의지도를보다 잘 볼 수 있도록 확장했습니다.

왼쪽 상단을 0,0으로 간주하는 Java JFrame에서이지도에 -52.6, 12.55와 같은 점을 올바르게 플로팅하는 방법은 무엇입니까? 마찬가지로, 그 자리를 그리기 위해 upscaled지도에서 적절한 위치를 얻으려면 어떻게 스케일합니까?

답변

1

786의 새 높이가 오타이고 768이어야하며 이전지도의 구석에 대한 좌표가 잘못 표시 될 가능성이 높습니다.

매핑 기능을 만들어야합니다. 하여 X가 -52.6 좌표위한

mappedX = (x - oldTopX) * (newWidth/oldWidth); 
mappedY = (oldTopY - y) * (newHeight/oldHeight); 

그래서, 새로운 매핑 X 점이다 (-52.6 - -93) * 새로운 매핑 Y 값은 223.6

같다 (185분의 1,024) (49 - 12.55)/(74분의 786) =

387.2 위키 백과는 당신이 찾고있는 무엇을 커버하는 좋은 2D 컴퓨터 그래픽 페이지가 있습니다 : https://en.wikipedia.org/wiki/2D_computer_graphics

+0

이 내가 필요 정확히이다. 고맙습니다! – DominicEU