Rotating an Object
The following statement will rotate the object named "obj" through an angle (measured in radians) about an axis relative to an origin:
obj.rotate(angle=a,
axis=vec(x,y,z),
origin=vector(xo,yo,zo))
If the origin is not given, rotation is relative to obj.pos:
# relative to obj.pos:
obj.rotate(angle=a, axis=vector(x,y,z))
If neither the axis nor the origin is specified, rotation is about obj.axis, relative to obj.pos:
# about obj.axis, relative to obj.pos:
obj.rotate(angle=a)
The rotate function applies a transformation to the specified object (sphere, box, etc.). The transformation is a rotation of angle radians, counterclockwise around the line defined by origin and origin+axis. By default, rotations are around the object's own pos and axis.
There are functions for converting between degrees and radians, where there are 2*pi radians in 360 degrees:
radians(360) is equal to 2*pi
degrees(2*pi) is equal to 360
Also see the rotation function available for vectors.