I'm importing/exporting a format that uses eulers exclusively, so I can't avoid them. They are also the default rotation method within Blender.
(And sorry for the confusion, but the actual signs I used were just examples. All I've ever needed to do is add and multiply by a matrix.) On 03/02/2011 6:08, Martin Poirier wrote: > 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<[email protected]> wrote: > >> From: Tom Edwards<[email protected]> >> Subject: Re: [Bf-committers] python mathutils api update proposal >> To: "bf-blender developers"<[email protected]> >> 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 >> [email protected] >> http://lists.blender.org/mailman/listinfo/bf-committers >> > > _______________________________________________ > Bf-committers mailing list > [email protected] > http://lists.blender.org/mailman/listinfo/bf-committers > _______________________________________________ Bf-committers mailing list [email protected] http://lists.blender.org/mailman/listinfo/bf-committers
