Page MenuHome

2x2 Matrix.inverted() returns inverse transpose
Closed, ResolvedPublic

Description

The inverted() member of a 2x2 Matrix returns the inverse transpose instead of the inverse. 3x3 and 4x4 matrices work as expected.
Tested with Blender 2.64a and 2.67.

>>> import numpy
>>> from mathutils import Matrix
>>> a = Matrix (((1,2), (3,4)))
>>> a
Matrix(((1.0, 2.0),
(3.0, 4.0)))

>>> b = numpy.array (a)
>>> b
array([[ 1., 2.],
[ 3., 4.]])

>>> a.inverted ()
Matrix(((-2.0, 1.5),
(1.0, -0.5)))

>>> numpy.linalg.inv (b)
array([[-2. , 1. ],
[ 1.5, -0.5]])

Event Timeline

Fix in svn, thanks for the report.

Brecht Van Lommel (brecht) changed the task status from Unknown Status to Resolved.May 12 2013, 11:26 AM