code: private AffineTransform getRotationTransform ()
      {
          double theta;
  
          switch (_orient) {
              case NORTH:
              default:
                  theta = 0.0;
                  break;
  
              case SOUTH:
                  theta = Math.PI;
                  break;
  
              case EAST:
                  theta = Math.PI*0.5;
                  break;
  
              case WEST:
                  theta = -Math.PI*0.5;
                  break;
  
              case NORTHEAST:
                  theta = Math.PI*0.25;
                  break;
  
              case NORTHWEST:
                  theta = -Math.PI*0.25;
                  break;
  
              case SOUTHEAST:
                  theta = Math.PI*0.75;
                  break;
  
              case SOUTHWEST:
                  theta = -Math.PI*0.75;
                  break;
  
              case NORTHNORTHEAST:
                  theta = -Math.PI*0.125;
                  break;
  
              case NORTHNORTHWEST:
                  theta = Math.PI*0.125;
                  break;
  
              case SOUTHSOUTHEAST:
                  theta = -Math.PI*0.875;
                  break;
  
              case SOUTHSOUTHWEST:
                  theta = Math.PI*0.875;
                  break;
  
              case EASTNORTHEAST:
                  theta = -Math.PI*0.375;
                  break;
  
              case EASTSOUTHEAST:
                  theta = -Math.PI*0.625;
                  break;
  
              case WESTNORTHWEST:
                  theta = Math.PI*0.375;
                  break;
  
              case WESTSOUTHWEST:
                  theta = Math.PI*0.625;
                  break;
          }
  
          return AffineTransform.getRotateInstance(
              theta,
              (_ox - _oxoff) + _frames.getWidth(_frameIdx)/2,
              (_oy - _oyoff) + _frames.getHeight(_frameIdx)/2
          );
      }
docs: Computes and returns the rotation transform for this
  sprite.
  
  @return the newly computed rotation transform