Maths - Reorthogonalising a matrix - Attempt at an Alternative Method

Another approach to try might be to split the matrices into there individual elements:

The inverse of a 2x2 matrix [O] is:

[O]-1 = 1/(o00 o11 * o01 o10)
o11 -o01
-o10 o00

so expanding out [O]T = [O]-1 gives:

o00 = o11/(o00 o11 * o01 o10)
o10 = -o01/(o00 o11 * o01 o10)
o01 = -o10/(o00 o11 * o01 o10)
o11 = o00/(o00 o11 * o01 o10)

If we constrain the determinant to be 1 then,

(o00 o11 * o01 o10) = 1

o00 = o11
o10 = -o01

we are looking for C where [O] = [C]*[M]

c00 * m00 + c01 * m10 c00 * m01 + c01 * m11
c10 * m00 + c11 * m10 c10 * m01 + c11 * m11
c00 c01
c10 c11
m00 m01
m10 m11

so combining these gives:

c00 * m00 + c01 * m10 = c10 * m01 + c11 * m11

c00 * m01 + c01 * m11 = -c10 * m00 - c11 * m10

There seem to be more unknowns than equations so its difficult to see where to take this?

metadata block
see also:


Correspondence about this page

Book Shop - Further reading.

Where I can, I have put links to Amazon for books that are relevant to the subject, click on the appropriate country flag to get more details of the book or to buy it from them.

cover Mathematics for 3D game Programming - Includes introduction to Vectors, Matrices, Transforms and Trigonometry. (But no euler angles or quaternions). Also includes ray tracing and some linear & rotational physics also collision detection (but not collision response).

Terminology and Notation

Specific to this page here:


This site may have errors. Don't use for critical systems.

Copyright (c) 1998-2023 Martin John Baker - All rights reserved - privacy policy.