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;
}

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 ; }
rotate theta degrees about the z axis
