From cme@cloud9.Stratus.COM Mon Jan 23 13:41:09 1989
Path: leah!csd4.milw.wisc.edu!bionet!agate!ucbvax!husc6!encore!cloud9!cme
From: cme@cloud9.Stratus.COM (Carl Ellison)
Newsgroups: comp.graphics
Subject: Re: 3D Rotations/Instancing
Summary: p.p.s. :: it's more straight-forward than that
        Algorithm for repairing a decaying 3D rotation matrix
Message-ID: <3392@cloud9.Stratus.COM>
Date: 23 Jan 89 18:41:09 GMT
References: <65@sdcc10.ucsd.EDU> <3390@cloud9.Stratus.COM> <3391@cloud9.Stratus.COM>
Distribution: usa
Organization: Stratus Computer, Inc., Marlboro, MA
Lines: 11

(Please pardon the previous two messages.)
[It's just too easy to make immediate follow-up postings. :-) ]

    Call the rows of the raw matrix, with errors,  r1, r2, and r3.

    Let n1 = r1 / lth( r1 ) .
    Let a = dot( n1, r2 ) .
    Let b = r2 - a .
    Let n2 = b / lth( b ) .
    Let n3 = cross( n1, n2 ) .

    The rotation matrix with rows n1, n2 and n3 has all decay removed.


