일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 다익스트라
- union find
- Brute Force
- 이진탐색
- SQL
- two pointer
- String
- Hash
- 스토어드 프로시저
- Trie
- MYSQL
- Two Points
- 그래프
- Dijkstra
- DP
- binary search
- Stored Procedure
Archives
- Today
- Total
codingfarm
3. 변환 - DirectXMath 라이브러리의 변환 함수들 본문
비례 행렬 생성
XMMATRIX XM_CALLCONV XMMatrixScaling(
float ScaleX,
float ScaleY,
float ScaleZ
);
벡터의 성분들로 비례 행렬 성생
XMMATRIX XM_CALLCONV XMMatrixScalingFromVector(
FXMVECTOR Scale );
$x,y,z$ 축에 대한 회전행렬 $R_x,R_y,R_z$ 생성
XMMATRIX XM_CALLCONV XMMatrixRotationX( float Angle );
XMMATRIX XM_CALLCONV XMMatrixRotationY( float Angle );
XMMATRIX XM_CALLCONV XMMatrixRotationZ( float Angle );
임의의 축에 대한 회전행렬 $R_n$
XMMATRIX XM_CALLCONV XMMatrixRotationAxis(
FXMVECTOR Axis,
float Angle
);
이동 행렬 생성
XMMATRIX XM_CALLCONV XMMatrixTranslation(
float OffsetX,
float OffsetY,
float OffsetZ
);
벡터의 성분들로 이동행렬 생성
XMMATRIX XM_CALLCONV XMMatrixTranslationFromVector(
FXMVECTOR Offset
);
벡터 대 행렬 곱 $vM$. 점 변환을 위해 $v_w=1$로 둔다.
XMVECTOR XM_CALLCONV XMVector3TransformCoord(
FXMVECTOR V,
FXMMATRIX M
);
벡터 대 행렬 곱 $vM$. 벡터 변환을 위해 $v_w=0$ 으로 둔다.
XMVECTOR XM_CALLCONV XMVector3TransformNormal(
FXMVECTOR V,
FXMMATRIX M
);
마지막 두 함수 XMVector3TransfromCoord와 XMVector3TransformNormal 에서 프로그래머가 $w$성분을 직접 설정할 필요는 없다.
XMVector3TransformCoord는 항상 $v_w=1$을 사용하고
XMVector3TransformNormal은 항상 $v_w=0$을 사용한다.
'computer graphics > DX12 book' 카테고리의 다른 글
4. COM(Component Object Model) (0) | 2021.01.11 |
---|---|
4. Direct3D 초기화 - 개요 (0) | 2021.01.11 |
3. 변환 - 좌표 변경 변환(change of coordinate transformation) (0) | 2020.11.22 |
3. 변환-선형변환, 아핀변환, 함성, 좌표 변경 변환 (0) | 2020.11.21 |
2. 행렬 대수 (0) | 2020.11.21 |
Comments