Good proposal. I especially like the part on separating Modify In-Place Methods.
Cheers, Bart (Crouch) On Thu, Feb 3, 2011 at 7:08 PM, Martin Poirier <the...@yahoo.com> 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 <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 > _______________________________________________ Bf-committers mailing list Bf-committers@blender.org http://lists.blender.org/mailman/listinfo/bf-committers