Those mathematical operations aren't defined on eulers triplets. Unless you really really know what you are doing, use quats or matrices to manipulate rotations.
Martin --- On Thu, 2/3/11, Tom Edwards <cont...@steamreview.org> wrote: > From: Tom Edwards <cont...@steamreview.org> > Subject: Re: [Bf-committers] python mathutils api update proposal > To: "bf-blender developers" <bf-committers@blender.org> > Received: Thursday, February 3, 2011, 8:04 AM > Could we please have maths operator > (i.e. * / +) support for eulers? You > can't do anything with them currently, you have to cast to > vector then > back again! > > On 03/02/2011 11:08, Campbell Barton wrote: > > Here are some proposed changes to the mathutils API > I'd like to make > > to avoid some confusing aspects of the api since its > now used for all > > RNA math types and GameEngine I think it would be good > to make > > improvements in this area. > > > > Proposal: > > http://wiki.blender.org/index.php/Dev:2.5/Source/Python/Mathutils > > > > If this is acceptable I can make these changes and > update scripts. > > > > I'm keeping a log of all mathutils changes since 2.4x > in mathutils.c > > > > To get up to speed on changes so far: > > > > /* Note: Changes to Mathutils since 2.4x > > * use radians rather then degrees > > * - > Mathutils.Vector/Euler/Quaternion(), now only take single > > sequence arguments. > > * - Mathutils.MidpointVecs > --> vector.lerp(other, fac) > > * - Mathutils.AngleBetweenVecs > --> vector.angle(other) > > * - Mathutils.ProjectVecs > --> vector.project(other) > > * - Mathutils.DifferenceQuats > --> quat.difference(other) > > * - Mathutils.Slerp --> > quat.slerp(other, fac) > > * - Mathutils.Rand: removed, use > pythons random module > > * - Mathutils.RotationMatrix(angle, > size, axis_flag, axis) --> > > Mathutils.RotationMatrix(angle, size, axis); merge > axis& axis_flag > > args > > * - Matrix.scalePart --> > Matrix.scale_part > > * - Matrix.translationPart > --> Matrix.translation_part > > * - Matrix.rotationPart --> > Matrix.rotation_part > > * - mathutils.Matrix.Shear(plane, > fac, size), now takes a pair of > > floats for 3x3 or 4x4 shear factor. > > * - toMatrix --> to_matrix > > * - toEuler --> to_euler > > * - toQuat --> to_quat > > * - Vector.toTrackQuat --> > Vector.to_track_quat > > * - Quaternion * Quaternion > --> cross product (not dot product) > > * - Euler.rotate(angle, axis) > --> Euler.rotate_axis(axis, angle) > > * - Euler.unique() *removed*, not a > standard function only toggled > > different rotations. > > * > > * moved into class functions. > > * - Mathutils.RotationMatrix > -> mathutils.Matrix.Rotation > > * - Mathutils.ScaleMatrix -> > mathutils.Matrix.Scale > > * - Mathutils.ShearMatrix -> > mathutils.Matrix.Shear > > * - Mathutils.TranslationMatrix > -> mathutils.Matrix.Translation > > * - Mathutils.OrthoProjectionMatrix > -> mathutils.Matrix.OrthoProjection > > * > > * Moved to Geometry module: > Intersect, TriangleArea, TriangleNormal, > > QuadNormal, LineIntersect > > * - geometry.Intersect -> > intersect_ray_tri > > * - geometry.ClosestPointOnLine > -> intersect_point_line > > * - geometry.PointInTriangle2D > -> intersect_point_tri_2d > > * - geometry.PointInQuad2D > -> intersect_point_quad_2d > > * - geometry.LineIntersect > -> intersect_line_line > > * - geometry.LineIntersect2D > -> intersect_line_line_2d > > * - geometry.BezierInterp -> > interpolate_bezier > > * - geometry.TriangleArea -> > area_tri > > * - geometry.QuadNormal, > TriangleNormal -> normal > > * - geometry.PolyFill -> > tesselate_polygon > > * - geometry.BoxPack2D -> > box_pack_2d > > * - geometry.BarycentricTransform > -> barycentric_transform > > */ > > > _______________________________________________ > Bf-committers mailing list > Bf-committers@blender.org > http://lists.blender.org/mailman/listinfo/bf-committers > _______________________________________________ Bf-committers mailing list Bf-committers@blender.org http://lists.blender.org/mailman/listinfo/bf-committers