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:
		@@ -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)
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user