[Bug 18961] New: The pseudo-code for matrix-decomposing has a typo in the check for a coordinate system flip

https://www.w3.org/Bugs/Public/show_bug.cgi?id=18961

           Summary: The pseudo-code for matrix-decomposing has a typo in
                    the check for a coordinate system flip
           Product: CSS
           Version: unspecified
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: minor
          Priority: P2
         Component: Transforms
        AssignedTo: smfr@me.com
        ReportedBy: nrajbhan@gmail.com
         QAContact: public-css-bugzilla@w3.org
                CC: ayg@aryeh.name, cmarrin@apple.com, eoconnor@apple.com,
                    smfr@me.com, dino@apple.com, dschulze@adobe.com


Steps:
1. Go to http://dev.w3.org/csswg/css3-transforms/#matrix-decomposing
2. Look at the following check for a coordinate system flip:

Actual:
scale[0] *= -1

should be

scale[i] *= -1

// At this point, the matrix (in rows) is orthonormal.
// Check for a coordinate system flip.  If the determinant
// is -1, then negate the matrix and the scaling factors.
pdum3 = cross(row[1], row[2])
if (dot(row[0], pdum3) < 0)
    for (i = 0; i < 3; i++)
        scale[0] *= -1;
        row[i][0] *= -1
        row[i][1] *= -1
        row[i][2] *= -1


Expected:

// At this point, the matrix (in rows) is orthonormal.
// Check for a coordinate system flip.  If the determinant
// is -1, then negate the matrix and the scaling factors.
pdum3 = cross(row[1], row[2])
if (dot(row[0], pdum3) < 0)
    for (i = 0; i < 3; i++)
        scale[i] *= -1;
        row[i][0] *= -1
        row[i][1] *= -1
        row[i][2] *= -1

-- 
Configure bugmail: https://www.w3.org/Bugs/Public/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.

Received on Friday, 21 September 2012 20:44:50 UTC