parameters: (axis,angle)
return_statement: return R + expr(R2)
docstring: Symbolic version of so3.rotation
docstring_summary: Symbolic version of so3.rotation
docstring_tokens: Symbolic version of so3 . rotation
function: def _so3_rotation(axis,angle):
      """Symbolic version of so3.rotation"""
      cm = cos(angle)
      sm = sin(angle)
  
      #m = s[r]-c[r][r]+rrt = s[r]-c(rrt-I)+rrt = cI + rrt(1-c) + s[r]
      cp = so3.cross_product(axis)
      R = mul(cp,sm) 
      R2 = [0]*9
      for i in xrange(3):
          for j in xrange(3):
              R2[i*3+j] = axis[i]*axis[j]*(1.-cm)
      R2[0] += cm
      R2[4] += cm
      R2[8] += cm
      return R + expr(R2)
function_tokens: def _so3_rotation ( axis , angle ) : cm = cos ( angle ) sm = sin ( angle ) #m = s[r]-c[r][r]+rrt = s[r]-c(rrt-I)+rrt = cI + rrt(1-c) + s[r] cp = so3 . cross_product ( axis ) R = mul ( cp , sm ) R2 = [ 0 ] * 9 for i in xrange ( 3 ) : for j in xrange ( 3 ) : R2 [ i * 3 + j ] = axis [ i ] * axis [ j ] * ( 1. - cm ) R2 [ 0 ] += cm R2 [ 4 ] += cm R2 [ 8 ] += cm return R + expr ( R2 )