def from_axis_angle(self, axis, angle):
        '''create a rotation matrix from axis and angle'''
        ux = axis.x
        uy = axis.y
        uz = axis.z
        ct = cos(angle)
        st = sin(angle)
        self.a.x = ct + (1-ct) * ux**2
        self.a.y = ux*uy*(1-ct) - uz*st
        self.a.z = ux*uz*(1-ct) + uy*st
        self.b.x = uy*ux*(1-ct) + uz*st
        self.b.y = ct + (1-ct) * uy**2
        self.b.z = uy*uz*(1-ct) - ux*st
        self.c.x = uz*ux*(1-ct) - uy*st
        self.c.y = uz*uy*(1-ct) + ux*st
        self.c.z = ct + (1-ct) * uz**2
def from_axis_angle ( self , axis , angle ) : ux = axis . x uy = axis . y uz = axis . z ct = cos ( angle ) st = sin ( angle ) self . a . x = ct + ( 1 - ct ) * ux ** 2 self . a . y = ux * uy * ( 1 - ct ) - uz * st self . a . z = ux * uz * ( 1 - ct ) + uy * st self . b . x = uy * ux * ( 1 - ct ) + uz * st self . b . y = ct + ( 1 - ct ) * uy ** 2 self . b . z = uy * uz * ( 1 - ct ) - ux * st self . c . x = uz * ux * ( 1 - ct ) - uy * st self . c . y = uz * uy * ( 1 - ct ) + ux * st self . c . z = ct + ( 1 - ct ) * uz ** 2
create a rotation matrix from axis and angle