View Issue Details

IDProjectCategoryView StatusLast Update
0001256FreeCADBugpublic2013-09-26 18:21
Reporterpkoning Assigned To 
PrioritynormalSeveritytextReproducibilityalways
Status closedResolutionfixed 
Product Version0.13 
Target VersionFixed in Version0.14 
Summary0001256: Order of operations for Matrix is nonintuitive, needs documentation
DescriptionThe intuitive effect of
   m = Base.Matrix ()
   m.move (x,y,z)
   m.rotateX (a)
   shape = shape.transformGeometry (m)
would be a move followed by a rotate. In other words, the same as if those two transformations had been built in two separate matrix objects and applied by transformGeometry in that order.

In fact, the result of this code is a rotate followed by a move -- as if the operations had been reversed when the combined transformation matrix was constructed.

Is this intentional? If yes, it needs to be documented because it is surprising (at least to me -- allow for the fact that I'm not experienced with CSG).

If not, it would be nice to fix this (with a release note, since it affects scripts written around the existing behavior).
TagsNo tags attached.
FreeCAD Information

Activities

wmayer

2013-09-26 18:19

administrator   ~0003679

it's a bug:
from FreeCAD import Base
m=Base.Matrix()
m.move(3,2,1)
m.rotateX(1.23)
m
a=Base.Matrix()
b=Base.Matrix()
a.move(3,2,1)
b.rotateX(1.23)
c = b * a
c

wmayer

2013-09-26 18:21

administrator   ~0003680

git show 1244807

Issue History

Date Modified Username Field Change
2013-09-26 12:02 pkoning New Issue
2013-09-26 18:19 wmayer Note Added: 0003679
2013-09-26 18:21 wmayer Note Added: 0003680
2013-09-26 18:21 wmayer Status new => closed
2013-09-26 18:21 wmayer Resolution open => fixed
2013-09-26 18:21 wmayer Fixed in Version => 0.14