{"id":40,"date":"2013-11-08T15:46:23","date_gmt":"2013-11-08T15:46:23","guid":{"rendered":"\/\/3dbym.ru\/2013\/11\/transposing-matrices\/"},"modified":"2013-11-08T15:46:23","modified_gmt":"2013-11-08T15:46:23","slug":"transposing-matrices","status":"publish","type":"post","link":"https:\/\/3dbym.ru\/2013\/11\/transposing-matrices\/","title":{"rendered":"Transposing Matrices"},"content":{"rendered":"

Transposing matrices is important in game programming because it is a fast, easy way to calculate the inverse of orthogonal matrix. Now, let your brain relax a bit; this operation is much easier. To transpose a<\/p>\n

<\/p>\n

matrix all you have to do is take the columns of the matrix and make them the rows, and vice versa. The original matrix is orthogonal if when you multiply it by its transpose, you end with the identity matrix (M(Mt) = I). As you know from the last function, a matrix multiplied by its inverse is also the identity matrix. It stands to reason that the transpose of the original matrix must also be its inverse. An example of an orthogonal matrix is the rotation matrix, which I will talk about later in the chapter. This is a piece of cake compared to matrix multi\u00adplication; just check out Figure 1.12.<\/p>\n\n\n\n\n
\n<\/td>\n\n

~1<\/p>\n<\/td>\n

\n

2<\/p>\n<\/td>\n

\n

3~<\/p>\n<\/td>\n

\n<\/td>\n\n

~1<\/p>\n<\/td>\n

\n

4<\/p>\n<\/td>\n

\n

7~<\/p>\n<\/td>\n<\/tr>\n

\n

A =<\/p>\n<\/td>\n

\n

4<\/p>\n<\/td>\n

\n

5<\/p>\n<\/td>\n

\n

6<\/p>\n<\/td>\n

\n

\u041b\u2018 =<\/p>\n<\/td>\n

\n

2<\/p>\n<\/td>\n

\n

5<\/p>\n<\/td>\n

\n

8<\/p>\n<\/td>\n<\/tr>\n

\n<\/td>\n\n

7<\/p>\n<\/td>\n

\n

8<\/p>\n<\/td>\n

\n

9<\/p>\n<\/td>\n

\n<\/td>\n\n

3<\/p>\n<\/td>\n

\n

6<\/p>\n<\/td>\n

\n

9<\/p>\n<\/td>\n<\/tr>\n<\/table>\n\n\n
\n

Figure 1.12 Left:The original matrix. Right:The matrix after it has been transposed. This is frequently done in game programming to find the inverse of rotation and other orthogonal matrices.<\/p>\n<\/td>\n<\/tr>\n<\/table>\n

<\/p>\n","protected":false},"excerpt":{"rendered":"

Transposing matrices is important in game programming because it is a fast, easy way to calculate the inverse of orthogonal matrix. Now, let your brain relax a bit; this operation is much easier. To transpose a matrix all you have to do is take the columns of the matrix and make them the rows, and […]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[7],"tags":[],"_links":{"self":[{"href":"https:\/\/3dbym.ru\/wp-json\/wp\/v2\/posts\/40"}],"collection":[{"href":"https:\/\/3dbym.ru\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/3dbym.ru\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/3dbym.ru\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/3dbym.ru\/wp-json\/wp\/v2\/comments?post=40"}],"version-history":[{"count":0,"href":"https:\/\/3dbym.ru\/wp-json\/wp\/v2\/posts\/40\/revisions"}],"wp:attachment":[{"href":"https:\/\/3dbym.ru\/wp-json\/wp\/v2\/media?parent=40"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/3dbym.ru\/wp-json\/wp\/v2\/categories?post=40"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/3dbym.ru\/wp-json\/wp\/v2\/tags?post=40"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}