영어로 읽기

다음을 통해 공유


Translation

일부 애플리케이션은 클라이언트 영역에 그려진 개체를 변환(또는 이동)합니다. SetWorldTransform 함수를 호출하여 적절한 세계 공간을 페이지 공간 변환으로 설정합니다. SetWorldTransform 함수는 적절한 값을 포함하는 XFORM 구조체에 대한 포인터를 받습니다. XFORM의 eDx 및 eDy 멤버는 각각 가로 및 세로 변환 구성 요소를 지정합니다.

변환이 발생하면 개체의 각 지점이 지정된 양만큼 세로, 가로 또는 둘 다로 이동합니다. 다음 그림에서는 세계 좌표 공간에서 페이지 좌표 공간으로 복사할 때 오른쪽으로 10 단위로 변환된 20 x 20 단위 사각형을 보여 줍니다.

세계 공간의 한 위치와 페이지 공간의 다른 위치에 있는 사각형을 보여 주는 그림

앞의 그림에서 사각형의 각 점의 x 좌표는 원래 x 좌표보다 10개 더 큽니다.

가로 변환은 다음 알고리즘으로 나타낼 수 있습니다.

x' = x + Dx 

여기서 x'는 새 x 좌표이고 x는 원래 x 좌표이고 Dx는 이동된 가로 거리입니다.

세로 변환은 다음 알고리즘으로 나타낼 수 있습니다.

y' = y + Dy 

여기서 y'는 새 y 좌표이고 y는 원래 y 좌표이고 Dy는 이동된 세로 거리입니다.

가로 및 세로 변환 변환은 3-by-3 행렬을 사용하여 단일 작업으로 결합할 수 있습니다.

                      |1   0   0| 
|x' y' 1| = |x y 1| * |0   1   0| 
                      |Dx  Dy  1| 

(행렬 곱셈 규칙으로, 한 행렬의 행 수는 다른 행렬의 열 수와 같아야 합니다. 행렬의 정수 1 |x y 1| 이 요구 사항을 충족하기 위해 추가된 자리 표시자입니다.)

그림 변환을 생성한 3 x 3 행렬에는 다음 값이 포함됩니다.

|1  0  0| 
|0  1  0| 
|10 0  1|