question: void zrot ( double theta ) { theta *= ( pi / 180 ) ; double ct = Math . cos ( theta ) ; double st = Math . sin ( theta ) ; float Nyx = ( float ) ( yx * ct + xx * st ) ; float Nyy = ( float ) ( yy * ct + xy * st ) ; float Nyz = ( float ) ( yz * ct + xz * st ) ; float Nyo = ( float ) ( yo * ct + xo * st ) ; float Nxx = ( float ) ( xx * ct - yx * st ) ; float Nxy = ( float ) ( xy * ct - yy * st ) ; float Nxz = ( float ) ( xz * ct - yz * st ) ; float Nxo = ( float ) ( xo * ct - yo * st ) ; yo = Nyo ; yx = Nyx ; yy = Nyy ; yz = Nyz ; xo = Nxo ; xx = Nxx ; xy = Nxy ; xz = Nxz ; }
target:  rotate theta degrees about the z axis 