Programming/DirectX
방향넣으면 각도 출력하는 함수
어둠을 가르는 카리스마
2009. 11. 6. 17:05
float CalAngle(D3DXVECTOR3 vDrt)
{
D3DXVECTOR3 vP1, vP2;
D3DXVECTOR3 vCrossResult;
float fDotResult;
vP1 = D3DXVECTOR3(-1, 0, 0);
vDrt = -1.0f * vDrt;
//노말라이즈
D3DXVec3Normalize(&vP2, &vDrt);
// 외적구해서 내적 방향3을 정한다.
D3DXVec3Cross(&vCrossResult, &vP1, &vP2);
// 내적구해서 각도를 구한다
fDotResult = D3DXVec3Dot(&vP1, &vP2);
if(vCrossResult.y > 0)
return acosf(fDotResult);
else if(vCrossResult.y < 0.0f)
{
return D3DX_PI * 2 - acosf(fDotResult);
}
return acosf(fDotResult);
}