mirror of
https://github.com/blender/blender
synced 2026-09-29 04:37:17 +03:00
mathutils rotate functions for Euler/Quaternion/Matrix/Vector types.
each accept Euler/Quaternion/Matrix types. eg: Euler.rotate(Quaternion(axis, angle)) Vector.rotate(Euler((pi/2, 0, 0))) matrix.resize_4x4() and euler.make_compatible() were still returning an instance of themselves, now return None.
This commit is contained in:
parent
8b52087d83
commit
998198a041
9 changed files with 167 additions and 46 deletions
|
|
@ -10,7 +10,7 @@ vec_b = mathutils.Vector((0, 1, 2))
|
|||
|
||||
vec2d = mathutils.Vector((1, 2))
|
||||
vec3d = mathutils.Vector((1, 0, 0))
|
||||
vec4d = vec_a.copy().resize4D()
|
||||
vec4d = vec_a.to_4d()
|
||||
|
||||
# other mathutuls types
|
||||
quat = mathutils.Quaternion()
|
||||
|
|
|
|||
|
|
@ -3,15 +3,15 @@ from math import radians
|
|||
|
||||
vec = mathutils.Vector((1.0, 2.0, 3.0))
|
||||
|
||||
mat_rot = mathutils.Matrix.Rotation(radians(90), 4, 'X')
|
||||
mat_rot = mathutils.Matrix.Rotation(radians(90.0), 4, 'X')
|
||||
mat_trans = mathutils.Matrix.Translation(vec)
|
||||
|
||||
mat = mat_trans * mat_rot
|
||||
mat.invert()
|
||||
|
||||
mat3 = mat.rotation_part()
|
||||
quat1 = mat.to_quat()
|
||||
quat2 = mat3.to_quat()
|
||||
mat3 = mat.to_3x3()
|
||||
quat1 = mat.to_quaternion()
|
||||
quat2 = mat3.to_quaternion()
|
||||
|
||||
angle = quat1.difference(quat2)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue