4 Jul
2008
4 Jul
'08
4:23 p.m.
While converting some of Inkscape's libnr tests I found the following discrepancies between the two rotate classes: - Rotate(.234).inverse() != Rotate(-.234) in 2geom but not in libnr - Rotate(.234)*Rotate(0) != Rotate(.234) (idem.) - Rotate(0)*Rotate(.234) != Rotate(.234) (idem.) - b * Geom::Rotate::from_degrees(90.) != Geom::rot90(b) (idem.)
My guess is that at least the first three have to do with how the rotation vectors are normalized. To me the most logical thing to do would be to eliminate the (in principle unnecessary) normalizations when computing the inverse of a rotation or when composing two rotations.