25.03.17 TIL

gksrudtlr
|2025. 3. 17. 20:51

스크린 좌표계 -> 월드 좌표 변환

  • 스크린 좌표계
    • 왼쪽 상단을 0,0을 기준으로 오른쪽 아래를 width-1, height-1로 하는 좌표계
    • 오른쪽 아래로 내려가면 + 방향으로 값이 늘어나는 특징을 가짐
  • 월드 좌표계
    • 보통 화면의 정 중앙을 0,0으로 하고, 가로를 -aspect ~ aspect, 세로를 -1~1로 하는 좌표계
    • 오른쪽 위로 가면 +, 왼쪽 아래로 가면 -로 우리가 많이 사용하는 데카르트 좌표계이다
    • aspect는 가로 세로 화면의 비율을 나타낸다
  • 좌표 변환
    • 스크린에서 월드로 좌표를 변환하기 위해서는 스크린과 월드 상의 좌표를 비율로 먼저 변경해야 한다
    • 일정한  변환을 위해 먼저 스크린 좌표계를 정규화 하여 0~1 사이의 값으로 만들어 줘야한다
    • 따라서 0<= xScreen <= width-1 -> 0<= xScreen / (width-1) <= 1, 0<=yScreen <= height-1 -> 0<= yScreen / (height -1) <=1 이 된다
    • 월드 좌표는 -aspect<= xWorld <= aspect -> 0 <= xWorld+aspect <= 2*aspect -> 0<= (xWorld+aspect)/2aspect<=1, -1<= yWorld <= 1-> 0 <= yWorld+1 <=2 -> 0<=(yWorld+1)/2 이된다
    • 결국 xScreen/ (width-1) = (xWorld+aspect)/2aspect, yScreen/(height-1) = (yWorld + 1)/2 이다
    • 이를 World로 연산하면 xWorld = 2aspect* xScreen/(width-1) - aspect, yWorld = 2* yScreen / (height-1) -1이 된다

'TIL' 카테고리의 다른 글

25.03.19 TIL  (0) 2025.03.19
25.03.18 TIL  (0) 2025.03.18
25.03.14 TIL  (0) 2025.03.14
25.03.11TIL  (0) 2025.03.11
25.03.10 TIL  (0) 2025.03.10