Euler() * 0.5, makes sense to halve rotation, but from reading down you're mainly interested in: Euler() * Matrix().
This could be supported, internally doing... eul = Euler() (eul.to_matrix() * Matrix()).to_euler(eul.order) I'd be interested to know if there are many other math libs which do Euler * Matrix since there are enough de-facto standard with C++/python libs like mathutils I rather not define new ones. On Thu, Feb 3, 2011 at 1:04 PM, Tom Edwards <[email protected]> wrote: > 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 > -- - Campbell _______________________________________________ Bf-committers mailing list [email protected] http://lists.blender.org/mailman/listinfo/bf-committers
