123456789101112131415161718192021222324252627282930313233 |
- import mathutils
- import math
- # create a new euler with default axis rotation order
- eul = mathutils.Euler((0.0, math.radians(45.0), 0.0), 'XYZ')
- # rotate the euler
- eul.rotate_axis('Z', math.radians(10.0))
- # you can access its components by attribute or index
- print("Euler X", eul.x)
- print("Euler Y", eul[1])
- print("Euler Z", eul[-1])
- # components of an existing euler can be set
- eul[:] = 1.0, 2.0, 3.0
- # components of an existing euler can use slice notation to get a tuple
- print("Values: %f, %f, %f" % eul[:])
- # the order can be set at any time too
- eul.order = 'ZYX'
- # eulers can be used to rotate vectors
- vec = mathutils.Vector((0.0, 0.0, 1.0))
- vec.rotate(eul)
- # often its useful to convert the euler into a matrix so it can be used as
- # transformations with more flexibility
- mat_rot = eul.to_matrix()
- mat_loc = mathutils.Matrix.Translation((2.0, 3.0, 4.0))
- mat = mat_loc @ mat_rot.to_4x4()
|