code: func (g *GeoM) Rotate(theta float64) {
  	if theta == 0 {
  		return
  	}
  
  	sin64, cos64 := math.Sincos(theta)
  	sin, cos := float32(sin64), float32(cos64)
  
  	a := cos*(g.a_1+1) - sin*g.c
  	b := cos*g.b - sin*(g.d_1+1)
  	tx := cos*g.tx - sin*g.ty
  	c := sin*(g.a_1+1) + cos*g.c
  	d := sin*g.b + cos*(g.d_1+1)
  	ty := sin*g.tx + cos*g.ty
  
  	g.a_1 = a - 1
  	g.b = b
  	g.c = c
  	g.d_1 = d - 1
  	g.tx = tx
  	g.ty = ty
  }
docs: // Rotate rotates the matrix by theta.
  // The unit is radian.