선형 변환
행렬으로 표현
비례
- 비레변환은 물체의 크기를 바꾸는 효과를 나타낸다.
예시
- 최솟점 (-4,-4,0) 과 최댓점 (4,4,0) 으로 정의된 사각형을 z축은 그대로 두고 x축으로 0.5단위, y축으로 2단위 비례해 보자.
회전
-벡터 v를 축n에 대해 회전하는 변환 회전각은 n의 진행 방향을 기준으로 반시계방향으로 측정된다.
회전행렬
예시
- 최솟점(-1,0,-1)과 최댓점 (1,0,1)로 정의한 사각형을 y축에 대해 시계방향으로 –30도(반시계 방향으로 30도) 회전
아핀변환
동차변환-선형변환에 이동변환을 결합 한 것. 벡터는 이동에 불변
동차좌표- 점과 벡터를 동일한 방식으로 다룰수 있다. 동차좌표는 3차원 벡터에 w성분을 추가한 네값쌍의 형태
1.벡터를 나타내는 동차좌표는 (x,y,z,0)
2.점을 나타내는 동차좌표는 (x,y,z,1)
아핀변환은 선형변환에 이동벡터 b를 더한 것이다
이동
-인수(입력)을 그대로 돌려주는 선형변환, 즉 I(u)=u를 항등변환이라 한다.
이동변환은 선형변환 부분이 하나의 단위행렬인 아핀변환이라고 정의한다.
예시
- 최솟점(-8,2,0)과 최댓점 (-2,8,0)으로 정의되는 사각형 x축을 따라 12단위, y축을 따라 –10.0단위 이동, z축 위치는 그대로 둔다.
비례와 회전을 위한 아핀변환 행렬들 4*4 행렬로 표현
강체변환
물체의 형태가 그대로 유지된체 이동, 회전을 한 것
t는 물체가 얼마나 회전했는지 , b는 얼마나 이동할 것인지 나타내는 변위벡터
*동차좌표(점이면 w=1 , 벡터면 이동변환이 적용되지 않도록 w=0)
변환들의 합성
- S가 비례행렬, R이 회전행렬, T가 이동행렬이라 하고 i=0,1,2...,7 인 여덞 정점 vi들로 이루어진 입방체(직육면체)의 세 변환 적용
좌표 변경 변환- 한 좌표계의 좌표를 다른 좌표계의 좌표로 변경하는 것
벡터
두 좌표계 A와 B 그리고 벡터p가 있다. 좌표계 A에서 상대적인 p의 좌표가 PA=(x,y) 라고 할 때, 좌표계 B에 상대적인 좌표 p의 좌표를 구하자.
점
점에 대한 좌표 변경은 벡터에 대한 것과 약간 다르다. 점의 경우 위치가 중요
행렬 표현
결합법칙과 좌표 변경 행렬
세좌표계 F,G,H가 있다고 하자, 그리고 A가 F에서 G로의 좌표계 변경 행렬이고 B가 G에서 H로의 변경 행렬이라 하자. 한 벡터의 좌표계 F에 상대적인 좌표 pF를 좌표계 H에 상대적인 좌표 pH 로 변환을 하자.
역행렬과 좌표 변경 행렬
*본 내용들은 한빛미디어의 "DirectX 12를 이용한 3D 게임 프로그래밍 입문" 을 참고하여 작성됨
'DirectX( 다이렉트 X) > 수학 공식' 카테고리의 다른 글
3D 프로그래밍을 위한 행렬 (0) | 2018.09.12 |
---|---|
3D 프로그래밍을 위한 벡터 (0) | 2018.09.11 |