728x90
#회전행렬
회전 행렬이란?
원점을 기준으로 한점의 좌표값을 세타만큼 회전시켰을때,
그 해당 좌표를 구하는 방법이다.
위에서 x, y를 세타만큼 회전하여 x', y'가 나왔을 때
다음과 같이 정리 할 수 있다.
해당 식의 유도 과정은 회전행렬 식 관련하여 검색해보면 많이 나온다.
m_fAngle += 5.f;
float fRad = D3DXToRadian(m_fAngle);
for (int i = 0; i < 4; ++i)
{
vQ[i].x = vP[i].x*cosf(fRad) - (vP[i].y*-sinf(fRad));
vQ[i].y = vP[i].x*-sinf(fRad) + vP[i].y*cosf(fRad);
vQ[i] += m_tInfo.vPos; // 원하는 위치로 이동
}
vP 의 벡터를 사각형을 그리기 위한 4개의 점이라 했을 때,
해당 4개의 점을 각각 위의 식에 따라 회전시켜서 찍은뒤
4개의 선을 이어주면 된다.
728x90
'DirectX' 카테고리의 다른 글
모작일지(3) 현재 진행상황 (0) | 2021.08.09 |
---|---|
모작일지(2) (0) | 2021.08.09 |
모작 일지 (1) (0) | 2021.08.05 |
D3DMATRIX, D3DXMATRIX 및 함수 (0) | 2021.07.06 |
몬스터 -> 플레이어 추적 (내적 이용) (0) | 2021.07.06 |