DirectX Graphics 프로그래밍 가이드 고정 기능 파이프라인 변환 행렬 행렬 연결   [목차열람] [주소복사] [슬롯비우기]
행렬 연결
 
Microsoft DirectX 9.0

행렬 연결


행렬을 사용하는 이점의 1 개는, 복수의 행렬을 곱셈해 그러한 효과를 조합할 수가 있다고 하는 것이다. 즉, 모델을 회전해, 다음에 다른 위치에 평행이동 하는 경우, 2 개의 행렬을 적용할 필요는 없다. 그 대신해, 회전 행렬과 평행이동 행렬을 곱셈해, 모든 효과를 가지는 합성 행렬을 생성한다. 이 처리는행렬 연결로 불려 다음 공식에서 기술할 수 있다.

행렬 연결의 공식

이 공식에서는, C 는 생성 하는 합성 행렬로, M1 ~ Mn 하행열 C 에 포함되는 각각의 변환이다. 대부분의 경우, 2 개 또는 3 개의 행렬을 연결하지만, 수에 제한은 없다.

D3DXMatrixMultiply 함수를 사용해, 행렬의 곱셈을 실행한다.

행렬의 곱셈을 실행하는 순서는 중요하다. 위에의 공식은, 행렬 연결의 "왼쪽에서 오른쪽" 규칙을 반영하고 있다. 즉, 합성 행렬을 생성 하기 위해서 사용하는 행렬의 효과는, 왼쪽에서 오른쪽의 순서로 나타난다. 일반적인 월드 변환 행렬의 예를 다음에 나타낸다. 상투적인 "비확인 비행물체의 총칭" 용의 월드 변환 행렬을 생성 하면 가정한다. 이 비확인 비행물체의 총칭을 중심 (모델 공간의 y 축)을 축으로 회전시켜, 신내의 다른 장소에 평행이동 하고 싶다고 한다. 이 효과를 실현하려면 , 다음의 식과 같이, 우선 회전 행렬을 생성 해, 다음에 이 행렬을 평행이동 행렬로 곱한다.

회전의 공식

이 공식에서는, Ry 는 y 축을 중심으로 회전하는 행렬로, Tw 는 월드 좌표의 임의의 위치 좌표에의 평행이동이다.

이러한 행렬을 곱셈하는 순서는 중요하다. 2 개의 스칼라-값을 곱셈하는 경우와는 달라, 행렬의 곱셈은 가환적이지 않다. 평행이동 행렬과 회전 행렬을 역의 순서로 곱셈 하면, 비확인 비행물체의 총칭이 월드 공간 위치로 이동하고 나서, 월드 좌표의 원점을 중심으로 회전 하면 말하는 시각 효과가 생긴다.

어떠한 행렬을 생성 하는 경우에서도, 기대 대로의 효과를 실현하기 위해서(때문에)는 "왼쪽에서 오른쪽" 규칙을 잊어서는 안된다.



© 2002 Microsoft Corporation. All rights reserved.
↑TOP