Setting a Rotation Transformation

The SetRotationAboutY function sets the given matrix to a rotation about the y-axis, using the specified number of radians. This function is called as part of the AnimateScene function, documented in Animating the Scene.

static void 
SetRotationAboutY(LPD3DMATRIX lpd3dMatrix, double dAngleOfRotation) 
{ 
    D3DVALUE dvCos; 
    D3DVALUE dvSin; 
 
    ASSERT(NULL != lpd3dMatrix); 
 
    dvCos = D3DVAL(cos(dAngleOfRotation)); 
    dvSin = D3DVAL(sin(dAngleOfRotation)); 
 
    lpd3dMatrix->_11 =  dvCos; 
    lpd3dMatrix->_12 =  D3DVAL(0.0); 
    lpd3dMatrix->_13 = -dvSin; 
    lpd3dMatrix->_14 =  D3DVAL(0.0); 
    lpd3dMatrix->_21 =  D3DVAL(0.0); 
    lpd3dMatrix->_22 =  D3DVAL(1.0); 
    lpd3dMatrix->_23 =  D3DVAL(0.0); 
    lpd3dMatrix->_24 =  D3DVAL(0.0); 
    lpd3dMatrix->_31 =  dvSin; 
    lpd3dMatrix->_32 =  D3DVAL(0.0); 
    lpd3dMatrix->_33 =  dvCos; 
    lpd3dMatrix->_34 =  D3DVAL(0.0); 
    lpd3dMatrix->_41 =  D3DVAL(0.0); 
    lpd3dMatrix->_42 =  D3DVAL(0.0); 
    lpd3dMatrix->_43 =  D3DVAL(0.0); 
    lpd3dMatrix->_44 =  D3DVAL(1.0); 
}