CINXE.COM
Rotation matrix - Wikipedia
<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-toc-available" lang="en" dir="ltr"> <head> <meta charset="UTF-8"> <title>Rotation matrix - Wikipedia</title> <script>(function(){var className="client-js vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-toc-available";var cookie=document.cookie.match(/(?:^|; )enwikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy", "wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"72648ff2-5da8-4dfb-aa07-e6ff086e216d","wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"Rotation_matrix","wgTitle":"Rotation matrix","wgCurRevisionId":1250574232,"wgRevisionId":1250574232,"wgArticleId":856005,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Wikipedia articles needing clarification from June 2017","CS1 maint: numeric names: authors list","Articles with short description","Short description matches Wikidata","CS1: long volume value","Articles with Italian-language sources (it)","Transformation (function)","Matrices","Mathematical physics"],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"Rotation_matrix","wgRelevantArticleId":856005,"wgIsProbablyEditable":true ,"wgRelevantPageIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgNoticeProject":"wikipedia","wgCiteReferencePreviewsActive":false,"wgFlaggedRevsParams":{"tags":{"status":{"levels":1}}},"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgPopupsFlags":0,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":false,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":100000,"wgRelatedArticlesCompat":[],"wgCentralAuthMobileDomain":false,"wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":false,"wgVector2022LanguageInHeader":true,"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q1256564","wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"], "GEHomepageSuggestedEditsEnableTopics":true,"wgGETopicsMatchModeEnabled":false,"wgGEStructuredTaskRejectionReasonTextInputEnabled":false,"wgGELevelingUpEnabledForUser":false};RLSTATE={"ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.math.styles":"ready","ext.cite.styles":"ready","skins.vector.search.codex.styles":"ready","skins.vector.styles":"ready","skins.vector.icons":"ready","jquery.makeCollapsible.styles":"ready","ext.wikimediamessages.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.interlanguage":"ready","wikibase.client.init":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=["ext.cite.ux-enhancements","mediawiki.page.media","ext.scribunto.logs","site","mediawiki.page.ready","jquery.makeCollapsible","mediawiki.toc","skins.vector.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.gadget.ReferenceTooltips", "ext.gadget.switcher","ext.urlShortener.toolbar","ext.centralauth.centralautologin","mmv.bootstrap","ext.popups","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.interface","ext.cx.eventlogging.campaigns","ext.cx.uls.quick.actions","wikibase.client.vector-2022","ext.checkUser.clientHints","ext.quicksurveys.init","ext.growthExperiments.SuggestedEditSession","wikibase.sidebar.tracking"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=en&modules=ext.cite.styles%7Cext.math.styles%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediaBadges%7Cext.wikimediamessages.styles%7Cjquery.makeCollapsible.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles%7Cwikibase.client.init&only=styles&skin=vector-2022"> <script async="" src="/w/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=en&modules=site.styles&only=styles&skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.4"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta name="viewport" content="width=1120"> <meta property="og:title" content="Rotation matrix - Wikipedia"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//en.m.wikipedia.org/wiki/Rotation_matrix"> <link rel="alternate" type="application/x-wiki" title="Edit this page" href="/w/index.php?title=Rotation_matrix&action=edit"> <link rel="apple-touch-icon" href="/static/apple-touch/wikipedia.png"> <link rel="icon" href="/static/favicon/wikipedia.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="Wikipedia (en)"> <link rel="EditURI" type="application/rsd+xml" href="//en.wikipedia.org/w/api.php?action=rsd"> <link rel="canonical" href="https://en.wikipedia.org/wiki/Rotation_matrix"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en"> <link rel="alternate" type="application/atom+xml" title="Wikipedia Atom feed" href="/w/index.php?title=Special:RecentChanges&feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="//login.wikimedia.org"> </head> <body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject mw-editable page-Rotation_matrix rootpage-Rotation_matrix skin-vector-2022 action-view"><a class="mw-jump-link" href="#bodyContent">Jump to content</a> <div class="vector-header-container"> <header class="vector-header mw-header"> <div class="vector-header-start"> <nav class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-dropdown" class="vector-dropdown vector-main-menu-dropdown vector-button-flush-left vector-button-flush-right" > <input type="checkbox" id="vector-main-menu-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-main-menu-dropdown" class="vector-dropdown-checkbox " aria-label="Main menu" > <label id="vector-main-menu-dropdown-label" for="vector-main-menu-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-menu mw-ui-icon-wikimedia-menu"></span> <span class="vector-dropdown-label-text">Main menu</span> </label> <div class="vector-dropdown-content"> <div id="vector-main-menu-unpinned-container" class="vector-unpinned-container"> <div id="vector-main-menu" class="vector-main-menu vector-pinnable-element"> <div class="vector-pinnable-header vector-main-menu-pinnable-header vector-pinnable-header-unpinned" data-feature-name="main-menu-pinned" data-pinnable-element-id="vector-main-menu" data-pinned-container-id="vector-main-menu-pinned-container" data-unpinned-container-id="vector-main-menu-unpinned-container" > <div class="vector-pinnable-header-label">Main menu</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">hide</button> </div> <div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation" > <div class="vector-menu-heading"> Navigation </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/Main_Page" title="Visit the main page [z]" accesskey="z"><span>Main page</span></a></li><li id="n-contents" class="mw-list-item"><a href="/wiki/Wikipedia:Contents" title="Guides to browsing Wikipedia"><span>Contents</span></a></li><li id="n-currentevents" class="mw-list-item"><a href="/wiki/Portal:Current_events" title="Articles related to current events"><span>Current events</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Special:Random" title="Visit a randomly selected article [x]" accesskey="x"><span>Random article</span></a></li><li id="n-aboutsite" class="mw-list-item"><a href="/wiki/Wikipedia:About" title="Learn about Wikipedia and how it works"><span>About Wikipedia</span></a></li><li id="n-contactpage" class="mw-list-item"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us" title="How to contact Wikipedia"><span>Contact us</span></a></li> </ul> </div> </div> <div id="p-interaction" class="vector-menu mw-portlet mw-portlet-interaction" > <div class="vector-menu-heading"> Contribute </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-help" class="mw-list-item"><a href="/wiki/Help:Contents" title="Guidance on how to use and edit Wikipedia"><span>Help</span></a></li><li id="n-introduction" class="mw-list-item"><a href="/wiki/Help:Introduction" title="Learn how to edit Wikipedia"><span>Learn to edit</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/Wikipedia:Community_portal" title="The hub for editors"><span>Community portal</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Special:RecentChanges" title="A list of recent changes to Wikipedia [r]" accesskey="r"><span>Recent changes</span></a></li><li id="n-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_upload_wizard" title="Add images or other media for use on Wikipedia"><span>Upload file</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/Main_Page" class="mw-logo"> <img class="mw-logo-icon" src="/static/images/icons/wikipedia.png" alt="" aria-hidden="true" height="50" width="50"> <span class="mw-logo-container skin-invert"> <img class="mw-logo-wordmark" alt="Wikipedia" src="/static/images/mobile/copyright/wikipedia-wordmark-en.svg" style="width: 7.5em; height: 1.125em;"> <img class="mw-logo-tagline" alt="The Free Encyclopedia" src="/static/images/mobile/copyright/wikipedia-tagline-en.svg" width="117" height="13" style="width: 7.3125em; height: 0.8125em;"> </span> </a> </div> <div class="vector-header-end"> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-collapses vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <a href="/wiki/Special:Search" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="Search Wikipedia [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</span> </a> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail cdx-typeahead-search--auto-expand-width"> <form action="/w/index.php" id="searchform" class="cdx-search-input cdx-search-input--has-end-button"> <div id="simpleSearch" class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Search Wikipedia" aria-label="Search Wikipedia" autocapitalize="sentences" title="Search Wikipedia [f]" accesskey="f" id="searchInput" > <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Special:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Search</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="Personal tools"> <div class="vector-user-links-main"> <div id="p-vector-user-menu-preferences" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-userpage" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-dropdown" class="vector-dropdown " title="Change the appearance of the page's font size, width, and color" > <input type="checkbox" id="vector-appearance-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-appearance-dropdown" class="vector-dropdown-checkbox " aria-label="Appearance" > <label id="vector-appearance-dropdown-label" for="vector-appearance-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-appearance mw-ui-icon-wikimedia-appearance"></span> <span class="vector-dropdown-label-text">Appearance</span> </label> <div class="vector-dropdown-content"> <div id="vector-appearance-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div id="p-vector-user-menu-notifications" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-overflow" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="https://donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&utm_medium=sidebar&utm_campaign=C13_en.wikipedia.org&uselang=en" class=""><span>Donate</span></a> </li> <li id="pt-createaccount-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:CreateAccount&returnto=Rotation+matrix" title="You are encouraged to create an account and log in; however, it is not mandatory" class=""><span>Create account</span></a> </li> <li id="pt-login-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:UserLogin&returnto=Rotation+matrix" title="You're encouraged to log in; however, it's not mandatory. [o]" accesskey="o" class=""><span>Log in</span></a> </li> </ul> </div> </div> </div> <div id="vector-user-links-dropdown" class="vector-dropdown vector-user-menu vector-button-flush-right vector-user-menu-logged-out" title="Log in and more options" > <input type="checkbox" id="vector-user-links-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-user-links-dropdown" class="vector-dropdown-checkbox " aria-label="Personal tools" > <label id="vector-user-links-dropdown-label" for="vector-user-links-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-ellipsis mw-ui-icon-wikimedia-ellipsis"></span> <span class="vector-dropdown-label-text">Personal tools</span> </label> <div class="vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-item" title="User menu" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport" class="user-links-collapsible-item mw-list-item"><a href="https://donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&utm_medium=sidebar&utm_campaign=C13_en.wikipedia.org&uselang=en"><span>Donate</span></a></li><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:CreateAccount&returnto=Rotation+matrix" title="You are encouraged to create an account and log in; however, it is not mandatory"><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>Create account</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:UserLogin&returnto=Rotation+matrix" title="You're encouraged to log in; however, it's not mandatory. [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>Log in</span></a></li> </ul> </div> </div> <div id="p-user-menu-anon-editor" class="vector-menu mw-portlet mw-portlet-user-menu-anon-editor" > <div class="vector-menu-heading"> Pages for logged out editors <a href="/wiki/Help:Introduction" aria-label="Learn more about editing"><span>learn more</span></a> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/Special:MyContributions" title="A list of edits made from this IP address [y]" accesskey="y"><span>Contributions</span></a></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Special:MyTalk" title="Discussion about edits from this IP address [n]" accesskey="n"><span>Talk</span></a></li> </ul> </div> </div> </div> </div> </nav> </div> </header> </div> <div class="mw-page-container"> <div class="mw-page-container-inner"> <div class="vector-sitenotice-container"> <div id="siteNotice"><!-- CentralNotice --></div> </div> <div class="vector-column-start"> <div class="vector-main-menu-container"> <div id="mw-navigation"> <nav id="mw-panel" class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-pinned-container" class="vector-pinned-container"> </div> </nav> </div> </div> <div class="vector-sticky-pinned-container"> <nav id="mw-panel-toc" aria-label="Contents" data-event-name="ui.sidebar-toc" class="mw-table-of-contents-container vector-toc-landmark"> <div id="vector-toc-pinned-container" class="vector-pinned-container"> <div id="vector-toc" class="vector-toc vector-pinnable-element"> <div class="vector-pinnable-header vector-toc-pinnable-header vector-pinnable-header-pinned" data-feature-name="toc-pinned" data-pinnable-element-id="vector-toc" > <h2 class="vector-pinnable-header-label">Contents</h2> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-toc.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-toc.unpin">hide</button> </div> <ul class="vector-toc-contents" id="mw-panel-toc-list"> <li id="toc-mw-content-text" class="vector-toc-list-item vector-toc-level-1"> <a href="#" class="vector-toc-link"> <div class="vector-toc-text">(Top)</div> </a> </li> <li id="toc-In_two_dimensions" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#In_two_dimensions"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span> <span>In two dimensions</span> </div> </a> <button aria-controls="toc-In_two_dimensions-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle In two dimensions subsection</span> </button> <ul id="toc-In_two_dimensions-sublist" class="vector-toc-list"> <li id="toc-Examples" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Examples"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.1</span> <span>Examples</span> </div> </a> <ul id="toc-Examples-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Direction" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Direction"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.2</span> <span>Direction</span> </div> </a> <ul id="toc-Direction-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Non-standard_orientation_of_the_coordinate_system" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Non-standard_orientation_of_the_coordinate_system"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.3</span> <span>Non-standard orientation of the coordinate system</span> </div> </a> <ul id="toc-Non-standard_orientation_of_the_coordinate_system-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Common_2D_rotations" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Common_2D_rotations"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.4</span> <span>Common 2D rotations</span> </div> </a> <ul id="toc-Common_2D_rotations-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Relationship_with_complex_plane" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Relationship_with_complex_plane"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.5</span> <span>Relationship with complex plane</span> </div> </a> <ul id="toc-Relationship_with_complex_plane-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-In_three_dimensions" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#In_three_dimensions"> <div class="vector-toc-text"> <span class="vector-toc-numb">2</span> <span>In three dimensions</span> </div> </a> <button aria-controls="toc-In_three_dimensions-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle In three dimensions subsection</span> </button> <ul id="toc-In_three_dimensions-sublist" class="vector-toc-list"> <li id="toc-Basic_3D_rotations" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Basic_3D_rotations"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.1</span> <span>Basic 3D rotations</span> </div> </a> <ul id="toc-Basic_3D_rotations-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-General_3D_rotations" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#General_3D_rotations"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.2</span> <span>General 3D rotations</span> </div> </a> <ul id="toc-General_3D_rotations-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Conversion_from_rotation_matrix_to_axis–angle" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Conversion_from_rotation_matrix_to_axis–angle"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.3</span> <span>Conversion from rotation matrix to axis–angle</span> </div> </a> <ul id="toc-Conversion_from_rotation_matrix_to_axis–angle-sublist" class="vector-toc-list"> <li id="toc-Determining_the_axis" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#Determining_the_axis"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.3.1</span> <span>Determining the axis</span> </div> </a> <ul id="toc-Determining_the_axis-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Determining_the_angle" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#Determining_the_angle"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.3.2</span> <span>Determining the angle</span> </div> </a> <ul id="toc-Determining_the_angle-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Rotation_matrix_from_axis_and_angle" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#Rotation_matrix_from_axis_and_angle"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.3.3</span> <span>Rotation matrix from axis and angle</span> </div> </a> <ul id="toc-Rotation_matrix_from_axis_and_angle-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> </ul> </li> <li id="toc-Properties" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Properties"> <div class="vector-toc-text"> <span class="vector-toc-numb">3</span> <span>Properties</span> </div> </a> <ul id="toc-Properties-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Examples_2" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Examples_2"> <div class="vector-toc-text"> <span class="vector-toc-numb">4</span> <span>Examples</span> </div> </a> <ul id="toc-Examples_2-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Geometry" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Geometry"> <div class="vector-toc-text"> <span class="vector-toc-numb">5</span> <span>Geometry</span> </div> </a> <ul id="toc-Geometry-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Multiplication" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Multiplication"> <div class="vector-toc-text"> <span class="vector-toc-numb">6</span> <span>Multiplication</span> </div> </a> <ul id="toc-Multiplication-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Ambiguities" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Ambiguities"> <div class="vector-toc-text"> <span class="vector-toc-numb">7</span> <span>Ambiguities</span> </div> </a> <ul id="toc-Ambiguities-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Decompositions" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Decompositions"> <div class="vector-toc-text"> <span class="vector-toc-numb">8</span> <span>Decompositions</span> </div> </a> <button aria-controls="toc-Decompositions-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Decompositions subsection</span> </button> <ul id="toc-Decompositions-sublist" class="vector-toc-list"> <li id="toc-Independent_planes" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Independent_planes"> <div class="vector-toc-text"> <span class="vector-toc-numb">8.1</span> <span>Independent planes</span> </div> </a> <ul id="toc-Independent_planes-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Sequential_angles" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Sequential_angles"> <div class="vector-toc-text"> <span class="vector-toc-numb">8.2</span> <span>Sequential angles</span> </div> </a> <ul id="toc-Sequential_angles-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Nested_dimensions" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Nested_dimensions"> <div class="vector-toc-text"> <span class="vector-toc-numb">8.3</span> <span>Nested dimensions</span> </div> </a> <ul id="toc-Nested_dimensions-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Skew_parameters_via_Cayley's_formula" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Skew_parameters_via_Cayley's_formula"> <div class="vector-toc-text"> <span class="vector-toc-numb">8.4</span> <span>Skew parameters via Cayley's formula</span> </div> </a> <ul id="toc-Skew_parameters_via_Cayley's_formula-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Decomposition_into_shears" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Decomposition_into_shears"> <div class="vector-toc-text"> <span class="vector-toc-numb">8.5</span> <span>Decomposition into shears</span> </div> </a> <ul id="toc-Decomposition_into_shears-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Group_theory" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Group_theory"> <div class="vector-toc-text"> <span class="vector-toc-numb">9</span> <span>Group theory</span> </div> </a> <button aria-controls="toc-Group_theory-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Group theory subsection</span> </button> <ul id="toc-Group_theory-sublist" class="vector-toc-list"> <li id="toc-Lie_group" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Lie_group"> <div class="vector-toc-text"> <span class="vector-toc-numb">9.1</span> <span>Lie group</span> </div> </a> <ul id="toc-Lie_group-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Lie_algebra" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Lie_algebra"> <div class="vector-toc-text"> <span class="vector-toc-numb">9.2</span> <span>Lie algebra</span> </div> </a> <ul id="toc-Lie_algebra-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Exponential_map" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Exponential_map"> <div class="vector-toc-text"> <span class="vector-toc-numb">9.3</span> <span>Exponential map</span> </div> </a> <ul id="toc-Exponential_map-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Baker–Campbell–Hausdorff_formula" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Baker–Campbell–Hausdorff_formula"> <div class="vector-toc-text"> <span class="vector-toc-numb">9.4</span> <span>Baker–Campbell–Hausdorff formula</span> </div> </a> <ul id="toc-Baker–Campbell–Hausdorff_formula-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Spin_group" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Spin_group"> <div class="vector-toc-text"> <span class="vector-toc-numb">9.5</span> <span>Spin group</span> </div> </a> <ul id="toc-Spin_group-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Infinitesimal_rotations" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Infinitesimal_rotations"> <div class="vector-toc-text"> <span class="vector-toc-numb">9.6</span> <span>Infinitesimal rotations</span> </div> </a> <ul id="toc-Infinitesimal_rotations-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Conversions" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Conversions"> <div class="vector-toc-text"> <span class="vector-toc-numb">10</span> <span>Conversions</span> </div> </a> <button aria-controls="toc-Conversions-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Conversions subsection</span> </button> <ul id="toc-Conversions-sublist" class="vector-toc-list"> <li id="toc-Quaternion" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Quaternion"> <div class="vector-toc-text"> <span class="vector-toc-numb">10.1</span> <span>Quaternion</span> </div> </a> <ul id="toc-Quaternion-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Polar_decomposition" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Polar_decomposition"> <div class="vector-toc-text"> <span class="vector-toc-numb">10.2</span> <span>Polar decomposition</span> </div> </a> <ul id="toc-Polar_decomposition-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Axis_and_angle" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Axis_and_angle"> <div class="vector-toc-text"> <span class="vector-toc-numb">10.3</span> <span>Axis and angle</span> </div> </a> <ul id="toc-Axis_and_angle-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Euler_angles" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Euler_angles"> <div class="vector-toc-text"> <span class="vector-toc-numb">10.4</span> <span>Euler angles</span> </div> </a> <ul id="toc-Euler_angles-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Vector_to_vector_formulation" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Vector_to_vector_formulation"> <div class="vector-toc-text"> <span class="vector-toc-numb">10.5</span> <span>Vector to vector formulation</span> </div> </a> <ul id="toc-Vector_to_vector_formulation-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Uniform_random_rotation_matrices" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Uniform_random_rotation_matrices"> <div class="vector-toc-text"> <span class="vector-toc-numb">11</span> <span>Uniform random rotation matrices</span> </div> </a> <ul id="toc-Uniform_random_rotation_matrices-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-See_also" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#See_also"> <div class="vector-toc-text"> <span class="vector-toc-numb">12</span> <span>See also</span> </div> </a> <ul id="toc-See_also-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Remarks" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Remarks"> <div class="vector-toc-text"> <span class="vector-toc-numb">13</span> <span>Remarks</span> </div> </a> <ul id="toc-Remarks-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Notes" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Notes"> <div class="vector-toc-text"> <span class="vector-toc-numb">14</span> <span>Notes</span> </div> </a> <ul id="toc-Notes-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-References" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#References"> <div class="vector-toc-text"> <span class="vector-toc-numb">15</span> <span>References</span> </div> </a> <ul id="toc-References-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-External_links" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#External_links"> <div class="vector-toc-text"> <span class="vector-toc-numb">16</span> <span>External links</span> </div> </a> <ul id="toc-External_links-sublist" class="vector-toc-list"> </ul> </li> </ul> </div> </div> </nav> </div> </div> <div class="mw-content-container"> <main id="content" class="mw-body"> <header class="mw-body-header vector-page-titlebar"> <nav aria-label="Contents" class="vector-toc-landmark"> <div id="vector-page-titlebar-toc" class="vector-dropdown vector-page-titlebar-toc vector-button-flush-left" > <input type="checkbox" id="vector-page-titlebar-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-titlebar-toc" class="vector-dropdown-checkbox " aria-label="Toggle the table of contents" > <label id="vector-page-titlebar-toc-label" for="vector-page-titlebar-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Toggle the table of contents</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-titlebar-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Rotation matrix</span></h1> <div id="p-lang-btn" class="vector-dropdown mw-portlet mw-portlet-lang" > <input type="checkbox" id="p-lang-btn-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-lang-btn" class="vector-dropdown-checkbox mw-interlanguage-selector" aria-label="Go to an article in another language. Available in 25 languages" > <label id="p-lang-btn-label" for="p-lang-btn-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive mw-portlet-lang-heading-25" aria-hidden="true" ><span class="vector-icon mw-ui-icon-language-progressive mw-ui-icon-wikimedia-language-progressive"></span> <span class="vector-dropdown-label-text">25 languages</span> </label> <div class="vector-dropdown-content"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="interlanguage-link interwiki-ar mw-list-item"><a href="https://ar.wikipedia.org/wiki/%D9%85%D8%B5%D9%81%D9%88%D9%81%D8%A9_%D8%AF%D9%88%D8%B1%D8%A7%D9%86" title="مصفوفة دوران – Arabic" lang="ar" hreflang="ar" data-title="مصفوفة دوران" data-language-autonym="العربية" data-language-local-name="Arabic" class="interlanguage-link-target"><span>العربية</span></a></li><li class="interlanguage-link interwiki-bg mw-list-item"><a href="https://bg.wikipedia.org/wiki/%D0%9C%D0%B0%D1%82%D1%80%D0%B8%D1%86%D0%B0_%D0%BD%D0%B0_%D1%80%D0%BE%D1%82%D0%B0%D1%86%D0%B8%D1%8F" title="Матрица на ротация – Bulgarian" lang="bg" hreflang="bg" data-title="Матрица на ротация" data-language-autonym="Български" data-language-local-name="Bulgarian" class="interlanguage-link-target"><span>Български</span></a></li><li class="interlanguage-link interwiki-ca mw-list-item"><a href="https://ca.wikipedia.org/wiki/Matriu_de_rotaci%C3%B3" title="Matriu de rotació – Catalan" lang="ca" hreflang="ca" data-title="Matriu de rotació" data-language-autonym="Català" data-language-local-name="Catalan" class="interlanguage-link-target"><span>Català</span></a></li><li class="interlanguage-link interwiki-de mw-list-item"><a href="https://de.wikipedia.org/wiki/Drehmatrix" title="Drehmatrix – German" lang="de" hreflang="de" data-title="Drehmatrix" data-language-autonym="Deutsch" data-language-local-name="German" class="interlanguage-link-target"><span>Deutsch</span></a></li><li class="interlanguage-link interwiki-el mw-list-item"><a href="https://el.wikipedia.org/wiki/%CE%A0%CE%AF%CE%BD%CE%B1%CE%BA%CE%B1%CF%82_%CF%80%CE%B5%CF%81%CE%B9%CF%83%CF%84%CF%81%CE%BF%CF%86%CE%AE%CF%82" title="Πίνακας περιστροφής – Greek" lang="el" hreflang="el" data-title="Πίνακας περιστροφής" data-language-autonym="Ελληνικά" data-language-local-name="Greek" class="interlanguage-link-target"><span>Ελληνικά</span></a></li><li class="interlanguage-link interwiki-es mw-list-item"><a href="https://es.wikipedia.org/wiki/Matriz_de_rotaci%C3%B3n" title="Matriz de rotación – Spanish" lang="es" hreflang="es" data-title="Matriz de rotación" data-language-autonym="Español" data-language-local-name="Spanish" class="interlanguage-link-target"><span>Español</span></a></li><li class="interlanguage-link interwiki-eu mw-list-item"><a href="https://eu.wikipedia.org/wiki/Biraketa_matrize" title="Biraketa matrize – Basque" lang="eu" hreflang="eu" data-title="Biraketa matrize" data-language-autonym="Euskara" data-language-local-name="Basque" class="interlanguage-link-target"><span>Euskara</span></a></li><li class="interlanguage-link interwiki-fa mw-list-item"><a href="https://fa.wikipedia.org/wiki/%D9%85%D8%A7%D8%AA%D8%B1%DB%8C%D8%B3_%D8%AF%D9%88%D8%B1%D8%A7%D9%86" title="ماتریس دوران – Persian" lang="fa" hreflang="fa" data-title="ماتریس دوران" data-language-autonym="فارسی" data-language-local-name="Persian" class="interlanguage-link-target"><span>فارسی</span></a></li><li class="interlanguage-link interwiki-fr mw-list-item"><a href="https://fr.wikipedia.org/wiki/Matrice_de_rotation" title="Matrice de rotation – French" lang="fr" hreflang="fr" data-title="Matrice de rotation" data-language-autonym="Français" data-language-local-name="French" class="interlanguage-link-target"><span>Français</span></a></li><li class="interlanguage-link interwiki-ko mw-list-item"><a href="https://ko.wikipedia.org/wiki/%ED%9A%8C%EC%A0%84%EB%B3%80%ED%99%98%ED%96%89%EB%A0%AC" title="회전변환행렬 – Korean" lang="ko" hreflang="ko" data-title="회전변환행렬" data-language-autonym="한국어" data-language-local-name="Korean" class="interlanguage-link-target"><span>한국어</span></a></li><li class="interlanguage-link interwiki-id mw-list-item"><a href="https://id.wikipedia.org/wiki/Matriks_rotasi" title="Matriks rotasi – Indonesian" lang="id" hreflang="id" data-title="Matriks rotasi" data-language-autonym="Bahasa Indonesia" data-language-local-name="Indonesian" class="interlanguage-link-target"><span>Bahasa Indonesia</span></a></li><li class="interlanguage-link interwiki-it mw-list-item"><a href="https://it.wikipedia.org/wiki/Matrice_di_rotazione" title="Matrice di rotazione – Italian" lang="it" hreflang="it" data-title="Matrice di rotazione" data-language-autonym="Italiano" data-language-local-name="Italian" class="interlanguage-link-target"><span>Italiano</span></a></li><li class="interlanguage-link interwiki-he mw-list-item"><a href="https://he.wikipedia.org/wiki/%D7%9E%D7%98%D7%A8%D7%99%D7%A6%D7%AA_%D7%A1%D7%99%D7%91%D7%95%D7%91" title="מטריצת סיבוב – Hebrew" lang="he" hreflang="he" data-title="מטריצת סיבוב" data-language-autonym="עברית" data-language-local-name="Hebrew" class="interlanguage-link-target"><span>עברית</span></a></li><li class="interlanguage-link interwiki-mn mw-list-item"><a href="https://mn.wikipedia.org/wiki/%D0%AD%D1%80%D0%B3%D2%AF%D2%AF%D0%BB%D1%8D%D0%BB%D1%82%D0%B8%D0%B9%D0%BD_%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86" title="Эргүүлэлтийн матриц – Mongolian" lang="mn" hreflang="mn" data-title="Эргүүлэлтийн матриц" data-language-autonym="Монгол" data-language-local-name="Mongolian" class="interlanguage-link-target"><span>Монгол</span></a></li><li class="interlanguage-link interwiki-nl mw-list-item"><a href="https://nl.wikipedia.org/wiki/Rotatiematrix" title="Rotatiematrix – Dutch" lang="nl" hreflang="nl" data-title="Rotatiematrix" data-language-autonym="Nederlands" data-language-local-name="Dutch" class="interlanguage-link-target"><span>Nederlands</span></a></li><li class="interlanguage-link interwiki-ja mw-list-item"><a href="https://ja.wikipedia.org/wiki/%E5%9B%9E%E8%BB%A2%E8%A1%8C%E5%88%97" title="回転行列 – Japanese" lang="ja" hreflang="ja" data-title="回転行列" data-language-autonym="日本語" data-language-local-name="Japanese" class="interlanguage-link-target"><span>日本語</span></a></li><li class="interlanguage-link interwiki-pl mw-list-item"><a href="https://pl.wikipedia.org/wiki/Macierz_obrotu" title="Macierz obrotu – Polish" lang="pl" hreflang="pl" data-title="Macierz obrotu" data-language-autonym="Polski" data-language-local-name="Polish" class="interlanguage-link-target"><span>Polski</span></a></li><li class="interlanguage-link interwiki-pt mw-list-item"><a href="https://pt.wikipedia.org/wiki/Matriz_de_rota%C3%A7%C3%A3o" title="Matriz de rotação – Portuguese" lang="pt" hreflang="pt" data-title="Matriz de rotação" data-language-autonym="Português" data-language-local-name="Portuguese" class="interlanguage-link-target"><span>Português</span></a></li><li class="interlanguage-link interwiki-ru mw-list-item"><a href="https://ru.wikipedia.org/wiki/%D0%9C%D0%B0%D1%82%D1%80%D0%B8%D1%86%D0%B0_%D0%BF%D0%BE%D0%B2%D0%BE%D1%80%D0%BE%D1%82%D0%B0" title="Матрица поворота – Russian" lang="ru" hreflang="ru" data-title="Матрица поворота" data-language-autonym="Русский" data-language-local-name="Russian" class="interlanguage-link-target"><span>Русский</span></a></li><li class="interlanguage-link interwiki-sq mw-list-item"><a href="https://sq.wikipedia.org/wiki/Matrica_e_rrotullimit" title="Matrica e rrotullimit – Albanian" lang="sq" hreflang="sq" data-title="Matrica e rrotullimit" data-language-autonym="Shqip" data-language-local-name="Albanian" class="interlanguage-link-target"><span>Shqip</span></a></li><li class="interlanguage-link interwiki-sl mw-list-item"><a href="https://sl.wikipedia.org/wiki/Matrika_vrtenja" title="Matrika vrtenja – Slovenian" lang="sl" hreflang="sl" data-title="Matrika vrtenja" data-language-autonym="Slovenščina" data-language-local-name="Slovenian" class="interlanguage-link-target"><span>Slovenščina</span></a></li><li class="interlanguage-link interwiki-sr mw-list-item"><a href="https://sr.wikipedia.org/wiki/%D0%9C%D0%B0%D1%82%D1%80%D0%B8%D1%86%D0%B0_%D1%80%D0%BE%D1%82%D0%B0%D1%86%D0%B8%D1%98%D0%B5" title="Матрица ротације – Serbian" lang="sr" hreflang="sr" data-title="Матрица ротације" data-language-autonym="Српски / srpski" data-language-local-name="Serbian" class="interlanguage-link-target"><span>Српски / srpski</span></a></li><li class="interlanguage-link interwiki-ta mw-list-item"><a href="https://ta.wikipedia.org/wiki/%E0%AE%9A%E0%AF%81%E0%AE%B4%E0%AE%B1%E0%AF%8D%E0%AE%9A%E0%AE%BF_%E0%AE%85%E0%AE%A3%E0%AE%BF" title="சுழற்சி அணி – Tamil" lang="ta" hreflang="ta" data-title="சுழற்சி அணி" data-language-autonym="தமிழ்" data-language-local-name="Tamil" class="interlanguage-link-target"><span>தமிழ்</span></a></li><li class="interlanguage-link interwiki-uk mw-list-item"><a href="https://uk.wikipedia.org/wiki/%D0%9C%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8F_%D0%BF%D0%BE%D0%B2%D0%BE%D1%80%D0%BE%D1%82%D1%83" title="Матриця повороту – Ukrainian" lang="uk" hreflang="uk" data-title="Матриця повороту" data-language-autonym="Українська" data-language-local-name="Ukrainian" class="interlanguage-link-target"><span>Українська</span></a></li><li class="interlanguage-link interwiki-zh mw-list-item"><a href="https://zh.wikipedia.org/wiki/%E6%97%8B%E8%BD%AC%E7%9F%A9%E9%98%B5" title="旋转矩阵 – Chinese" lang="zh" hreflang="zh" data-title="旋转矩阵" data-language-autonym="中文" data-language-local-name="Chinese" class="interlanguage-link-target"><span>中文</span></a></li> </ul> <div class="after-portlet after-portlet-lang"><span class="wb-langlinks-edit wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q1256564#sitelinks-wikipedia" title="Edit interlanguage links" class="wbc-editpage">Edit links</a></span></div> </div> </div> </div> </header> <div class="vector-page-toolbar"> <div class="vector-page-toolbar-container"> <div id="left-navigation"> <nav aria-label="Namespaces"> <div id="p-associated-pages" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-associated-pages" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-main" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Rotation_matrix" title="View the content page [c]" accesskey="c"><span>Article</span></a></li><li id="ca-talk" class="vector-tab-noicon mw-list-item"><a href="/wiki/Talk:Rotation_matrix" rel="discussion" title="Discuss improvements to the content page [t]" accesskey="t"><span>Talk</span></a></li> </ul> </div> </div> <div id="vector-variants-dropdown" class="vector-dropdown emptyPortlet" > <input type="checkbox" id="vector-variants-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-variants-dropdown" class="vector-dropdown-checkbox " aria-label="Change language variant" > <label id="vector-variants-dropdown-label" for="vector-variants-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">English</span> </label> <div class="vector-dropdown-content"> <div id="p-variants" class="vector-menu mw-portlet mw-portlet-variants emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> </div> </div> </nav> </div> <div id="right-navigation" class="vector-collapsible"> <nav aria-label="Views"> <div id="p-views" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-views" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Rotation_matrix"><span>Read</span></a></li><li id="ca-edit" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Rotation_matrix&action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Rotation_matrix&action=history" title="Past revisions of this page [h]" accesskey="h"><span>View history</span></a></li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-dropdown" class="vector-dropdown vector-page-tools-dropdown" > <input type="checkbox" id="vector-page-tools-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-tools-dropdown" class="vector-dropdown-checkbox " aria-label="Tools" > <label id="vector-page-tools-dropdown-label" for="vector-page-tools-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">Tools</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-tools-unpinned-container" class="vector-unpinned-container"> <div id="vector-page-tools" class="vector-page-tools vector-pinnable-element"> <div class="vector-pinnable-header vector-page-tools-pinnable-header vector-pinnable-header-unpinned" data-feature-name="page-tools-pinned" data-pinnable-element-id="vector-page-tools" data-pinned-container-id="vector-page-tools-pinned-container" data-unpinned-container-id="vector-page-tools-unpinned-container" > <div class="vector-pinnable-header-label">Tools</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-page-tools.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-page-tools.unpin">hide</button> </div> <div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="More options" > <div class="vector-menu-heading"> Actions </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-more-view" class="selected vector-more-collapsible-item mw-list-item"><a href="/wiki/Rotation_matrix"><span>Read</span></a></li><li id="ca-more-edit" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Rotation_matrix&action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Rotation_matrix&action=history"><span>View history</span></a></li> </ul> </div> </div> <div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb" > <div class="vector-menu-heading"> General </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Special:WhatLinksHere/Rotation_matrix" title="List of all English Wikipedia pages containing links to this page [j]" accesskey="j"><span>What links here</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Special:RecentChangesLinked/Rotation_matrix" rel="nofollow" title="Recent changes in pages linked from this page [k]" accesskey="k"><span>Related changes</span></a></li><li id="t-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_Upload_Wizard" title="Upload files [u]" accesskey="u"><span>Upload file</span></a></li><li id="t-specialpages" class="mw-list-item"><a href="/wiki/Special:SpecialPages" title="A list of all special pages [q]" accesskey="q"><span>Special pages</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=Rotation_matrix&oldid=1250574232" title="Permanent link to this revision of this page"><span>Permanent link</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=Rotation_matrix&action=info" title="More information about this page"><span>Page information</span></a></li><li id="t-cite" class="mw-list-item"><a href="/w/index.php?title=Special:CiteThisPage&page=Rotation_matrix&id=1250574232&wpFormIdentifier=titleform" title="Information on how to cite this page"><span>Cite this page</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Special:UrlShortener&url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FRotation_matrix"><span>Get shortened URL</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Special:QrCode&url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FRotation_matrix"><span>Download QR code</span></a></li> </ul> </div> </div> <div id="p-coll-print_export" class="vector-menu mw-portlet mw-portlet-coll-print_export" > <div class="vector-menu-heading"> Print/export </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="coll-download-as-rl" class="mw-list-item"><a href="/w/index.php?title=Special:DownloadAsPdf&page=Rotation_matrix&action=show-download-screen" title="Download this page as a PDF file"><span>Download as PDF</span></a></li><li id="t-print" class="mw-list-item"><a href="/w/index.php?title=Rotation_matrix&printable=yes" title="Printable version of this page [p]" accesskey="p"><span>Printable version</span></a></li> </ul> </div> </div> <div id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-otherprojects" > <div class="vector-menu-heading"> In other projects </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-wikibase" class="wb-otherproject-link wb-otherproject-wikibase-dataitem mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q1256564" title="Structured data on this page hosted by Wikidata [g]" accesskey="g"><span>Wikidata item</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> </div> </div> </div> <div class="vector-column-end"> <div class="vector-sticky-pinned-container"> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-pinned-container" class="vector-pinned-container"> </div> </nav> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-pinned-container" class="vector-pinned-container"> <div id="vector-appearance" class="vector-appearance vector-pinnable-element"> <div class="vector-pinnable-header vector-appearance-pinnable-header vector-pinnable-header-pinned" data-feature-name="appearance-pinned" data-pinnable-element-id="vector-appearance" data-pinned-container-id="vector-appearance-pinned-container" data-unpinned-container-id="vector-appearance-unpinned-container" > <div class="vector-pinnable-header-label">Appearance</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-appearance.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-appearance.unpin">hide</button> </div> </div> </div> </nav> </div> </div> <div id="bodyContent" class="vector-body" aria-labelledby="firstHeading" data-mw-ve-target-container> <div class="vector-body-before-content"> <div class="mw-indicators"> </div> <div id="siteSub" class="noprint">From Wikipedia, the free encyclopedia</div> </div> <div id="contentSub"><div id="mw-content-subtitle"></div></div> <div id="mw-content-text" class="mw-body-content"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><div class="shortdescription nomobile noexcerpt noprint searchaux" style="display:none">Matrix representing a Euclidean rotation</div> <p>In <a href="/wiki/Linear_algebra" title="Linear algebra">linear algebra</a>, a <b>rotation matrix</b> is a <a href="/wiki/Transformation_matrix" title="Transformation matrix">transformation matrix</a> that is used to perform a <a href="/wiki/Rotation_(mathematics)" title="Rotation (mathematics)">rotation</a> in <a href="/wiki/Euclidean_space" title="Euclidean space">Euclidean space</a>. For example, using the convention below, the matrix </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle R={\begin{bmatrix}\cos \theta &-\sin \theta \\\sin \theta &\cos \theta \end{bmatrix}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>R</mi> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> <mtd> <mo>−<!-- − --></mo> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> </mtr> <mtr> <mtd> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle R={\begin{bmatrix}\cos \theta &-\sin \theta \\\sin \theta &\cos \theta \end{bmatrix}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/d4a02e6b5990244f4427309f6732239b9633d62d" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -2.505ex; width:21.509ex; height:6.176ex;" alt="{\displaystyle R={\begin{bmatrix}\cos \theta &-\sin \theta \\\sin \theta &\cos \theta \end{bmatrix}}}"></span></dd></dl> <p>rotates points in the <span class="texhtml mvar" style="font-style:italic;">xy</span> plane counterclockwise through an angle <span class="texhtml mvar" style="font-style:italic;">θ</span> about the origin of a two-dimensional <a href="/wiki/Cartesian_coordinate_system" title="Cartesian coordinate system">Cartesian coordinate system</a>. To perform the rotation on a plane point with standard coordinates <span class="texhtml"><b>v</b> = (<i>x</i>, <i>y</i>)</span>, it should be written as a <a href="/wiki/Column_vector" class="mw-redirect" title="Column vector">column vector</a>, and <a href="/wiki/Matrix_multiplication" title="Matrix multiplication">multiplied</a> by the matrix <span class="texhtml mvar" style="font-style:italic;">R</span>: </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle R\mathbf {v} ={\begin{bmatrix}\cos \theta &-\sin \theta \\\sin \theta &\cos \theta \end{bmatrix}}{\begin{bmatrix}x\\y\end{bmatrix}}={\begin{bmatrix}x\cos \theta -y\sin \theta \\x\sin \theta +y\cos \theta \end{bmatrix}}.}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>R</mi> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">v</mi> </mrow> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> <mtd> <mo>−<!-- − --></mo> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> </mtr> <mtr> <mtd> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mi>x</mi> </mtd> </mtr> <mtr> <mtd> <mi>y</mi> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mi>x</mi> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> <mo>−<!-- − --></mo> <mi>y</mi> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> </mtr> <mtr> <mtd> <mi>x</mi> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> <mo>+</mo> <mi>y</mi> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> <mo>.</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle R\mathbf {v} ={\begin{bmatrix}\cos \theta &-\sin \theta \\\sin \theta &\cos \theta \end{bmatrix}}{\begin{bmatrix}x\\y\end{bmatrix}}={\begin{bmatrix}x\cos \theta -y\sin \theta \\x\sin \theta +y\cos \theta \end{bmatrix}}.}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/e02da33f45679713d15de997449a76df48efb282" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -2.505ex; width:49.429ex; height:6.176ex;" alt="{\displaystyle R\mathbf {v} ={\begin{bmatrix}\cos \theta &-\sin \theta \\\sin \theta &\cos \theta \end{bmatrix}}{\begin{bmatrix}x\\y\end{bmatrix}}={\begin{bmatrix}x\cos \theta -y\sin \theta \\x\sin \theta +y\cos \theta \end{bmatrix}}.}"></span></dd></dl> <p>If <span class="texhtml mvar" style="font-style:italic;">x</span> and <span class="texhtml mvar" style="font-style:italic;">y</span> are the endpoint coordinates of a vector, where <span class="texhtml mvar" style="font-style:italic;">x</span> is cosine and <span class="texhtml mvar" style="font-style:italic;">y</span> is sine, then the above equations become the <a href="/wiki/List_of_trigonometric_identities#Angle_sum_and_difference_identities" title="List of trigonometric identities">trigonometric summation angle formulae</a>. Indeed, a rotation matrix can be seen as the trigonometric summation angle formulae in matrix form. One way to understand this is to say we have a vector at an angle 30° from the <span class="texhtml mvar" style="font-style:italic;">x</span> axis, and we wish to rotate that angle by a further 45°. We simply need to compute the vector endpoint coordinates at 75°. </p><p>The examples in this article apply to <i><a href="/wiki/Active_and_passive_transformation#Active_transformation" title="Active and passive transformation">active</a> rotations</i> of vectors <i>counterclockwise</i> in a <i>right-handed coordinate system</i> (<span class="texhtml mvar" style="font-style:italic;">y</span> counterclockwise from <span class="texhtml mvar" style="font-style:italic;">x</span>) by <i>pre-multiplication</i> (<span class="texhtml mvar" style="font-style:italic;">R</span> on the left). If any one of these is changed (such as rotating axes instead of vectors, a <i><a href="/wiki/Active_and_passive_transformation#Passive_transformation" title="Active and passive transformation">passive</a> transformation</i>), then the <a href="/wiki/Matrix_inverse" class="mw-redirect" title="Matrix inverse">inverse</a> of the example matrix should be used, which coincides with its <a href="/wiki/Transpose" title="Transpose">transpose</a>. </p><p>Since matrix multiplication has no effect on the <a href="/wiki/Zero_vector" class="mw-redirect" title="Zero vector">zero vector</a> (the coordinates of the origin), rotation matrices describe rotations about the origin. Rotation matrices provide an algebraic description of such rotations, and are used extensively for computations in <a href="/wiki/Geometry" title="Geometry">geometry</a>, <a href="/wiki/Physics" title="Physics">physics</a>, and <a href="/wiki/Computer_graphics" title="Computer graphics">computer graphics</a>. In some literature, the term <i>rotation</i> is generalized to include <a href="/wiki/Improper_rotation" title="Improper rotation">improper rotations</a>, characterized by orthogonal matrices with a <a href="/wiki/Determinant" title="Determinant">determinant</a> of −1 (instead of +1). These combine <i>proper</i> rotations with <i>reflections</i> (which invert <a href="/wiki/Orientation_(mathematics)" class="mw-redirect" title="Orientation (mathematics)">orientation</a>). In other cases, where reflections are not being considered, the label <i>proper</i> may be dropped. The latter convention is followed in this article. </p><p>Rotation matrices are <a href="/wiki/Square_matrix" title="Square matrix">square matrices</a>, with <a href="/wiki/Real_number" title="Real number">real</a> entries. More specifically, they can be characterized as <a href="/wiki/Orthogonal_matrix" title="Orthogonal matrix">orthogonal matrices</a> with <a href="/wiki/Determinant" title="Determinant">determinant</a> 1; that is, a square matrix <span class="texhtml"><i>R</i></span> is a rotation matrix if and only if <span class="texhtml"><i>R</i><sup>T</sup> = <i>R</i><sup>−1</sup></span> and <span class="texhtml">det <i>R</i> = 1</span>. The <a href="/wiki/Set_(mathematics)" title="Set (mathematics)">set</a> of all orthogonal matrices of size <span class="texhtml mvar" style="font-style:italic;">n</span> with determinant +1 is a <a href="/wiki/Group_representation" title="Group representation">representation</a> of a <a href="/wiki/Group_(mathematics)" title="Group (mathematics)">group</a> known as the <a href="/wiki/Special_orthogonal_group" class="mw-redirect" title="Special orthogonal group">special orthogonal group</a> <span class="texhtml">SO(<i>n</i>)</span>, one example of which is the <a href="/wiki/Rotation_group_SO(3)" class="mw-redirect" title="Rotation group SO(3)">rotation group SO(3)</a>. The set of all orthogonal matrices of size <span class="texhtml mvar" style="font-style:italic;">n</span> with determinant +1 or −1 is a representation of the (general) <a href="/wiki/Orthogonal_group" title="Orthogonal group">orthogonal group</a> <span class="texhtml">O(<i>n</i>)</span>. </p> <meta property="mw:PageProp/toc" /> <div class="mw-heading mw-heading2"><h2 id="In_two_dimensions">In two dimensions</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Rotation_matrix&action=edit&section=1" title="Edit section: In two dimensions"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <figure class="mw-default-size" typeof="mw:File/Thumb"><a href="/wiki/File:Counterclockwise_rotation.png" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/d/d5/Counterclockwise_rotation.png/220px-Counterclockwise_rotation.png" decoding="async" width="220" height="229" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/d/d5/Counterclockwise_rotation.png/330px-Counterclockwise_rotation.png 1.5x, //upload.wikimedia.org/wikipedia/commons/d/d5/Counterclockwise_rotation.png 2x" data-file-width="334" data-file-height="347" /></a><figcaption>A counterclockwise rotation of a vector through angle <span class="texhtml mvar" style="font-style:italic;">θ</span>. The vector is initially aligned with the <span class="texhtml mvar" style="font-style:italic;">x</span>-axis.</figcaption></figure> <p>In two dimensions, the standard rotation matrix has the following form: </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle R(\theta )={\begin{bmatrix}\cos \theta &-\sin \theta \\\sin \theta &\cos \theta \\\end{bmatrix}}.}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>R</mi> <mo stretchy="false">(</mo> <mi>θ<!-- θ --></mi> <mo stretchy="false">)</mo> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> <mtd> <mo>−<!-- − --></mo> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> </mtr> <mtr> <mtd> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> <mo>.</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle R(\theta )={\begin{bmatrix}\cos \theta &-\sin \theta \\\sin \theta &\cos \theta \\\end{bmatrix}}.}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/678b1828be1c7064bc3f25cd1cb323f88f0d8acf" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -2.505ex; width:25.055ex; height:6.176ex;" alt="{\displaystyle R(\theta )={\begin{bmatrix}\cos \theta &-\sin \theta \\\sin \theta &\cos \theta \\\end{bmatrix}}.}"></span></dd></dl> <p>This rotates <a href="/wiki/Column_vector" class="mw-redirect" title="Column vector">column vectors</a> by means of the following <a href="/wiki/Matrix_multiplication" title="Matrix multiplication">matrix multiplication</a>, </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{bmatrix}x'\\y'\\\end{bmatrix}}={\begin{bmatrix}\cos \theta &-\sin \theta \\\sin \theta &\cos \theta \\\end{bmatrix}}{\begin{bmatrix}x\\y\\\end{bmatrix}}.}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <msup> <mi>x</mi> <mo>′</mo> </msup> </mtd> </mtr> <mtr> <mtd> <msup> <mi>y</mi> <mo>′</mo> </msup> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> <mtd> <mo>−<!-- − --></mo> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> </mtr> <mtr> <mtd> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mi>x</mi> </mtd> </mtr> <mtr> <mtd> <mi>y</mi> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> <mo>.</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\begin{bmatrix}x'\\y'\\\end{bmatrix}}={\begin{bmatrix}\cos \theta &-\sin \theta \\\sin \theta &\cos \theta \\\end{bmatrix}}{\begin{bmatrix}x\\y\\\end{bmatrix}}.}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/f634dcca650647858444511d84cb6e228f9682eb" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -2.505ex; width:30.148ex; height:6.176ex;" alt="{\displaystyle {\begin{bmatrix}x'\\y'\\\end{bmatrix}}={\begin{bmatrix}\cos \theta &-\sin \theta \\\sin \theta &\cos \theta \\\end{bmatrix}}{\begin{bmatrix}x\\y\\\end{bmatrix}}.}"></span></dd></dl> <p>Thus, the new coordinates <span class="texhtml">(<i>x</i>′, <i>y</i>′)</span> of a point <span class="texhtml">(<i>x</i>, <i>y</i>)</span> after rotation are </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{aligned}x'&=x\cos \theta -y\sin \theta \,\\y'&=x\sin \theta +y\cos \theta \,\end{aligned}}.}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"> <mtr> <mtd> <msup> <mi>x</mi> <mo>′</mo> </msup> </mtd> <mtd> <mi></mi> <mo>=</mo> <mi>x</mi> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> <mo>−<!-- − --></mo> <mi>y</mi> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> <mspace width="thinmathspace" /> </mtd> </mtr> <mtr> <mtd> <msup> <mi>y</mi> <mo>′</mo> </msup> </mtd> <mtd> <mi></mi> <mo>=</mo> <mi>x</mi> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> <mo>+</mo> <mi>y</mi> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> <mspace width="thinmathspace" /> </mtd> </mtr> </mtable> </mrow> <mo>.</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\begin{aligned}x'&=x\cos \theta -y\sin \theta \,\\y'&=x\sin \theta +y\cos \theta \,\end{aligned}}.}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/cdf8017414ac9ea8dbdbaa644c4439cad105f244" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -2.338ex; width:21.92ex; height:5.843ex;" alt="{\displaystyle {\begin{aligned}x'&=x\cos \theta -y\sin \theta \,\\y'&=x\sin \theta +y\cos \theta \,\end{aligned}}.}"></span></dd></dl> <div class="mw-heading mw-heading3"><h3 id="Examples">Examples</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Rotation_matrix&action=edit&section=2" title="Edit section: Examples"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>For example, when the vector </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {\hat {x}} ={\begin{bmatrix}1\\0\\\end{bmatrix}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mover> <mi mathvariant="bold">x</mi> <mo mathvariant="bold" stretchy="false">^<!-- ^ --></mo> </mover> </mrow> </mrow> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mn>1</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \mathbf {\hat {x}} ={\begin{bmatrix}1\\0\\\end{bmatrix}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/24f514f8b20e3e84065b9709f2100333a85d705b" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -2.505ex; width:8.878ex; height:6.176ex;" alt="{\displaystyle \mathbf {\hat {x}} ={\begin{bmatrix}1\\0\\\end{bmatrix}}}"></span></dd></dl> <p>is rotated by an angle <span class="texhtml mvar" style="font-style:italic;">θ</span>, its new coordinates are </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{bmatrix}\cos \theta \\\sin \theta \\\end{bmatrix}},}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> </mtr> <mtr> <mtd> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> <mo>,</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\begin{bmatrix}\cos \theta \\\sin \theta \\\end{bmatrix}},}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/b2763ac36ca8e948447e005a3e0c0ae1e6e16ebf" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -2.505ex; width:8.442ex; height:6.176ex;" alt="{\displaystyle {\begin{bmatrix}\cos \theta \\\sin \theta \\\end{bmatrix}},}"></span></dd></dl> <p>and when the vector </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {\hat {y}} ={\begin{bmatrix}0\\1\\\end{bmatrix}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mover> <mi mathvariant="bold">y</mi> <mo mathvariant="bold" stretchy="false">^<!-- ^ --></mo> </mover> </mrow> </mrow> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \mathbf {\hat {y}} ={\begin{bmatrix}0\\1\\\end{bmatrix}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/8cddee54265123a3e174afa03bcf4369a6403041" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -2.505ex; width:8.878ex; height:6.176ex;" alt="{\displaystyle \mathbf {\hat {y}} ={\begin{bmatrix}0\\1\\\end{bmatrix}}}"></span></dd></dl> <p>is rotated by an angle <span class="texhtml mvar" style="font-style:italic;">θ</span>, its new coordinates are </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{bmatrix}-\sin \theta \\\cos \theta \\\end{bmatrix}}.}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mo>−<!-- − --></mo> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> </mtr> <mtr> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> <mo>.</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\begin{bmatrix}-\sin \theta \\\cos \theta \\\end{bmatrix}}.}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/9e3f95d13e443ee6606b69ede5ef8f46eac1dadf" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -2.505ex; width:10.382ex; height:6.176ex;" alt="{\displaystyle {\begin{bmatrix}-\sin \theta \\\cos \theta \\\end{bmatrix}}.}"></span></dd></dl> <div class="mw-heading mw-heading3"><h3 id="Direction">Direction</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Rotation_matrix&action=edit&section=3" title="Edit section: Direction"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The direction of vector rotation is counterclockwise if <span class="texhtml mvar" style="font-style:italic;">θ</span> is positive (e.g. 90°), and clockwise if <span class="texhtml mvar" style="font-style:italic;">θ</span> is negative (e.g. −90°) for <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle R(\theta )}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>R</mi> <mo stretchy="false">(</mo> <mi>θ<!-- θ --></mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle R(\theta )}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/4fb7b76aaabf55394c0f424df30d1fd9f64e0b00" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:4.664ex; height:2.843ex;" alt="{\displaystyle R(\theta )}"></span>. Thus the clockwise rotation matrix is found as </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle R(-\theta )={\begin{bmatrix}\cos \theta &\sin \theta \\-\sin \theta &\cos \theta \\\end{bmatrix}}.}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>R</mi> <mo stretchy="false">(</mo> <mo>−<!-- − --></mo> <mi>θ<!-- θ --></mi> <mo stretchy="false">)</mo> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> <mtd> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> </mtr> <mtr> <mtd> <mo>−<!-- − --></mo> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> <mo>.</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle R(-\theta )={\begin{bmatrix}\cos \theta &\sin \theta \\-\sin \theta &\cos \theta \\\end{bmatrix}}.}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/eca58eb2afac29e53b70016d9808c2a8ece1536c" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -2.505ex; width:26.863ex; height:6.176ex;" alt="{\displaystyle R(-\theta )={\begin{bmatrix}\cos \theta &\sin \theta \\-\sin \theta &\cos \theta \\\end{bmatrix}}.}"></span></dd></dl> <p>The two-dimensional case is the only non-trivial (i.e. not one-dimensional) case where the rotation matrices group is commutative, so that it does not matter in which order multiple rotations are performed. An alternative convention uses rotating axes,<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> and the above matrices also represent a rotation of the <i>axes clockwise</i> through an angle <span class="texhtml mvar" style="font-style:italic;">θ</span>. </p> <div class="mw-heading mw-heading3"><h3 id="Non-standard_orientation_of_the_coordinate_system">Non-standard orientation of the coordinate system</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Rotation_matrix&action=edit&section=4" title="Edit section: Non-standard orientation of the coordinate system"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <figure class="mw-default-size" typeof="mw:File/Thumb"><a href="/wiki/File:Clockwise_rotation.png" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/d/d2/Clockwise_rotation.png/220px-Clockwise_rotation.png" decoding="async" width="220" height="222" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/d/d2/Clockwise_rotation.png/330px-Clockwise_rotation.png 1.5x, //upload.wikimedia.org/wikipedia/commons/d/d2/Clockwise_rotation.png 2x" data-file-width="331" data-file-height="334" /></a><figcaption>A rotation through angle <span class="texhtml mvar" style="font-style:italic;">θ</span> with non-standard axes.</figcaption></figure> <p>If a standard <a href="/wiki/Orientation_(mathematics)" class="mw-redirect" title="Orientation (mathematics)">right-handed</a> <a href="/wiki/Cartesian_coordinate_system" title="Cartesian coordinate system">Cartesian coordinate system</a> is used, with the <span class="nowrap"><span class="texhtml mvar" style="font-style:italic;">x</span>-axis</span> to the right and the <span class="nowrap"><span class="texhtml mvar" style="font-style:italic;">y</span>-axis</span> up, the rotation <span class="texhtml"><i>R</i>(<i>θ</i>)</span> is counterclockwise. If a left-handed Cartesian coordinate system is used, with <span class="texhtml mvar" style="font-style:italic;">x</span> directed to the right but <span class="texhtml mvar" style="font-style:italic;">y</span> directed down, <span class="texhtml"><i>R</i>(<i>θ</i>)</span> is clockwise. Such non-standard orientations are rarely used in mathematics but are common in <a href="/wiki/2D_computer_graphics" title="2D computer graphics">2D computer graphics</a>, which often have the origin in the top left corner and the <span class="nowrap"><span class="texhtml mvar" style="font-style:italic;">y</span>-axis</span> down the screen or page.<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> </p><p>See <a href="#Ambiguities">below</a> for other alternative conventions which may change the sense of the rotation produced by a rotation matrix. </p> <div class="mw-heading mw-heading3"><h3 id="Common_2D_rotations">Common 2D rotations</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Rotation_matrix&action=edit&section=5" title="Edit section: Common 2D rotations"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Particularly useful are the matrices </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{bmatrix}0&-1\\[3pt]1&0\\\end{bmatrix}},\quad {\begin{bmatrix}-1&0\\[3pt]0&-1\\\end{bmatrix}},\quad {\begin{bmatrix}0&1\\[3pt]-1&0\\\end{bmatrix}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="0.7em 0.4em" columnspacing="1em"> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mo>−<!-- − --></mo> <mn>1</mn> </mtd> </mtr> <mtr> <mtd> <mn>1</mn> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> <mo>,</mo> <mspace width="1em" /> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="0.7em 0.4em" columnspacing="1em"> <mtr> <mtd> <mo>−<!-- − --></mo> <mn>1</mn> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mo>−<!-- − --></mo> <mn>1</mn> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> <mo>,</mo> <mspace width="1em" /> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="0.7em 0.4em" columnspacing="1em"> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mn>1</mn> </mtd> </mtr> <mtr> <mtd> <mo>−<!-- − --></mo> <mn>1</mn> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\begin{bmatrix}0&-1\\[3pt]1&0\\\end{bmatrix}},\quad {\begin{bmatrix}-1&0\\[3pt]0&-1\\\end{bmatrix}},\quad {\begin{bmatrix}0&1\\[3pt]-1&0\\\end{bmatrix}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/049475f6bbfd9cfe4f0db0e7f063301e7acb774b" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -3.171ex; width:38.274ex; height:7.509ex;" alt="{\displaystyle {\begin{bmatrix}0&-1\\[3pt]1&0\\\end{bmatrix}},\quad {\begin{bmatrix}-1&0\\[3pt]0&-1\\\end{bmatrix}},\quad {\begin{bmatrix}0&1\\[3pt]-1&0\\\end{bmatrix}}}"></span></dd></dl> <p>for 90°, 180°, and 270° counter-clockwise rotations. </p> <style data-mw-deduplicate="TemplateStyles:r1237032888/mw-parser-output/.tmulti">.mw-parser-output .tmulti .multiimageinner{display:flex;flex-direction:column}.mw-parser-output .tmulti .trow{display:flex;flex-direction:row;clear:left;flex-wrap:wrap;width:100%;box-sizing:border-box}.mw-parser-output .tmulti .tsingle{margin:1px;float:left}.mw-parser-output .tmulti .theader{clear:both;font-weight:bold;text-align:center;align-self:center;background-color:transparent;width:100%}.mw-parser-output .tmulti .thumbcaption{background-color:transparent}.mw-parser-output .tmulti .text-align-left{text-align:left}.mw-parser-output .tmulti .text-align-right{text-align:right}.mw-parser-output .tmulti .text-align-center{text-align:center}@media all and (max-width:720px){.mw-parser-output .tmulti .thumbinner{width:100%!important;box-sizing:border-box;max-width:none!important;align-items:center}.mw-parser-output .tmulti .trow{justify-content:center}.mw-parser-output .tmulti .tsingle{float:none!important;max-width:100%!important;box-sizing:border-box;text-align:center}.mw-parser-output .tmulti .tsingle .thumbcaption{text-align:left}.mw-parser-output .tmulti .trow>.thumbcaption{text-align:center}}@media screen{html.skin-theme-clientpref-night .mw-parser-output .tmulti .multiimageinner img{background-color:white}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .tmulti .multiimageinner img{background-color:white}}</style><div class="thumb tmulti tleft"><div class="thumbinner multiimageinner" style="width:462px;max-width:462px"><div class="trow"><div class="tsingle" style="width:152px;max-width:152px"><div class="thumbimage"><span typeof="mw:File"><a href="/wiki/File:Square_permutation_1_1.svg" class="mw-file-description"><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/f/fc/Square_permutation_1_1.svg/150px-Square_permutation_1_1.svg.png" decoding="async" width="150" height="210" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/f/fc/Square_permutation_1_1.svg/225px-Square_permutation_1_1.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/f/fc/Square_permutation_1_1.svg/300px-Square_permutation_1_1.svg.png 2x" data-file-width="354" data-file-height="496" /></a></span></div></div><div class="tsingle" style="width:152px;max-width:152px"><div class="thumbimage"><span typeof="mw:File"><a href="/wiki/File:Square_permutation_3_0.svg" class="mw-file-description"><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/8/86/Square_permutation_3_0.svg/150px-Square_permutation_3_0.svg.png" decoding="async" width="150" height="210" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/8/86/Square_permutation_3_0.svg/225px-Square_permutation_3_0.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/8/86/Square_permutation_3_0.svg/300px-Square_permutation_3_0.svg.png 2x" data-file-width="354" data-file-height="496" /></a></span></div></div><div class="tsingle" style="width:152px;max-width:152px"><div class="thumbimage"><span typeof="mw:File"><a href="/wiki/File:Square_permutation_2_1.svg" class="mw-file-description"><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/c/c0/Square_permutation_2_1.svg/150px-Square_permutation_2_1.svg.png" decoding="async" width="150" height="210" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/c/c0/Square_permutation_2_1.svg/225px-Square_permutation_2_1.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/c/c0/Square_permutation_2_1.svg/300px-Square_permutation_2_1.svg.png 2x" data-file-width="354" data-file-height="496" /></a></span></div></div></div><div class="trow" style="display:flex"><div class="thumbcaption">A 180° rotation (middle) <a href="/wiki/Function_composition" title="Function composition">followed by</a> a positive 90° rotation (left) is equivalent to a single negative 90° (positive 270°) rotation (right). Each of these figures depicts the result of a rotation relative to an upright starting position (bottom left) and includes the matrix representation of the permutation applied by the rotation (center right), as well as other related diagrams. See <a class="external text" href="https://en.wikiversity.org/wiki/Permutation_notation">"Permutation notation" on Wikiversity</a> for details.</div></div></div></div> <div style="clear:both;" class=""></div> <div class="mw-heading mw-heading3"><h3 id="Relationship_with_complex_plane">Relationship with complex plane</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Rotation_matrix&action=edit&section=6" title="Edit section: Relationship with complex plane"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Since </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{bmatrix}0&-1\\1&0\end{bmatrix}}^{2}\ =\ {\begin{bmatrix}-1&0\\0&-1\end{bmatrix}}\ =-I,}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msup> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mo>−<!-- − --></mo> <mn>1</mn> </mtd> </mtr> <mtr> <mtd> <mn>1</mn> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mtext> </mtext> <mo>=</mo> <mtext> </mtext> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mo>−<!-- − --></mo> <mn>1</mn> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mo>−<!-- − --></mo> <mn>1</mn> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> <mtext> </mtext> <mo>=</mo> <mo>−<!-- − --></mo> <mi>I</mi> <mo>,</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\begin{bmatrix}0&-1\\1&0\end{bmatrix}}^{2}\ =\ {\begin{bmatrix}-1&0\\0&-1\end{bmatrix}}\ =-I,}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/cb13e469c9ce9acffd44ab9e8e319eb3fb9c7f8f" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -2.505ex; width:33.752ex; height:6.509ex;" alt="{\displaystyle {\begin{bmatrix}0&-1\\1&0\end{bmatrix}}^{2}\ =\ {\begin{bmatrix}-1&0\\0&-1\end{bmatrix}}\ =-I,}"></span></dd></dl> <p>the matrices of the shape </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{bmatrix}x&-y\\y&x\end{bmatrix}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mi>x</mi> </mtd> <mtd> <mo>−<!-- − --></mo> <mi>y</mi> </mtd> </mtr> <mtr> <mtd> <mi>y</mi> </mtd> <mtd> <mi>x</mi> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\begin{bmatrix}x&-y\\y&x\end{bmatrix}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/ad7a24661f584a151faed63f64f288b5375a7d3a" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -2.505ex; width:9.822ex; height:6.176ex;" alt="{\displaystyle {\begin{bmatrix}x&-y\\y&x\end{bmatrix}}}"></span></dd></dl> <p>form a <a href="/wiki/Ring_(mathematics)" title="Ring (mathematics)">ring</a> <a href="/wiki/Ring_isomorphism" class="mw-redirect" title="Ring isomorphism">isomorphic</a> to the <a href="/wiki/Field_(mathematics)" title="Field (mathematics)">field</a> of the <a href="/wiki/Complex_number" title="Complex number">complex numbers</a> <span class="nowrap">⁠<span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbb {C} }"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="double-struck">C</mi> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \mathbb {C} }</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/f9add4085095b9b6d28d045fd9c92c2c09f549a7" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.678ex; height:2.176ex;" alt="{\displaystyle \mathbb {C} }"></span>⁠</span>. Under this isomorphism, the rotation matrices correspond to <a href="/wiki/Circle" title="Circle">circle</a> of the <a href="/wiki/Unit_complex_number" class="mw-redirect" title="Unit complex number">unit complex numbers</a>, the complex numbers of modulus <span class="texhtml">1</span>. </p><p>If one identifies <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbb {R} ^{2}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msup> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="double-struck">R</mi> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \mathbb {R} ^{2}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/e150115ab9f63023215109595b76686a1ff890fd" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.732ex; height:2.676ex;" alt="{\displaystyle \mathbb {R} ^{2}}"></span> with <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbb {C} }"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="double-struck">C</mi> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \mathbb {C} }</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/f9add4085095b9b6d28d045fd9c92c2c09f549a7" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.678ex; height:2.176ex;" alt="{\displaystyle \mathbb {C} }"></span> through the <a href="/wiki/Linear_isomorphism" class="mw-redirect" title="Linear isomorphism">linear isomorphism</a> <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle (a,b)\mapsto a+ib,}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mo stretchy="false">(</mo> <mi>a</mi> <mo>,</mo> <mi>b</mi> <mo stretchy="false">)</mo> <mo stretchy="false">↦<!-- ↦ --></mo> <mi>a</mi> <mo>+</mo> <mi>i</mi> <mi>b</mi> <mo>,</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle (a,b)\mapsto a+ib,}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/8cff6190032fddac4e1c3d2a21f3270d48419b5c" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:15.202ex; height:2.843ex;" alt="{\displaystyle (a,b)\mapsto a+ib,}"></span> the action of a matrix of the above form on vectors of <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbb {R} ^{2}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msup> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="double-struck">R</mi> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \mathbb {R} ^{2}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/e150115ab9f63023215109595b76686a1ff890fd" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.732ex; height:2.676ex;" alt="{\displaystyle \mathbb {R} ^{2}}"></span> corresponds to the multiplication by the complex number <span class="texhtml"><i>x</i> + <i>iy</i></span>, and rotations correspond to multiplication by complex numbers of modulus <span class="texhtml">1</span>. </p><p>As every rotation matrix can be written </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{pmatrix}\cos t&-\sin t\\\sin t&\cos t\end{pmatrix}},}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>(</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>t</mi> </mtd> <mtd> <mo>−<!-- − --></mo> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>t</mi> </mtd> </mtr> <mtr> <mtd> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>t</mi> </mtd> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>t</mi> </mtd> </mtr> </mtable> <mo>)</mo> </mrow> </mrow> <mo>,</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\begin{pmatrix}\cos t&-\sin t\\\sin t&\cos t\end{pmatrix}},}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/3d87ec010b4c193cc651fd3ea98d7a0c6c788295" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -2.505ex; width:17.757ex; height:6.176ex;" alt="{\displaystyle {\begin{pmatrix}\cos t&-\sin t\\\sin t&\cos t\end{pmatrix}},}"></span></dd></dl> <p>the above correspondence associates such a matrix with the complex number </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \cos t+i\sin t=e^{it}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>t</mi> <mo>+</mo> <mi>i</mi> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>t</mi> <mo>=</mo> <msup> <mi>e</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>i</mi> <mi>t</mi> </mrow> </msup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \cos t+i\sin t=e^{it}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/c05a91bf032ab32d67bd896ed4d5173c1fda64b4" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.505ex; width:18.025ex; height:2.843ex;" alt="{\displaystyle \cos t+i\sin t=e^{it}}"></span></dd></dl> <p>(this last equality is <a href="/wiki/Euler%27s_formula" title="Euler's formula">Euler's formula</a>). </p> <div class="mw-heading mw-heading2"><h2 id="In_three_dimensions">In three dimensions</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Rotation_matrix&action=edit&section=7" title="Edit section: In three dimensions"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1236090951">.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}</style><div role="note" class="hatnote navigation-not-searchable">See also: <a href="/wiki/Rotation_formalisms_in_three_dimensions" title="Rotation formalisms in three dimensions">Rotation formalisms in three dimensions</a></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1237032888/mw-parser-output/.tmulti"><div class="thumb tmulti tright"><div class="thumbinner multiimageinner" style="width:552px;max-width:552px"><div class="trow"><div class="tsingle" style="width:182px;max-width:182px"><div class="thumbimage"><span typeof="mw:File"><a href="/wiki/File:Cube_permutation_4_5.svg" class="mw-file-description"><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/2/20/Cube_permutation_4_5.svg/180px-Cube_permutation_4_5.svg.png" decoding="async" width="180" height="310" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/20/Cube_permutation_4_5.svg/270px-Cube_permutation_4_5.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/2/20/Cube_permutation_4_5.svg/360px-Cube_permutation_4_5.svg.png 2x" data-file-width="900" data-file-height="1550" /></a></span></div></div><div class="tsingle" style="width:182px;max-width:182px"><div class="thumbimage"><span typeof="mw:File"><a href="/wiki/File:Cube_permutation_1_1.svg" class="mw-file-description"><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/0/00/Cube_permutation_1_1.svg/180px-Cube_permutation_1_1.svg.png" decoding="async" width="180" height="310" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/0/00/Cube_permutation_1_1.svg/270px-Cube_permutation_1_1.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/0/00/Cube_permutation_1_1.svg/360px-Cube_permutation_1_1.svg.png 2x" data-file-width="900" data-file-height="1550" /></a></span></div></div><div class="tsingle" style="width:182px;max-width:182px"><div class="thumbimage"><span typeof="mw:File"><a href="/wiki/File:Cube_permutation_0_4.svg" class="mw-file-description"><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/4/4f/Cube_permutation_0_4.svg/180px-Cube_permutation_0_4.svg.png" decoding="async" width="180" height="310" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/4/4f/Cube_permutation_0_4.svg/270px-Cube_permutation_0_4.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/4/4f/Cube_permutation_0_4.svg/360px-Cube_permutation_0_4.svg.png 2x" data-file-width="900" data-file-height="1550" /></a></span></div></div></div><div class="trow" style="display:flex"><div class="thumbcaption">A positive 90° rotation around the <span class="texhtml mvar" style="font-style:italic;">y</span>-axis (left) <a href="/wiki/Function_composition" title="Function composition">after</a> one around the <span class="texhtml mvar" style="font-style:italic;">z</span>-axis (middle) gives a 120° rotation around the main diagonal (right).<br /> In the top left corner are the rotation matrices, in the bottom right corner are the corresponding permutations of the cube with the origin in its center.</div></div></div></div> <div class="mw-heading mw-heading3"><h3 id="Basic_3D_rotations">Basic 3D rotations</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Rotation_matrix&action=edit&section=8" title="Edit section: Basic 3D rotations"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>A basic 3D rotation (also called elemental rotation) is a rotation about one of the axes of a coordinate system. The following three basic rotation matrices rotate vectors by an angle <span class="texhtml mvar" style="font-style:italic;">θ</span> about the <span class="texhtml mvar" style="font-style:italic;">x</span>-, <span class="texhtml mvar" style="font-style:italic;">y</span>-, or <span class="texhtml mvar" style="font-style:italic;">z</span>-axis, in three dimensions, using the <a href="/wiki/Right-hand_rule" title="Right-hand rule">right-hand rule</a>—which codifies their alternating signs. Notice that the right-hand rule only works when multiplying <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle R\cdot {\vec {x}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>R</mi> <mo>⋅<!-- ⋅ --></mo> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mover> <mi>x</mi> <mo stretchy="false">→<!-- → --></mo> </mover> </mrow> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle R\cdot {\vec {x}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/8ddf95ffbabe0cff86146026c53a3914714c4e67" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:4.773ex; height:2.343ex;" alt="{\displaystyle R\cdot {\vec {x}}}"></span>. (The same matrices can also represent a clockwise rotation of the axes.<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>nb 1<span class="cite-bracket">]</span></a></sup>) </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{alignedat}{1}R_{x}(\theta )&={\begin{bmatrix}1&0&0\\0&\cos \theta &-\sin \theta \\[3pt]0&\sin \theta &\cos \theta \\[3pt]\end{bmatrix}}\\[6pt]R_{y}(\theta )&={\begin{bmatrix}\cos \theta &0&\sin \theta \\[3pt]0&1&0\\[3pt]-\sin \theta &0&\cos \theta \\\end{bmatrix}}\\[6pt]R_{z}(\theta )&={\begin{bmatrix}\cos \theta &-\sin \theta &0\\[3pt]\sin \theta &\cos \theta &0\\[3pt]0&0&1\\\end{bmatrix}}\end{alignedat}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mtable columnalign="right left" rowspacing="0.9em 0.9em 0.3em" columnspacing="0em 0em" displaystyle="true"> <mtr> <mtd> <msub> <mi>R</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> </mrow> </msub> <mo stretchy="false">(</mo> <mi>θ<!-- θ --></mi> <mo stretchy="false">)</mo> </mtd> <mtd> <mi></mi> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt 0.7em 0.7em" columnspacing="1em"> <mtr> <mtd> <mn>1</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> <mtd> <mo>−<!-- − --></mo> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <msub> <mi>R</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> </mrow> </msub> <mo stretchy="false">(</mo> <mi>θ<!-- θ --></mi> <mo stretchy="false">)</mo> </mtd> <mtd> <mi></mi> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="0.7em 0.7em 0.4em" columnspacing="1em"> <mtr> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mn>1</mn> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mo>−<!-- − --></mo> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <msub> <mi>R</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>z</mi> </mrow> </msub> <mo stretchy="false">(</mo> <mi>θ<!-- θ --></mi> <mo stretchy="false">)</mo> </mtd> <mtd> <mi></mi> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="0.7em 0.7em 0.4em" columnspacing="1em"> <mtr> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> <mtd> <mo>−<!-- − --></mo> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\begin{alignedat}{1}R_{x}(\theta )&={\begin{bmatrix}1&0&0\\0&\cos \theta &-\sin \theta \\[3pt]0&\sin \theta &\cos \theta \\[3pt]\end{bmatrix}}\\[6pt]R_{y}(\theta )&={\begin{bmatrix}\cos \theta &0&\sin \theta \\[3pt]0&1&0\\[3pt]-\sin \theta &0&\cos \theta \\\end{bmatrix}}\\[6pt]R_{z}(\theta )&={\begin{bmatrix}\cos \theta &-\sin \theta &0\\[3pt]\sin \theta &\cos \theta &0\\[3pt]0&0&1\\\end{bmatrix}}\end{alignedat}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/a6821937d5031de282a190f75312353c970aa2df" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -16.671ex; width:30.463ex; height:34.509ex;" alt="{\displaystyle {\begin{alignedat}{1}R_{x}(\theta )&={\begin{bmatrix}1&0&0\\0&\cos \theta &-\sin \theta \\[3pt]0&\sin \theta &\cos \theta \\[3pt]\end{bmatrix}}\\[6pt]R_{y}(\theta )&={\begin{bmatrix}\cos \theta &0&\sin \theta \\[3pt]0&1&0\\[3pt]-\sin \theta &0&\cos \theta \\\end{bmatrix}}\\[6pt]R_{z}(\theta )&={\begin{bmatrix}\cos \theta &-\sin \theta &0\\[3pt]\sin \theta &\cos \theta &0\\[3pt]0&0&1\\\end{bmatrix}}\end{alignedat}}}"></span></dd></dl> <p>For <a href="/wiki/Column_vector" class="mw-redirect" title="Column vector">column vectors</a>, each of these basic vector rotations appears counterclockwise when the axis about which they occur points toward the observer, the coordinate system is right-handed, and the angle <span class="texhtml mvar" style="font-style:italic;">θ</span> is positive. <span class="texhtml"><i>R</i><sub><i>z</i></sub></span>, for instance, would rotate toward the <span class="nowrap"><span class="texhtml"><i>y</i></span>-axis</span> a vector aligned with the <span class="nowrap"><span class="texhtml"><i>x</i></span>-axis</span>, as can easily be checked by operating with <span class="texhtml"><i>R</i><sub><i>z</i></sub></span> on the vector <span class="texhtml">(1,0,0)</span>: </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle R_{z}(90^{\circ }){\begin{bmatrix}1\\0\\0\\\end{bmatrix}}={\begin{bmatrix}\cos 90^{\circ }&-\sin 90^{\circ }&0\\\sin 90^{\circ }&\quad \cos 90^{\circ }&0\\0&0&1\\\end{bmatrix}}{\begin{bmatrix}1\\0\\0\\\end{bmatrix}}={\begin{bmatrix}0&-1&0\\1&0&0\\0&0&1\\\end{bmatrix}}{\begin{bmatrix}1\\0\\0\\\end{bmatrix}}={\begin{bmatrix}0\\1\\0\\\end{bmatrix}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msub> <mi>R</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>z</mi> </mrow> </msub> <mo stretchy="false">(</mo> <msup> <mn>90</mn> <mrow class="MJX-TeXAtom-ORD"> <mo>∘<!-- ∘ --></mo> </mrow> </msup> <mo stretchy="false">)</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mn>1</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <msup> <mn>90</mn> <mrow class="MJX-TeXAtom-ORD"> <mo>∘<!-- ∘ --></mo> </mrow> </msup> </mtd> <mtd> <mo>−<!-- − --></mo> <mi>sin</mi> <mo>⁡<!-- --></mo> <msup> <mn>90</mn> <mrow class="MJX-TeXAtom-ORD"> <mo>∘<!-- ∘ --></mo> </mrow> </msup> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mi>sin</mi> <mo>⁡<!-- --></mo> <msup> <mn>90</mn> <mrow class="MJX-TeXAtom-ORD"> <mo>∘<!-- ∘ --></mo> </mrow> </msup> </mtd> <mtd> <mspace width="1em" /> <mi>cos</mi> <mo>⁡<!-- --></mo> <msup> <mn>90</mn> <mrow class="MJX-TeXAtom-ORD"> <mo>∘<!-- ∘ --></mo> </mrow> </msup> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mn>1</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mo>−<!-- − --></mo> <mn>1</mn> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>1</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mn>1</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>1</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle R_{z}(90^{\circ }){\begin{bmatrix}1\\0\\0\\\end{bmatrix}}={\begin{bmatrix}\cos 90^{\circ }&-\sin 90^{\circ }&0\\\sin 90^{\circ }&\quad \cos 90^{\circ }&0\\0&0&1\\\end{bmatrix}}{\begin{bmatrix}1\\0\\0\\\end{bmatrix}}={\begin{bmatrix}0&-1&0\\1&0&0\\0&0&1\\\end{bmatrix}}{\begin{bmatrix}1\\0\\0\\\end{bmatrix}}={\begin{bmatrix}0\\1\\0\\\end{bmatrix}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/bdee2e5ffd67125e28048dca7be40dcc4544b9df" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -4.005ex; width:76.838ex; height:9.176ex;" alt="{\displaystyle R_{z}(90^{\circ }){\begin{bmatrix}1\\0\\0\\\end{bmatrix}}={\begin{bmatrix}\cos 90^{\circ }&-\sin 90^{\circ }&0\\\sin 90^{\circ }&\quad \cos 90^{\circ }&0\\0&0&1\\\end{bmatrix}}{\begin{bmatrix}1\\0\\0\\\end{bmatrix}}={\begin{bmatrix}0&-1&0\\1&0&0\\0&0&1\\\end{bmatrix}}{\begin{bmatrix}1\\0\\0\\\end{bmatrix}}={\begin{bmatrix}0\\1\\0\\\end{bmatrix}}}"></span></dd></dl> <p>This is similar to the rotation produced by the above-mentioned two-dimensional rotation matrix. See <a href="#Ambiguities">below</a> for alternative conventions which may apparently or actually invert the sense of the rotation produced by these matrices. </p> <div class="mw-heading mw-heading3"><h3 id="General_3D_rotations">General 3D rotations</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Rotation_matrix&action=edit&section=9" title="Edit section: General 3D rotations"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Other 3D rotation matrices can be obtained from these three using <a href="/wiki/Matrix_multiplication" title="Matrix multiplication">matrix multiplication</a>. For example, the product </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{aligned}R=R_{z}(\alpha )\,R_{y}(\beta )\,R_{x}(\gamma )&={\overset {\text{yaw}}{\begin{bmatrix}\cos \alpha &-\sin \alpha &0\\\sin \alpha &\cos \alpha &0\\0&0&1\\\end{bmatrix}}}{\overset {\text{pitch}}{\begin{bmatrix}\cos \beta &0&\sin \beta \\0&1&0\\-\sin \beta &0&\cos \beta \\\end{bmatrix}}}{\overset {\text{roll}}{\begin{bmatrix}1&0&0\\0&\cos \gamma &-\sin \gamma \\0&\sin \gamma &\cos \gamma \\\end{bmatrix}}}\\&={\begin{bmatrix}\cos \alpha \cos \beta &\cos \alpha \sin \beta \sin \gamma -\sin \alpha \cos \gamma &\cos \alpha \sin \beta \cos \gamma +\sin \alpha \sin \gamma \\\sin \alpha \cos \beta &\sin \alpha \sin \beta \sin \gamma +\cos \alpha \cos \gamma &\sin \alpha \sin \beta \cos \gamma -\cos \alpha \sin \gamma \\-\sin \beta &\cos \beta \sin \gamma &\cos \beta \cos \gamma \\\end{bmatrix}}\end{aligned}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"> <mtr> <mtd> <mi>R</mi> <mo>=</mo> <msub> <mi>R</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>z</mi> </mrow> </msub> <mo stretchy="false">(</mo> <mi>α<!-- α --></mi> <mo stretchy="false">)</mo> <mspace width="thinmathspace" /> <msub> <mi>R</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> </mrow> </msub> <mo stretchy="false">(</mo> <mi>β<!-- β --></mi> <mo stretchy="false">)</mo> <mspace width="thinmathspace" /> <msub> <mi>R</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> </mrow> </msub> <mo stretchy="false">(</mo> <mi>γ<!-- γ --></mi> <mo stretchy="false">)</mo> </mtd> <mtd> <mi></mi> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mover> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>α<!-- α --></mi> </mtd> <mtd> <mo>−<!-- − --></mo> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>α<!-- α --></mi> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>α<!-- α --></mi> </mtd> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>α<!-- α --></mi> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> <mtext>yaw</mtext> </mover> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mover> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>β<!-- β --></mi> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>β<!-- β --></mi> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mn>1</mn> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mo>−<!-- − --></mo> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>β<!-- β --></mi> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>β<!-- β --></mi> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> <mtext>pitch</mtext> </mover> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mover> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mn>1</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>γ<!-- γ --></mi> </mtd> <mtd> <mo>−<!-- − --></mo> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>γ<!-- γ --></mi> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>γ<!-- γ --></mi> </mtd> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>γ<!-- γ --></mi> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> <mtext>roll</mtext> </mover> </mrow> </mtd> </mtr> <mtr> <mtd /> <mtd> <mi></mi> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>α<!-- α --></mi> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>β<!-- β --></mi> </mtd> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>α<!-- α --></mi> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>β<!-- β --></mi> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>γ<!-- γ --></mi> <mo>−<!-- − --></mo> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>α<!-- α --></mi> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>γ<!-- γ --></mi> </mtd> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>α<!-- α --></mi> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>β<!-- β --></mi> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>γ<!-- γ --></mi> <mo>+</mo> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>α<!-- α --></mi> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>γ<!-- γ --></mi> </mtd> </mtr> <mtr> <mtd> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>α<!-- α --></mi> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>β<!-- β --></mi> </mtd> <mtd> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>α<!-- α --></mi> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>β<!-- β --></mi> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>γ<!-- γ --></mi> <mo>+</mo> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>α<!-- α --></mi> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>γ<!-- γ --></mi> </mtd> <mtd> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>α<!-- α --></mi> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>β<!-- β --></mi> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>γ<!-- γ --></mi> <mo>−<!-- − --></mo> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>α<!-- α --></mi> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>γ<!-- γ --></mi> </mtd> </mtr> <mtr> <mtd> <mo>−<!-- − --></mo> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>β<!-- β --></mi> </mtd> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>β<!-- β --></mi> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>γ<!-- γ --></mi> </mtd> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>β<!-- β --></mi> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>γ<!-- γ --></mi> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\begin{aligned}R=R_{z}(\alpha )\,R_{y}(\beta )\,R_{x}(\gamma )&={\overset {\text{yaw}}{\begin{bmatrix}\cos \alpha &-\sin \alpha &0\\\sin \alpha &\cos \alpha &0\\0&0&1\\\end{bmatrix}}}{\overset {\text{pitch}}{\begin{bmatrix}\cos \beta &0&\sin \beta \\0&1&0\\-\sin \beta &0&\cos \beta \\\end{bmatrix}}}{\overset {\text{roll}}{\begin{bmatrix}1&0&0\\0&\cos \gamma &-\sin \gamma \\0&\sin \gamma &\cos \gamma \\\end{bmatrix}}}\\&={\begin{bmatrix}\cos \alpha \cos \beta &\cos \alpha \sin \beta \sin \gamma -\sin \alpha \cos \gamma &\cos \alpha \sin \beta \cos \gamma +\sin \alpha \sin \gamma \\\sin \alpha \cos \beta &\sin \alpha \sin \beta \sin \gamma +\cos \alpha \cos \gamma &\sin \alpha \sin \beta \cos \gamma -\cos \alpha \sin \gamma \\-\sin \beta &\cos \beta \sin \gamma &\cos \beta \cos \gamma \\\end{bmatrix}}\end{aligned}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/a8e16f4967571b7a572d1a19f3f6468512f9843e" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -9.838ex; width:101.329ex; height:20.843ex;" alt="{\displaystyle {\begin{aligned}R=R_{z}(\alpha )\,R_{y}(\beta )\,R_{x}(\gamma )&={\overset {\text{yaw}}{\begin{bmatrix}\cos \alpha &-\sin \alpha &0\\\sin \alpha &\cos \alpha &0\\0&0&1\\\end{bmatrix}}}{\overset {\text{pitch}}{\begin{bmatrix}\cos \beta &0&\sin \beta \\0&1&0\\-\sin \beta &0&\cos \beta \\\end{bmatrix}}}{\overset {\text{roll}}{\begin{bmatrix}1&0&0\\0&\cos \gamma &-\sin \gamma \\0&\sin \gamma &\cos \gamma \\\end{bmatrix}}}\\&={\begin{bmatrix}\cos \alpha \cos \beta &\cos \alpha \sin \beta \sin \gamma -\sin \alpha \cos \gamma &\cos \alpha \sin \beta \cos \gamma +\sin \alpha \sin \gamma \\\sin \alpha \cos \beta &\sin \alpha \sin \beta \sin \gamma +\cos \alpha \cos \gamma &\sin \alpha \sin \beta \cos \gamma -\cos \alpha \sin \gamma \\-\sin \beta &\cos \beta \sin \gamma &\cos \beta \cos \gamma \\\end{bmatrix}}\end{aligned}}}"></span></dd></dl> <p>represents a rotation whose <a href="/wiki/Yaw,_pitch,_and_roll" class="mw-redirect" title="Yaw, pitch, and roll">yaw, pitch, and roll</a> angles are <span class="texhtml mvar" style="font-style:italic;">α</span>, <span class="texhtml mvar" style="font-style:italic;">β</span> and <span class="texhtml mvar" style="font-style:italic;">γ</span>, respectively. More formally, it is an <a href="/wiki/Euler_angles#Conventions_by_intrinsic_rotations" title="Euler angles">intrinsic rotation</a> whose <a href="/wiki/Tait%E2%80%93Bryan_angles" class="mw-redirect" title="Tait–Bryan angles">Tait–Bryan angles</a> are <span class="texhtml mvar" style="font-style:italic;">α</span>, <span class="texhtml mvar" style="font-style:italic;">β</span>, <span class="texhtml mvar" style="font-style:italic;">γ</span>, about axes <span class="texhtml mvar" style="font-style:italic;">z</span>, <span class="texhtml mvar" style="font-style:italic;">y</span>, <span class="texhtml mvar" style="font-style:italic;">x</span>, respectively. Similarly, the product </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{aligned}\\R=R_{z}(\gamma )\,R_{y}(\beta )\,R_{x}(\alpha )&={\overset {\text{roll}}{\begin{bmatrix}\cos \gamma &-\sin \gamma &0\\\sin \gamma &\cos \gamma &0\\0&0&1\\\end{bmatrix}}}{\overset {\text{pitch}}{\begin{bmatrix}\cos \beta &0&\sin \beta \\0&1&0\\-\sin \beta &0&\cos \beta \\\end{bmatrix}}}{\overset {\text{yaw}}{\begin{bmatrix}1&0&0\\0&\cos \alpha &-\sin \alpha \\0&\sin \alpha &\cos \alpha \\\end{bmatrix}}}\\&={\begin{bmatrix}\cos \beta \cos \gamma &\sin \alpha \sin \beta \cos \gamma -\cos \alpha \sin \gamma &\cos \alpha \sin \beta \cos \gamma +\sin \alpha \sin \gamma \\\cos \beta \sin \gamma &\sin \alpha \sin \beta \sin \gamma +\cos \alpha \cos \gamma &\cos \alpha \sin \beta \sin \gamma -\sin \alpha \cos \gamma \\-\sin \beta &\sin \alpha \cos \beta &\cos \alpha \cos \beta \\\end{bmatrix}}\end{aligned}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"> <mtr> <mtd /> </mtr> <mtr> <mtd> <mi>R</mi> <mo>=</mo> <msub> <mi>R</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>z</mi> </mrow> </msub> <mo stretchy="false">(</mo> <mi>γ<!-- γ --></mi> <mo stretchy="false">)</mo> <mspace width="thinmathspace" /> <msub> <mi>R</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> </mrow> </msub> <mo stretchy="false">(</mo> <mi>β<!-- β --></mi> <mo stretchy="false">)</mo> <mspace width="thinmathspace" /> <msub> <mi>R</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> </mrow> </msub> <mo stretchy="false">(</mo> <mi>α<!-- α --></mi> <mo stretchy="false">)</mo> </mtd> <mtd> <mi></mi> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mover> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>γ<!-- γ --></mi> </mtd> <mtd> <mo>−<!-- − --></mo> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>γ<!-- γ --></mi> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>γ<!-- γ --></mi> </mtd> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>γ<!-- γ --></mi> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> <mtext>roll</mtext> </mover> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mover> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>β<!-- β --></mi> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>β<!-- β --></mi> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mn>1</mn> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mo>−<!-- − --></mo> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>β<!-- β --></mi> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>β<!-- β --></mi> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> <mtext>pitch</mtext> </mover> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mover> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mn>1</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>α<!-- α --></mi> </mtd> <mtd> <mo>−<!-- − --></mo> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>α<!-- α --></mi> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>α<!-- α --></mi> </mtd> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>α<!-- α --></mi> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> <mtext>yaw</mtext> </mover> </mrow> </mtd> </mtr> <mtr> <mtd /> <mtd> <mi></mi> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>β<!-- β --></mi> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>γ<!-- γ --></mi> </mtd> <mtd> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>α<!-- α --></mi> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>β<!-- β --></mi> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>γ<!-- γ --></mi> <mo>−<!-- − --></mo> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>α<!-- α --></mi> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>γ<!-- γ --></mi> </mtd> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>α<!-- α --></mi> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>β<!-- β --></mi> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>γ<!-- γ --></mi> <mo>+</mo> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>α<!-- α --></mi> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>γ<!-- γ --></mi> </mtd> </mtr> <mtr> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>β<!-- β --></mi> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>γ<!-- γ --></mi> </mtd> <mtd> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>α<!-- α --></mi> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>β<!-- β --></mi> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>γ<!-- γ --></mi> <mo>+</mo> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>α<!-- α --></mi> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>γ<!-- γ --></mi> </mtd> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>α<!-- α --></mi> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>β<!-- β --></mi> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>γ<!-- γ --></mi> <mo>−<!-- − --></mo> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>α<!-- α --></mi> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>γ<!-- γ --></mi> </mtd> </mtr> <mtr> <mtd> <mo>−<!-- − --></mo> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>β<!-- β --></mi> </mtd> <mtd> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>α<!-- α --></mi> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>β<!-- β --></mi> </mtd> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>α<!-- α --></mi> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>β<!-- β --></mi> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\begin{aligned}\\R=R_{z}(\gamma )\,R_{y}(\beta )\,R_{x}(\alpha )&={\overset {\text{roll}}{\begin{bmatrix}\cos \gamma &-\sin \gamma &0\\\sin \gamma &\cos \gamma &0\\0&0&1\\\end{bmatrix}}}{\overset {\text{pitch}}{\begin{bmatrix}\cos \beta &0&\sin \beta \\0&1&0\\-\sin \beta &0&\cos \beta \\\end{bmatrix}}}{\overset {\text{yaw}}{\begin{bmatrix}1&0&0\\0&\cos \alpha &-\sin \alpha \\0&\sin \alpha &\cos \alpha \\\end{bmatrix}}}\\&={\begin{bmatrix}\cos \beta \cos \gamma &\sin \alpha \sin \beta \cos \gamma -\cos \alpha \sin \gamma &\cos \alpha \sin \beta \cos \gamma +\sin \alpha \sin \gamma \\\cos \beta \sin \gamma &\sin \alpha \sin \beta \sin \gamma +\cos \alpha \cos \gamma &\cos \alpha \sin \beta \sin \gamma -\sin \alpha \cos \gamma \\-\sin \beta &\sin \alpha \cos \beta &\cos \alpha \cos \beta \\\end{bmatrix}}\end{aligned}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/09c52ec4068ecf9c1d05c60b6d51bb33ae9ad7ca" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -11.338ex; width:101.103ex; height:23.843ex;" alt="{\displaystyle {\begin{aligned}\\R=R_{z}(\gamma )\,R_{y}(\beta )\,R_{x}(\alpha )&={\overset {\text{roll}}{\begin{bmatrix}\cos \gamma &-\sin \gamma &0\\\sin \gamma &\cos \gamma &0\\0&0&1\\\end{bmatrix}}}{\overset {\text{pitch}}{\begin{bmatrix}\cos \beta &0&\sin \beta \\0&1&0\\-\sin \beta &0&\cos \beta \\\end{bmatrix}}}{\overset {\text{yaw}}{\begin{bmatrix}1&0&0\\0&\cos \alpha &-\sin \alpha \\0&\sin \alpha &\cos \alpha \\\end{bmatrix}}}\\&={\begin{bmatrix}\cos \beta \cos \gamma &\sin \alpha \sin \beta \cos \gamma -\cos \alpha \sin \gamma &\cos \alpha \sin \beta \cos \gamma +\sin \alpha \sin \gamma \\\cos \beta \sin \gamma &\sin \alpha \sin \beta \sin \gamma +\cos \alpha \cos \gamma &\cos \alpha \sin \beta \sin \gamma -\sin \alpha \cos \gamma \\-\sin \beta &\sin \alpha \cos \beta &\cos \alpha \cos \beta \\\end{bmatrix}}\end{aligned}}}"></span></dd></dl> <p>represents an extrinsic rotation whose (improper) <a href="/wiki/Euler_angles" title="Euler angles">Euler angles</a> are <span class="texhtml mvar" style="font-style:italic;">α</span>, <span class="texhtml mvar" style="font-style:italic;">β</span>, <span class="texhtml mvar" style="font-style:italic;">γ</span>, about axes <span class="texhtml mvar" style="font-style:italic;">x</span>, <span class="texhtml mvar" style="font-style:italic;">y</span>, <span class="texhtml mvar" style="font-style:italic;">z</span>. </p><p>These matrices produce the desired effect only if they are used to premultiply <a href="/wiki/Column_vector" class="mw-redirect" title="Column vector">column vectors</a>, and (since in general matrix multiplication is not <a href="/wiki/Commutative" class="mw-redirect" title="Commutative">commutative</a>) only if they are applied in the specified order (see <a href="#Ambiguities">Ambiguities</a> for more details). The order of rotation operations is from right to left; the matrix adjacent to the column vector is the first to be applied, and then the one to the left.<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> </p> <div class="mw-heading mw-heading3"><h3 id="Conversion_from_rotation_matrix_to_axis–angle"><span id="Conversion_from_rotation_matrix_to_axis.E2.80.93angle"></span>Conversion from rotation matrix to axis–angle</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Rotation_matrix&action=edit&section=10" title="Edit section: Conversion from rotation matrix to axis–angle"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Every rotation in three dimensions is defined by its <b>axis</b> (a vector along this axis is unchanged by the rotation), and its <b>angle</b> — the amount of rotation about that axis (<a href="/wiki/Euler_rotation_theorem" class="mw-redirect" title="Euler rotation theorem">Euler rotation theorem</a>). </p><p>There are several methods to compute the axis and angle from a rotation matrix (see also <a href="/wiki/Axis%E2%80%93angle_representation" title="Axis–angle representation">axis–angle representation</a>). Here, we only describe the method based on the computation of the <a href="/wiki/Eigenvector" class="mw-redirect" title="Eigenvector">eigenvectors</a> and <a href="/wiki/Eigenvalue" class="mw-redirect" title="Eigenvalue">eigenvalues</a> of the rotation matrix. It is also possible to use the <a href="/wiki/Trace_(linear_algebra)" title="Trace (linear algebra)">trace</a> of the rotation matrix. </p> <div class="mw-heading mw-heading4"><h4 id="Determining_the_axis">Determining the axis</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Rotation_matrix&action=edit&section=11" title="Edit section: Determining the axis"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <figure class="mw-default-size" typeof="mw:File/Thumb"><a href="/wiki/File:Rotation_decomposition.png" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/0/0a/Rotation_decomposition.png/220px-Rotation_decomposition.png" decoding="async" width="220" height="278" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/0/0a/Rotation_decomposition.png/330px-Rotation_decomposition.png 1.5x, //upload.wikimedia.org/wikipedia/commons/0/0a/Rotation_decomposition.png 2x" data-file-width="424" data-file-height="535" /></a><figcaption>A rotation <span class="texhtml mvar" style="font-style:italic;">R</span> around axis <span class="texhtml"><b>u</b></span> can be decomposed using 3 endomorphisms <span class="texhtml"><b>P</b></span>, <span class="texhtml">(<b>I</b> − <b>P</b>)</span>, and <span class="texhtml"><b>Q</b></span> (click to enlarge).</figcaption></figure> <p>Given a <span class="nowrap">3 × 3</span> rotation matrix <span class="texhtml mvar" style="font-style:italic;">R</span>, a vector <span class="texhtml"><b>u</b></span> parallel to the rotation axis must satisfy </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle R\mathbf {u} =\mathbf {u} ,}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>R</mi> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> <mo>,</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle R\mathbf {u} =\mathbf {u} ,}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/78c135014a62efcf6f0a7b0fbe4e3b99e12283ab" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:8.48ex; height:2.509ex;" alt="{\displaystyle R\mathbf {u} =\mathbf {u} ,}"></span></dd></dl> <p>since the rotation of <span class="texhtml"><b>u</b></span> around the rotation axis must result in <span class="texhtml"><b>u</b></span>. The equation above may be solved for <span class="texhtml"><b>u</b></span> which is unique up to a scalar factor unless <span class="texhtml"><i>R</i> = <i>I</i></span>. </p><p>Further, the equation may be rewritten </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle R\mathbf {u} =I\mathbf {u} \implies \left(R-I\right)\mathbf {u} =0,}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>R</mi> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> <mo>=</mo> <mi>I</mi> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> <mspace width="thickmathspace" /> <mo stretchy="false">⟹<!-- ⟹ --></mo> <mspace width="thickmathspace" /> <mrow> <mo>(</mo> <mrow> <mi>R</mi> <mo>−<!-- − --></mo> <mi>I</mi> </mrow> <mo>)</mo> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> <mo>=</mo> <mn>0</mn> <mo>,</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle R\mathbf {u} =I\mathbf {u} \implies \left(R-I\right)\mathbf {u} =0,}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/81819c2fe75c5d1a2d9a3105896dd82693b8b0a6" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:29.757ex; height:2.843ex;" alt="{\displaystyle R\mathbf {u} =I\mathbf {u} \implies \left(R-I\right)\mathbf {u} =0,}"></span></dd></dl> <p>which shows that <span class="texhtml"><b>u</b></span> lies in the <a href="/wiki/Null_space" class="mw-redirect" title="Null space">null space</a> of <span class="texhtml"><i>R</i> − <i>I</i></span>. </p><p>Viewed in another way, <span class="texhtml"><b>u</b></span> is an <a href="/wiki/Eigenvector" class="mw-redirect" title="Eigenvector">eigenvector</a> of <span class="texhtml mvar" style="font-style:italic;">R</span> corresponding to the <a href="/wiki/Eigenvalue" class="mw-redirect" title="Eigenvalue">eigenvalue</a> <span class="texhtml"><i>λ</i> = 1</span>. Every rotation matrix must have this eigenvalue, the other two eigenvalues being <a href="/wiki/Complex_conjugate" title="Complex conjugate">complex conjugates</a> of each other. It follows that a general rotation matrix in three dimensions has, up to a multiplicative constant, only one real eigenvector. </p><p>One way to determine the rotation axis is by showing that: </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{aligned}0&=R^{\mathsf {T}}0+0\\&=R^{\mathsf {T}}\left(R-I\right)\mathbf {u} +\left(R-I\right)\mathbf {u} \\&=\left(R^{\mathsf {T}}R-R^{\mathsf {T}}+R-I\right)\mathbf {u} \\&=\left(I-R^{\mathsf {T}}+R-I\right)\mathbf {u} \\&=\left(R-R^{\mathsf {T}}\right)\mathbf {u} \end{aligned}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mi></mi> <mo>=</mo> <msup> <mi>R</mi> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="sans-serif">T</mi> </mrow> </mrow> </msup> <mn>0</mn> <mo>+</mo> <mn>0</mn> </mtd> </mtr> <mtr> <mtd /> <mtd> <mi></mi> <mo>=</mo> <msup> <mi>R</mi> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="sans-serif">T</mi> </mrow> </mrow> </msup> <mrow> <mo>(</mo> <mrow> <mi>R</mi> <mo>−<!-- − --></mo> <mi>I</mi> </mrow> <mo>)</mo> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> <mo>+</mo> <mrow> <mo>(</mo> <mrow> <mi>R</mi> <mo>−<!-- − --></mo> <mi>I</mi> </mrow> <mo>)</mo> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> </mtd> </mtr> <mtr> <mtd /> <mtd> <mi></mi> <mo>=</mo> <mrow> <mo>(</mo> <mrow> <msup> <mi>R</mi> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="sans-serif">T</mi> </mrow> </mrow> </msup> <mi>R</mi> <mo>−<!-- − --></mo> <msup> <mi>R</mi> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="sans-serif">T</mi> </mrow> </mrow> </msup> <mo>+</mo> <mi>R</mi> <mo>−<!-- − --></mo> <mi>I</mi> </mrow> <mo>)</mo> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> </mtd> </mtr> <mtr> <mtd /> <mtd> <mi></mi> <mo>=</mo> <mrow> <mo>(</mo> <mrow> <mi>I</mi> <mo>−<!-- − --></mo> <msup> <mi>R</mi> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="sans-serif">T</mi> </mrow> </mrow> </msup> <mo>+</mo> <mi>R</mi> <mo>−<!-- − --></mo> <mi>I</mi> </mrow> <mo>)</mo> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> </mtd> </mtr> <mtr> <mtd /> <mtd> <mi></mi> <mo>=</mo> <mrow> <mo>(</mo> <mrow> <mi>R</mi> <mo>−<!-- − --></mo> <msup> <mi>R</mi> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="sans-serif">T</mi> </mrow> </mrow> </msup> </mrow> <mo>)</mo> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> </mtd> </mtr> </mtable> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\begin{aligned}0&=R^{\mathsf {T}}0+0\\&=R^{\mathsf {T}}\left(R-I\right)\mathbf {u} +\left(R-I\right)\mathbf {u} \\&=\left(R^{\mathsf {T}}R-R^{\mathsf {T}}+R-I\right)\mathbf {u} \\&=\left(I-R^{\mathsf {T}}+R-I\right)\mathbf {u} \\&=\left(R-R^{\mathsf {T}}\right)\mathbf {u} \end{aligned}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/a3d7a15d72a9eb35afc21ccf6979869592d77370" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -8.005ex; margin-top: -0.226ex; width:30.271ex; height:17.176ex;" alt="{\displaystyle {\begin{aligned}0&=R^{\mathsf {T}}0+0\\&=R^{\mathsf {T}}\left(R-I\right)\mathbf {u} +\left(R-I\right)\mathbf {u} \\&=\left(R^{\mathsf {T}}R-R^{\mathsf {T}}+R-I\right)\mathbf {u} \\&=\left(I-R^{\mathsf {T}}+R-I\right)\mathbf {u} \\&=\left(R-R^{\mathsf {T}}\right)\mathbf {u} \end{aligned}}}"></span></dd></dl> <p>Since <span class="texhtml">(<i>R</i> − <i>R</i><sup>T</sup>)</span> is a <a href="/wiki/Skew-symmetric_matrix" title="Skew-symmetric matrix">skew-symmetric matrix</a>, we can choose <span class="texhtml"><b>u</b></span> such that </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle [\mathbf {u} ]_{\times }=\left(R-R^{\mathsf {T}}\right).}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mo stretchy="false">[</mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> <msub> <mo stretchy="false">]</mo> <mrow class="MJX-TeXAtom-ORD"> <mo>×<!-- × --></mo> </mrow> </msub> <mo>=</mo> <mrow> <mo>(</mo> <mrow> <mi>R</mi> <mo>−<!-- − --></mo> <msup> <mi>R</mi> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="sans-serif">T</mi> </mrow> </mrow> </msup> </mrow> <mo>)</mo> </mrow> <mo>.</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle [\mathbf {u} ]_{\times }=\left(R-R^{\mathsf {T}}\right).}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/4f918d62cae11c81d33160177d9583d6e7efbe2d" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:18.272ex; height:3.343ex;" alt="{\displaystyle [\mathbf {u} ]_{\times }=\left(R-R^{\mathsf {T}}\right).}"></span></dd></dl> <p>The matrix–vector product becomes a <a href="/wiki/Cross_product" title="Cross product">cross product</a> of a vector with itself, ensuring that the result is zero: </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \left(R-R^{\mathsf {T}}\right)\mathbf {u} =[\mathbf {u} ]_{\times }\mathbf {u} =\mathbf {u} \times \mathbf {u} =0\,}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow> <mo>(</mo> <mrow> <mi>R</mi> <mo>−<!-- − --></mo> <msup> <mi>R</mi> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="sans-serif">T</mi> </mrow> </mrow> </msup> </mrow> <mo>)</mo> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> <mo>=</mo> <mo stretchy="false">[</mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> <msub> <mo stretchy="false">]</mo> <mrow class="MJX-TeXAtom-ORD"> <mo>×<!-- × --></mo> </mrow> </msub> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> <mo>×<!-- × --></mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> <mo>=</mo> <mn>0</mn> <mspace width="thinmathspace" /> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \left(R-R^{\mathsf {T}}\right)\mathbf {u} =[\mathbf {u} ]_{\times }\mathbf {u} =\mathbf {u} \times \mathbf {u} =0\,}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/11848fee25bc229562a029195d181540a87e8597" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:34.153ex; height:3.343ex;" alt="{\displaystyle \left(R-R^{\mathsf {T}}\right)\mathbf {u} =[\mathbf {u} ]_{\times }\mathbf {u} =\mathbf {u} \times \mathbf {u} =0\,}"></span></dd></dl> <p>Therefore, if </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle R={\begin{bmatrix}a&b&c\\d&e&f\\g&h&i\\\end{bmatrix}},}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>R</mi> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mi>a</mi> </mtd> <mtd> <mi>b</mi> </mtd> <mtd> <mi>c</mi> </mtd> </mtr> <mtr> <mtd> <mi>d</mi> </mtd> <mtd> <mi>e</mi> </mtd> <mtd> <mi>f</mi> </mtd> </mtr> <mtr> <mtd> <mi>g</mi> </mtd> <mtd> <mi>h</mi> </mtd> <mtd> <mi>i</mi> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> <mo>,</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle R={\begin{bmatrix}a&b&c\\d&e&f\\g&h&i\\\end{bmatrix}},}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/2036e2c76a8e1c3638fbec4e148d0a9034d1a453" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -4.171ex; width:17.854ex; height:9.509ex;" alt="{\displaystyle R={\begin{bmatrix}a&b&c\\d&e&f\\g&h&i\\\end{bmatrix}},}"></span></dd></dl> <p>then </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {u} ={\begin{bmatrix}h-f\\c-g\\d-b\\\end{bmatrix}}.}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mi>h</mi> <mo>−<!-- − --></mo> <mi>f</mi> </mtd> </mtr> <mtr> <mtd> <mi>c</mi> <mo>−<!-- − --></mo> <mi>g</mi> </mtd> </mtr> <mtr> <mtd> <mi>d</mi> <mo>−<!-- − --></mo> <mi>b</mi> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> <mo>.</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \mathbf {u} ={\begin{bmatrix}h-f\\c-g\\d-b\\\end{bmatrix}}.}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/899a5a0e6cb73e964a2596eab12dfd4c49cb8713" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -4.171ex; width:14.541ex; height:9.509ex;" alt="{\displaystyle \mathbf {u} ={\begin{bmatrix}h-f\\c-g\\d-b\\\end{bmatrix}}.}"></span></dd></dl> <p>The magnitude of <span class="texhtml"><b>u</b></span> computed this way is <span class="texhtml">‖<span class="nowrap" style="padding-left:0.1em; padding-right:0.1em;"><b>u</b></span>‖ = 2 sin <i>θ</i></span>, where <span class="texhtml mvar" style="font-style:italic;">θ</span> is the angle of rotation. </p><p>This <b>does not work</b> if <span class="texhtml mvar" style="font-style:italic;">R</span> is symmetric. Above, if <span class="texhtml"><i>R</i> − <i>R</i><sup>T</sup></span> is zero, then all subsequent steps are invalid. In this case, it is necessary to diagonalize <span class="texhtml mvar" style="font-style:italic;">R</span> and find the eigenvector corresponding to an eigenvalue of 1. </p> <div class="mw-heading mw-heading4"><h4 id="Determining_the_angle">Determining the angle</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Rotation_matrix&action=edit&section=12" title="Edit section: Determining the angle"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>To find the angle of a rotation, once the axis of the rotation is known, select a vector <span class="texhtml"><b>v</b></span> perpendicular to the axis. Then the angle of the rotation is the angle between <span class="texhtml"><b>v</b></span> and <span class="texhtml"><i>R</i><b>v</b></span>. </p><p>A more direct method, however, is to simply calculate the <a href="/wiki/Trace_(linear_algebra)" title="Trace (linear algebra)"><b>trace</b></a>: the sum of the diagonal elements of the rotation matrix. Care should be taken to select the right sign for the angle <span class="texhtml mvar" style="font-style:italic;">θ</span> to match the chosen axis: </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \operatorname {tr} (R)=1+2\cos \theta ,}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>tr</mi> <mo>⁡<!-- --></mo> <mo stretchy="false">(</mo> <mi>R</mi> <mo stretchy="false">)</mo> <mo>=</mo> <mn>1</mn> <mo>+</mo> <mn>2</mn> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> <mo>,</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \operatorname {tr} (R)=1+2\cos \theta ,}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/fab5dafd8a87ae50bef4343dad523ebfff3bfd78" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:19.276ex; height:2.843ex;" alt="{\displaystyle \operatorname {tr} (R)=1+2\cos \theta ,}"></span></dd></dl> <p>from which follows that the angle's absolute value is </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle |\theta |=\arccos \left({\frac {\operatorname {tr} (R)-1}{2}}\right).}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mo stretchy="false">|</mo> </mrow> <mi>θ<!-- θ --></mi> <mrow class="MJX-TeXAtom-ORD"> <mo stretchy="false">|</mo> </mrow> <mo>=</mo> <mi>arccos</mi> <mo>⁡<!-- --></mo> <mrow> <mo>(</mo> <mrow class="MJX-TeXAtom-ORD"> <mfrac> <mrow> <mi>tr</mi> <mo>⁡<!-- --></mo> <mo stretchy="false">(</mo> <mi>R</mi> <mo stretchy="false">)</mo> <mo>−<!-- − --></mo> <mn>1</mn> </mrow> <mn>2</mn> </mfrac> </mrow> <mo>)</mo> </mrow> <mo>.</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle |\theta |=\arccos \left({\frac {\operatorname {tr} (R)-1}{2}}\right).}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/ddcbe9f980e8ca822c7e6975221521601278b218" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -2.505ex; width:25.997ex; height:6.343ex;" alt="{\displaystyle |\theta |=\arccos \left({\frac {\operatorname {tr} (R)-1}{2}}\right).}"></span></dd></dl> <p>For the rotation axis <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {n} =(n_{1},n_{2},n_{3})}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">n</mi> </mrow> <mo>=</mo> <mo stretchy="false">(</mo> <msub> <mi>n</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>1</mn> </mrow> </msub> <mo>,</mo> <msub> <mi>n</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msub> <mo>,</mo> <msub> <mi>n</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>3</mn> </mrow> </msub> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \mathbf {n} =(n_{1},n_{2},n_{3})}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/81eb84c2fbe046a5af29d6f80e875582efc0aec3" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:15.808ex; height:2.843ex;" alt="{\displaystyle \mathbf {n} =(n_{1},n_{2},n_{3})}"></span>, you can get the correct angle<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> from </p><p><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \left\{{\begin{matrix}\cos \theta &=&{\dfrac {\operatorname {tr} (R)-1}{2}}\\\sin \theta &=&-{\dfrac {\operatorname {tr} (K_{n}R)}{2}}\end{matrix}}\right.}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow> <mo>{</mo> <mrow class="MJX-TeXAtom-ORD"> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> <mtd> <mo>=</mo> </mtd> <mtd> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mfrac> <mrow> <mi>tr</mi> <mo>⁡<!-- --></mo> <mo stretchy="false">(</mo> <mi>R</mi> <mo stretchy="false">)</mo> <mo>−<!-- − --></mo> <mn>1</mn> </mrow> <mn>2</mn> </mfrac> </mstyle> </mrow> </mtd> </mtr> <mtr> <mtd> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> <mtd> <mo>=</mo> </mtd> <mtd> <mo>−<!-- − --></mo> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mfrac> <mrow> <mi>tr</mi> <mo>⁡<!-- --></mo> <mo stretchy="false">(</mo> <msub> <mi>K</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>n</mi> </mrow> </msub> <mi>R</mi> <mo stretchy="false">)</mo> </mrow> <mn>2</mn> </mfrac> </mstyle> </mrow> </mtd> </mtr> </mtable> </mrow> <mo fence="true" stretchy="true" symmetric="true"></mo> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \left\{{\begin{matrix}\cos \theta &=&{\dfrac {\operatorname {tr} (R)-1}{2}}\\\sin \theta &=&-{\dfrac {\operatorname {tr} (K_{n}R)}{2}}\end{matrix}}\right.}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/8563f82890b30c4dc09f4713297d253cbd89fc91" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -5.338ex; width:25.085ex; height:11.843ex;" alt="{\displaystyle \left\{{\begin{matrix}\cos \theta &=&{\dfrac {\operatorname {tr} (R)-1}{2}}\\\sin \theta &=&-{\dfrac {\operatorname {tr} (K_{n}R)}{2}}\end{matrix}}\right.}"></span> </p><p>where </p><p><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle K_{n}={\begin{bmatrix}0&-n_{3}&n_{2}\\n_{3}&0&-n_{1}\\-n_{2}&n_{1}&0\\\end{bmatrix}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msub> <mi>K</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>n</mi> </mrow> </msub> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mo>−<!-- − --></mo> <msub> <mi>n</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>3</mn> </mrow> </msub> </mtd> <mtd> <msub> <mi>n</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>n</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>3</mn> </mrow> </msub> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mo>−<!-- − --></mo> <msub> <mi>n</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>1</mn> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <mo>−<!-- − --></mo> <msub> <mi>n</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msub> </mtd> <mtd> <msub> <mi>n</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>1</mn> </mrow> </msub> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle K_{n}={\begin{bmatrix}0&-n_{3}&n_{2}\\n_{3}&0&-n_{1}\\-n_{2}&n_{1}&0\\\end{bmatrix}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/e862d8e5db9851fb0687f0bb67f717a0949b3d59" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -4.005ex; width:27.559ex; height:9.176ex;" alt="{\displaystyle K_{n}={\begin{bmatrix}0&-n_{3}&n_{2}\\n_{3}&0&-n_{1}\\-n_{2}&n_{1}&0\\\end{bmatrix}}}"></span> </p> <div class="mw-heading mw-heading4"><h4 id="Rotation_matrix_from_axis_and_angle">Rotation matrix from axis and angle</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Rotation_matrix&action=edit&section=13" title="Edit section: Rotation matrix from axis and angle"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The matrix of a proper rotation <span class="texhtml mvar" style="font-style:italic;">R</span> by angle <span class="texhtml mvar" style="font-style:italic;">θ</span> around the axis <span class="texhtml"><b>u</b> = (<i>u<sub>x</sub></i>, <i>u<sub>y</sub></i>, <i>u<sub>z</sub></i>)</span>, a unit vector with <span class="texhtml"><i>u</i><span class="nowrap"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:80%;text-align:left"><sup style="font-size:inherit;line-height:inherit;vertical-align:baseline">2</sup><br /><sub style="font-size:inherit;line-height:inherit;vertical-align:baseline"><i>x</i></sub></span></span> + <i>u</i><span class="nowrap"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:80%;text-align:left"><sup style="font-size:inherit;line-height:inherit;vertical-align:baseline">2</sup><br /><sub style="font-size:inherit;line-height:inherit;vertical-align:baseline"><i>y</i></sub></span></span> + <i>u</i><span class="nowrap"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:80%;text-align:left"><sup style="font-size:inherit;line-height:inherit;vertical-align:baseline">2</sup><br /><sub style="font-size:inherit;line-height:inherit;vertical-align:baseline"><i>z</i></sub></span></span> = 1</span>, is given by:<sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> <sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup> <sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup> <sup id="cite_ref-9" class="reference"><a href="#cite_note-9"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup> </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle R={\begin{bmatrix}u_{x}^{2}\left(1-\cos \theta \right)+\cos \theta &u_{x}u_{y}\left(1-\cos \theta \right)-u_{z}\sin \theta &u_{x}u_{z}\left(1-\cos \theta \right)+u_{y}\sin \theta \\u_{x}u_{y}\left(1-\cos \theta \right)+u_{z}\sin \theta &u_{y}^{2}\left(1-\cos \theta \right)+\cos \theta &u_{y}u_{z}\left(1-\cos \theta \right)-u_{x}\sin \theta \\u_{x}u_{z}\left(1-\cos \theta \right)-u_{y}\sin \theta &u_{y}u_{z}\left(1-\cos \theta \right)+u_{x}\sin \theta &u_{z}^{2}\left(1-\cos \theta \right)+\cos \theta \end{bmatrix}}.}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>R</mi> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <msubsup> <mi>u</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msubsup> <mrow> <mo>(</mo> <mrow> <mn>1</mn> <mo>−<!-- − --></mo> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mrow> <mo>)</mo> </mrow> <mo>+</mo> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> <mtd> <msub> <mi>u</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> </mrow> </msub> <msub> <mi>u</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> </mrow> </msub> <mrow> <mo>(</mo> <mrow> <mn>1</mn> <mo>−<!-- − --></mo> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mrow> <mo>)</mo> </mrow> <mo>−<!-- − --></mo> <msub> <mi>u</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>z</mi> </mrow> </msub> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> <mtd> <msub> <mi>u</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> </mrow> </msub> <msub> <mi>u</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>z</mi> </mrow> </msub> <mrow> <mo>(</mo> <mrow> <mn>1</mn> <mo>−<!-- − --></mo> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mrow> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>u</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> </mrow> </msub> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> </mtr> <mtr> <mtd> <msub> <mi>u</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> </mrow> </msub> <msub> <mi>u</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> </mrow> </msub> <mrow> <mo>(</mo> <mrow> <mn>1</mn> <mo>−<!-- − --></mo> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mrow> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>u</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>z</mi> </mrow> </msub> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> <mtd> <msubsup> <mi>u</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msubsup> <mrow> <mo>(</mo> <mrow> <mn>1</mn> <mo>−<!-- − --></mo> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mrow> <mo>)</mo> </mrow> <mo>+</mo> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> <mtd> <msub> <mi>u</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> </mrow> </msub> <msub> <mi>u</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>z</mi> </mrow> </msub> <mrow> <mo>(</mo> <mrow> <mn>1</mn> <mo>−<!-- − --></mo> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mrow> <mo>)</mo> </mrow> <mo>−<!-- − --></mo> <msub> <mi>u</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> </mrow> </msub> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> </mtr> <mtr> <mtd> <msub> <mi>u</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> </mrow> </msub> <msub> <mi>u</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>z</mi> </mrow> </msub> <mrow> <mo>(</mo> <mrow> <mn>1</mn> <mo>−<!-- − --></mo> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mrow> <mo>)</mo> </mrow> <mo>−<!-- − --></mo> <msub> <mi>u</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> </mrow> </msub> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> <mtd> <msub> <mi>u</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> </mrow> </msub> <msub> <mi>u</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>z</mi> </mrow> </msub> <mrow> <mo>(</mo> <mrow> <mn>1</mn> <mo>−<!-- − --></mo> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mrow> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>u</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> </mrow> </msub> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> <mtd> <msubsup> <mi>u</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>z</mi> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msubsup> <mrow> <mo>(</mo> <mrow> <mn>1</mn> <mo>−<!-- − --></mo> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mrow> <mo>)</mo> </mrow> <mo>+</mo> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> <mo>.</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle R={\begin{bmatrix}u_{x}^{2}\left(1-\cos \theta \right)+\cos \theta &u_{x}u_{y}\left(1-\cos \theta \right)-u_{z}\sin \theta &u_{x}u_{z}\left(1-\cos \theta \right)+u_{y}\sin \theta \\u_{x}u_{y}\left(1-\cos \theta \right)+u_{z}\sin \theta &u_{y}^{2}\left(1-\cos \theta \right)+\cos \theta &u_{y}u_{z}\left(1-\cos \theta \right)-u_{x}\sin \theta \\u_{x}u_{z}\left(1-\cos \theta \right)-u_{y}\sin \theta &u_{y}u_{z}\left(1-\cos \theta \right)+u_{x}\sin \theta &u_{z}^{2}\left(1-\cos \theta \right)+\cos \theta \end{bmatrix}}.}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/80ff6ba71d60b7128098e1cbaf70c0e268421656" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -4.224ex; margin-bottom: -0.281ex; width:90.69ex; height:10.176ex;" alt="{\displaystyle R={\begin{bmatrix}u_{x}^{2}\left(1-\cos \theta \right)+\cos \theta &u_{x}u_{y}\left(1-\cos \theta \right)-u_{z}\sin \theta &u_{x}u_{z}\left(1-\cos \theta \right)+u_{y}\sin \theta \\u_{x}u_{y}\left(1-\cos \theta \right)+u_{z}\sin \theta &u_{y}^{2}\left(1-\cos \theta \right)+\cos \theta &u_{y}u_{z}\left(1-\cos \theta \right)-u_{x}\sin \theta \\u_{x}u_{z}\left(1-\cos \theta \right)-u_{y}\sin \theta &u_{y}u_{z}\left(1-\cos \theta \right)+u_{x}\sin \theta &u_{z}^{2}\left(1-\cos \theta \right)+\cos \theta \end{bmatrix}}.}"></span></dd></dl> <p>A derivation of this matrix from first principles can be found in section 9.2 here.<sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup> The basic idea to derive this matrix is dividing the problem into few known simple steps. </p> <ol><li>First rotate the given axis and the point such that the axis lies in one of the coordinate planes (<span class="texhtml mvar" style="font-style:italic;">xy</span>, <span class="texhtml mvar" style="font-style:italic;">yz</span> or <span class="texhtml mvar" style="font-style:italic;">zx</span>)</li> <li>Then rotate the given axis and the point such that the axis is aligned with one of the two coordinate axes for that particular coordinate plane (<span class="texhtml mvar" style="font-style:italic;">x</span>, <span class="texhtml mvar" style="font-style:italic;">y</span> or <span class="texhtml mvar" style="font-style:italic;">z</span>)</li> <li>Use one of the fundamental rotation matrices to rotate the point depending on the coordinate axis with which the rotation axis is aligned.</li> <li>Reverse rotate the axis-point pair such that it attains the final configuration as that was in step 2 (Undoing step 2)</li> <li>Reverse rotate the axis-point pair which was done in step 1 (undoing step 1)</li></ol> <p>This can be written more concisely as <sup id="cite_ref-11" class="reference"><a href="#cite_note-11"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup> </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle R=(\cos \theta )\,I+(\sin \theta )\,[\mathbf {u} ]_{\times }+(1-\cos \theta )\,(\mathbf {u} \otimes \mathbf {u} ),}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>R</mi> <mo>=</mo> <mo stretchy="false">(</mo> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> <mo stretchy="false">)</mo> <mspace width="thinmathspace" /> <mi>I</mi> <mo>+</mo> <mo stretchy="false">(</mo> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> <mo stretchy="false">)</mo> <mspace width="thinmathspace" /> <mo stretchy="false">[</mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> <msub> <mo stretchy="false">]</mo> <mrow class="MJX-TeXAtom-ORD"> <mo>×<!-- × --></mo> </mrow> </msub> <mo>+</mo> <mo stretchy="false">(</mo> <mn>1</mn> <mo>−<!-- − --></mo> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> <mo stretchy="false">)</mo> <mspace width="thinmathspace" /> <mo stretchy="false">(</mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> <mo>⊗<!-- ⊗ --></mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> <mo stretchy="false">)</mo> <mo>,</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle R=(\cos \theta )\,I+(\sin \theta )\,[\mathbf {u} ]_{\times }+(1-\cos \theta )\,(\mathbf {u} \otimes \mathbf {u} ),}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/5865faae48e2c8bca9a0780d52fec23a768e5354" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:48.374ex; height:2.843ex;" alt="{\displaystyle R=(\cos \theta )\,I+(\sin \theta )\,[\mathbf {u} ]_{\times }+(1-\cos \theta )\,(\mathbf {u} \otimes \mathbf {u} ),}"></span></dd></dl> <p>where <span class="texhtml">[<b>u</b>]<sub>×</sub></span> is the <a href="/wiki/Cross_product#Conversion_to_matrix_multiplication" title="Cross product">cross product matrix</a> of <span class="texhtml"><b>u</b></span>; the expression <span class="texhtml"><b>u</b> ⊗ <b>u</b></span> is the <a href="/wiki/Outer_product" title="Outer product">outer product</a>, and <span class="texhtml mvar" style="font-style:italic;">I</span> is the <a href="/wiki/Identity_matrix" title="Identity matrix">identity matrix</a>. Alternatively, the matrix entries are: </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle R_{jk}={\begin{cases}\cos ^{2}{\frac {\theta }{2}}+\sin ^{2}{\frac {\theta }{2}}\left(2u_{j}^{2}-1\right),\quad &{\text{if }}j=k\\2u_{j}u_{k}\sin ^{2}{\frac {\theta }{2}}-\varepsilon _{jkl}u_{l}\sin \theta ,\quad &{\text{if }}j\neq k\end{cases}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msub> <mi>R</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>j</mi> <mi>k</mi> </mrow> </msub> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>{</mo> <mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false"> <mtr> <mtd> <msup> <mi>cos</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mo>⁡<!-- --></mo> <mrow class="MJX-TeXAtom-ORD"> <mfrac> <mi>θ<!-- θ --></mi> <mn>2</mn> </mfrac> </mrow> <mo>+</mo> <msup> <mi>sin</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mo>⁡<!-- --></mo> <mrow class="MJX-TeXAtom-ORD"> <mfrac> <mi>θ<!-- θ --></mi> <mn>2</mn> </mfrac> </mrow> <mrow> <mo>(</mo> <mrow> <mn>2</mn> <msubsup> <mi>u</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>j</mi> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msubsup> <mo>−<!-- − --></mo> <mn>1</mn> </mrow> <mo>)</mo> </mrow> <mo>,</mo> <mspace width="1em" /> </mtd> <mtd> <mrow class="MJX-TeXAtom-ORD"> <mtext>if </mtext> </mrow> <mi>j</mi> <mo>=</mo> <mi>k</mi> </mtd> </mtr> <mtr> <mtd> <mn>2</mn> <msub> <mi>u</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>j</mi> </mrow> </msub> <msub> <mi>u</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>k</mi> </mrow> </msub> <msup> <mi>sin</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mo>⁡<!-- --></mo> <mrow class="MJX-TeXAtom-ORD"> <mfrac> <mi>θ<!-- θ --></mi> <mn>2</mn> </mfrac> </mrow> <mo>−<!-- − --></mo> <msub> <mi>ε<!-- ε --></mi> <mrow class="MJX-TeXAtom-ORD"> <mi>j</mi> <mi>k</mi> <mi>l</mi> </mrow> </msub> <msub> <mi>u</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>l</mi> </mrow> </msub> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> <mo>,</mo> <mspace width="1em" /> </mtd> <mtd> <mrow class="MJX-TeXAtom-ORD"> <mtext>if </mtext> </mrow> <mi>j</mi> <mo>≠<!-- ≠ --></mo> <mi>k</mi> </mtd> </mtr> </mtable> <mo fence="true" stretchy="true" symmetric="true"></mo> </mrow> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle R_{jk}={\begin{cases}\cos ^{2}{\frac {\theta }{2}}+\sin ^{2}{\frac {\theta }{2}}\left(2u_{j}^{2}-1\right),\quad &{\text{if }}j=k\\2u_{j}u_{k}\sin ^{2}{\frac {\theta }{2}}-\varepsilon _{jkl}u_{l}\sin \theta ,\quad &{\text{if }}j\neq k\end{cases}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/c2f459430b942106bf203af3d2533cd80c259aed" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -3.505ex; width:48.05ex; height:8.176ex;" alt="{\displaystyle R_{jk}={\begin{cases}\cos ^{2}{\frac {\theta }{2}}+\sin ^{2}{\frac {\theta }{2}}\left(2u_{j}^{2}-1\right),\quad &{\text{if }}j=k\\2u_{j}u_{k}\sin ^{2}{\frac {\theta }{2}}-\varepsilon _{jkl}u_{l}\sin \theta ,\quad &{\text{if }}j\neq k\end{cases}}}"></span></dd></dl> <p>where <span class="texhtml mvar" style="font-style:italic;">ε<sub>jkl</sub></span> is the <a href="/wiki/Levi-Civita_symbol" title="Levi-Civita symbol">Levi-Civita symbol</a> with <span class="texhtml"><i>ε</i><sub>123</sub> = 1</span>. This is a matrix form of <a href="/wiki/Rodrigues%27_rotation_formula" title="Rodrigues' rotation formula">Rodrigues' rotation formula</a>, (or the equivalent, differently parametrized <a href="/wiki/Euler%E2%80%93Rodrigues_formula#Vector_formulation" title="Euler–Rodrigues formula">Euler–Rodrigues formula</a>) with<sup id="cite_ref-12" class="reference"><a href="#cite_note-12"><span class="cite-bracket">[</span>nb 2<span class="cite-bracket">]</span></a></sup> </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {u} \otimes \mathbf {u} =\mathbf {u} \mathbf {u} ^{\mathsf {T}}={\begin{bmatrix}u_{x}^{2}&u_{x}u_{y}&u_{x}u_{z}\\[3pt]u_{x}u_{y}&u_{y}^{2}&u_{y}u_{z}\\[3pt]u_{x}u_{z}&u_{y}u_{z}&u_{z}^{2}\end{bmatrix}},\qquad [\mathbf {u} ]_{\times }={\begin{bmatrix}0&-u_{z}&u_{y}\\[3pt]u_{z}&0&-u_{x}\\[3pt]-u_{y}&u_{x}&0\end{bmatrix}}.}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> <mo>⊗<!-- ⊗ --></mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> <msup> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="sans-serif">T</mi> </mrow> </mrow> </msup> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="0.7em 0.7em 0.4em" columnspacing="1em"> <mtr> <mtd> <msubsup> <mi>u</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msubsup> </mtd> <mtd> <msub> <mi>u</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> </mrow> </msub> <msub> <mi>u</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> </mrow> </msub> </mtd> <mtd> <msub> <mi>u</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> </mrow> </msub> <msub> <mi>u</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>z</mi> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>u</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> </mrow> </msub> <msub> <mi>u</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> </mrow> </msub> </mtd> <mtd> <msubsup> <mi>u</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msubsup> </mtd> <mtd> <msub> <mi>u</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> </mrow> </msub> <msub> <mi>u</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>z</mi> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>u</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> </mrow> </msub> <msub> <mi>u</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>z</mi> </mrow> </msub> </mtd> <mtd> <msub> <mi>u</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> </mrow> </msub> <msub> <mi>u</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>z</mi> </mrow> </msub> </mtd> <mtd> <msubsup> <mi>u</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>z</mi> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msubsup> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> <mo>,</mo> <mspace width="2em" /> <mo stretchy="false">[</mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> <msub> <mo stretchy="false">]</mo> <mrow class="MJX-TeXAtom-ORD"> <mo>×<!-- × --></mo> </mrow> </msub> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="0.7em 0.7em 0.4em" columnspacing="1em"> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mo>−<!-- − --></mo> <msub> <mi>u</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>z</mi> </mrow> </msub> </mtd> <mtd> <msub> <mi>u</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>u</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>z</mi> </mrow> </msub> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mo>−<!-- − --></mo> <msub> <mi>u</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <mo>−<!-- − --></mo> <msub> <mi>u</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> </mrow> </msub> </mtd> <mtd> <msub> <mi>u</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> </mrow> </msub> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> <mo>.</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \mathbf {u} \otimes \mathbf {u} =\mathbf {u} \mathbf {u} ^{\mathsf {T}}={\begin{bmatrix}u_{x}^{2}&u_{x}u_{y}&u_{x}u_{z}\\[3pt]u_{x}u_{y}&u_{y}^{2}&u_{y}u_{z}\\[3pt]u_{x}u_{z}&u_{y}u_{z}&u_{z}^{2}\end{bmatrix}},\qquad [\mathbf {u} ]_{\times }={\begin{bmatrix}0&-u_{z}&u_{y}\\[3pt]u_{z}&0&-u_{x}\\[3pt]-u_{y}&u_{x}&0\end{bmatrix}}.}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/e3ddca93f49b042e6a14d5263002603fc0738308" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -4.921ex; margin-bottom: -0.25ex; width:74.272ex; height:11.509ex;" alt="{\displaystyle \mathbf {u} \otimes \mathbf {u} =\mathbf {u} \mathbf {u} ^{\mathsf {T}}={\begin{bmatrix}u_{x}^{2}&u_{x}u_{y}&u_{x}u_{z}\\[3pt]u_{x}u_{y}&u_{y}^{2}&u_{y}u_{z}\\[3pt]u_{x}u_{z}&u_{y}u_{z}&u_{z}^{2}\end{bmatrix}},\qquad [\mathbf {u} ]_{\times }={\begin{bmatrix}0&-u_{z}&u_{y}\\[3pt]u_{z}&0&-u_{x}\\[3pt]-u_{y}&u_{x}&0\end{bmatrix}}.}"></span></dd></dl> <p>In <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbb {R} ^{3}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msup> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="double-struck">R</mi> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mn>3</mn> </mrow> </msup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \mathbb {R} ^{3}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/f936ddf584f8f3dd2a0ed08917001b7a404c10b5" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.732ex; height:2.676ex;" alt="{\displaystyle \mathbb {R} ^{3}}"></span> the rotation of a vector <span class="texhtml"><b>x</b></span> around the axis <span class="texhtml"><b>u</b></span> by an angle <span class="texhtml mvar" style="font-style:italic;">θ</span> can be written as: </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle R_{\mathbf {u} }(\theta )\mathbf {x} =\mathbf {u} (\mathbf {u} \cdot \mathbf {x} )+\cos \left(\theta \right)(\mathbf {u} \times \mathbf {x} )\times \mathbf {u} +\sin \left(\theta \right)(\mathbf {u} \times \mathbf {x} )}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msub> <mi>R</mi> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> </mrow> </msub> <mo stretchy="false">(</mo> <mi>θ<!-- θ --></mi> <mo stretchy="false">)</mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">x</mi> </mrow> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> <mo stretchy="false">(</mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> <mo>⋅<!-- ⋅ --></mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">x</mi> </mrow> <mo stretchy="false">)</mo> <mo>+</mo> <mi>cos</mi> <mo>⁡<!-- --></mo> <mrow> <mo>(</mo> <mi>θ<!-- θ --></mi> <mo>)</mo> </mrow> <mo stretchy="false">(</mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> <mo>×<!-- × --></mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">x</mi> </mrow> <mo stretchy="false">)</mo> <mo>×<!-- × --></mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> <mo>+</mo> <mi>sin</mi> <mo>⁡<!-- --></mo> <mrow> <mo>(</mo> <mi>θ<!-- θ --></mi> <mo>)</mo> </mrow> <mo stretchy="false">(</mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> <mo>×<!-- × --></mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">x</mi> </mrow> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle R_{\mathbf {u} }(\theta )\mathbf {x} =\mathbf {u} (\mathbf {u} \cdot \mathbf {x} )+\cos \left(\theta \right)(\mathbf {u} \times \mathbf {x} )\times \mathbf {u} +\sin \left(\theta \right)(\mathbf {u} \times \mathbf {x} )}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/bfd0485b937bc4a94bbd0bcb9b6307d4d1bb7dcf" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:55.19ex; height:2.843ex;" alt="{\displaystyle R_{\mathbf {u} }(\theta )\mathbf {x} =\mathbf {u} (\mathbf {u} \cdot \mathbf {x} )+\cos \left(\theta \right)(\mathbf {u} \times \mathbf {x} )\times \mathbf {u} +\sin \left(\theta \right)(\mathbf {u} \times \mathbf {x} )}"></span></dd></dl> <p>or equivalently: </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle R_{\mathbf {u} }(\theta )\mathbf {x} =\mathbf {x} \cos(\theta )+\mathbf {u} (\mathbf {x} \cdot \mathbf {u} )(1-\cos(\theta ))-\mathbf {x} \times \mathbf {u} \sin {\theta }}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msub> <mi>R</mi> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> </mrow> </msub> <mo stretchy="false">(</mo> <mi>θ<!-- θ --></mi> <mo stretchy="false">)</mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">x</mi> </mrow> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">x</mi> </mrow> <mi>cos</mi> <mo>⁡<!-- --></mo> <mo stretchy="false">(</mo> <mi>θ<!-- θ --></mi> <mo stretchy="false">)</mo> <mo>+</mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> <mo stretchy="false">(</mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">x</mi> </mrow> <mo>⋅<!-- ⋅ --></mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> <mo stretchy="false">)</mo> <mo stretchy="false">(</mo> <mn>1</mn> <mo>−<!-- − --></mo> <mi>cos</mi> <mo>⁡<!-- --></mo> <mo stretchy="false">(</mo> <mi>θ<!-- θ --></mi> <mo stretchy="false">)</mo> <mo stretchy="false">)</mo> <mo>−<!-- − --></mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">x</mi> </mrow> <mo>×<!-- × --></mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> <mi>sin</mi> <mo>⁡<!-- --></mo> <mrow class="MJX-TeXAtom-ORD"> <mi>θ<!-- θ --></mi> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle R_{\mathbf {u} }(\theta )\mathbf {x} =\mathbf {x} \cos(\theta )+\mathbf {u} (\mathbf {x} \cdot \mathbf {u} )(1-\cos(\theta ))-\mathbf {x} \times \mathbf {u} \sin {\theta }}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/c778ba71ec553ef49b5d8230444a83e466d63d10" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:54.095ex; height:2.843ex;" alt="{\displaystyle R_{\mathbf {u} }(\theta )\mathbf {x} =\mathbf {x} \cos(\theta )+\mathbf {u} (\mathbf {x} \cdot \mathbf {u} )(1-\cos(\theta ))-\mathbf {x} \times \mathbf {u} \sin {\theta }}"></span></dd></dl> <p>This can also be written in <a href="/wiki/Tensor" title="Tensor">tensor notation</a> as:<sup id="cite_ref-13" class="reference"><a href="#cite_note-13"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup> </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle (R_{\mathbf {u} }(\theta )\mathbf {x} )_{i}=(R_{\mathbf {u} }(\theta ))_{ij}{\mathbf {x} }_{j}\quad {\text{with}}\quad (R_{\mathbf {u} }(\theta ))_{ij}=\delta _{ij}\cos(\theta )+\mathbf {u} _{i}\mathbf {u} _{j}(1-\cos(\theta ))-\sin {\theta }\varepsilon _{ijk}\mathbf {u} _{k}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mo stretchy="false">(</mo> <msub> <mi>R</mi> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> </mrow> </msub> <mo stretchy="false">(</mo> <mi>θ<!-- θ --></mi> <mo stretchy="false">)</mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">x</mi> </mrow> <msub> <mo stretchy="false">)</mo> <mrow class="MJX-TeXAtom-ORD"> <mi>i</mi> </mrow> </msub> <mo>=</mo> <mo stretchy="false">(</mo> <msub> <mi>R</mi> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> </mrow> </msub> <mo stretchy="false">(</mo> <mi>θ<!-- θ --></mi> <mo stretchy="false">)</mo> <msub> <mo stretchy="false">)</mo> <mrow class="MJX-TeXAtom-ORD"> <mi>i</mi> <mi>j</mi> </mrow> </msub> <msub> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">x</mi> </mrow> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mi>j</mi> </mrow> </msub> <mspace width="1em" /> <mrow class="MJX-TeXAtom-ORD"> <mtext>with</mtext> </mrow> <mspace width="1em" /> <mo stretchy="false">(</mo> <msub> <mi>R</mi> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> </mrow> </msub> <mo stretchy="false">(</mo> <mi>θ<!-- θ --></mi> <mo stretchy="false">)</mo> <msub> <mo stretchy="false">)</mo> <mrow class="MJX-TeXAtom-ORD"> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>=</mo> <msub> <mi>δ<!-- δ --></mi> <mrow class="MJX-TeXAtom-ORD"> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mi>cos</mi> <mo>⁡<!-- --></mo> <mo stretchy="false">(</mo> <mi>θ<!-- θ --></mi> <mo stretchy="false">)</mo> <mo>+</mo> <msub> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mi>i</mi> </mrow> </msub> <msub> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mi>j</mi> </mrow> </msub> <mo stretchy="false">(</mo> <mn>1</mn> <mo>−<!-- − --></mo> <mi>cos</mi> <mo>⁡<!-- --></mo> <mo stretchy="false">(</mo> <mi>θ<!-- θ --></mi> <mo stretchy="false">)</mo> <mo stretchy="false">)</mo> <mo>−<!-- − --></mo> <mi>sin</mi> <mo>⁡<!-- --></mo> <mrow class="MJX-TeXAtom-ORD"> <mi>θ<!-- θ --></mi> </mrow> <msub> <mi>ε<!-- ε --></mi> <mrow class="MJX-TeXAtom-ORD"> <mi>i</mi> <mi>j</mi> <mi>k</mi> </mrow> </msub> <msub> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mi>k</mi> </mrow> </msub> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle (R_{\mathbf {u} }(\theta )\mathbf {x} )_{i}=(R_{\mathbf {u} }(\theta ))_{ij}{\mathbf {x} }_{j}\quad {\text{with}}\quad (R_{\mathbf {u} }(\theta ))_{ij}=\delta _{ij}\cos(\theta )+\mathbf {u} _{i}\mathbf {u} _{j}(1-\cos(\theta ))-\sin {\theta }\varepsilon _{ijk}\mathbf {u} _{k}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/58369d9c2231fdbf01c14188a7ab463a12cf95d3" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:87.532ex; height:3.009ex;" alt="{\displaystyle (R_{\mathbf {u} }(\theta )\mathbf {x} )_{i}=(R_{\mathbf {u} }(\theta ))_{ij}{\mathbf {x} }_{j}\quad {\text{with}}\quad (R_{\mathbf {u} }(\theta ))_{ij}=\delta _{ij}\cos(\theta )+\mathbf {u} _{i}\mathbf {u} _{j}(1-\cos(\theta ))-\sin {\theta }\varepsilon _{ijk}\mathbf {u} _{k}}"></span></dd></dl> <p>If the 3D space is right-handed and <span class="texhtml"><i>θ</i> > 0</span>, this rotation will be counterclockwise when <span class="texhtml"><b>u</b></span> points towards the observer (<a href="/wiki/Right-hand_rule" title="Right-hand rule">Right-hand rule</a>). Explicitly, with <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle ({\boldsymbol {\alpha }},{\boldsymbol {\beta }},\mathbf {u} )}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mo stretchy="false">(</mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold-italic">α<!-- α --></mi> </mrow> <mo>,</mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold-italic">β<!-- β --></mi> </mrow> <mo>,</mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle ({\boldsymbol {\alpha }},{\boldsymbol {\beta }},\mathbf {u} )}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/3984725027a1645e73bb548fcc9f771396e76a95" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:8.665ex; height:2.843ex;" alt="{\displaystyle ({\boldsymbol {\alpha }},{\boldsymbol {\beta }},\mathbf {u} )}"></span> a right-handed orthonormal basis, </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle R_{\mathbf {u} }(\theta ){\boldsymbol {\alpha }}=\cos \left(\theta \right){\boldsymbol {\alpha }}+\sin \left(\theta \right){\boldsymbol {\beta }},\quad R_{\mathbf {u} }(\theta ){\boldsymbol {\beta }}=-\sin \left(\theta \right){\boldsymbol {\alpha }}+\cos \left(\theta \right){\boldsymbol {\beta }},\quad R_{\mathbf {u} }(\theta )\mathbf {u} =\mathbf {u} .}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msub> <mi>R</mi> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> </mrow> </msub> <mo stretchy="false">(</mo> <mi>θ<!-- θ --></mi> <mo stretchy="false">)</mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold-italic">α<!-- α --></mi> </mrow> <mo>=</mo> <mi>cos</mi> <mo>⁡<!-- --></mo> <mrow> <mo>(</mo> <mi>θ<!-- θ --></mi> <mo>)</mo> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold-italic">α<!-- α --></mi> </mrow> <mo>+</mo> <mi>sin</mi> <mo>⁡<!-- --></mo> <mrow> <mo>(</mo> <mi>θ<!-- θ --></mi> <mo>)</mo> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold-italic">β<!-- β --></mi> </mrow> <mo>,</mo> <mspace width="1em" /> <msub> <mi>R</mi> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> </mrow> </msub> <mo stretchy="false">(</mo> <mi>θ<!-- θ --></mi> <mo stretchy="false">)</mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold-italic">β<!-- β --></mi> </mrow> <mo>=</mo> <mo>−<!-- − --></mo> <mi>sin</mi> <mo>⁡<!-- --></mo> <mrow> <mo>(</mo> <mi>θ<!-- θ --></mi> <mo>)</mo> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold-italic">α<!-- α --></mi> </mrow> <mo>+</mo> <mi>cos</mi> <mo>⁡<!-- --></mo> <mrow> <mo>(</mo> <mi>θ<!-- θ --></mi> <mo>)</mo> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold-italic">β<!-- β --></mi> </mrow> <mo>,</mo> <mspace width="1em" /> <msub> <mi>R</mi> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> </mrow> </msub> <mo stretchy="false">(</mo> <mi>θ<!-- θ --></mi> <mo stretchy="false">)</mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> <mo>.</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle R_{\mathbf {u} }(\theta ){\boldsymbol {\alpha }}=\cos \left(\theta \right){\boldsymbol {\alpha }}+\sin \left(\theta \right){\boldsymbol {\beta }},\quad R_{\mathbf {u} }(\theta ){\boldsymbol {\beta }}=-\sin \left(\theta \right){\boldsymbol {\alpha }}+\cos \left(\theta \right){\boldsymbol {\beta }},\quad R_{\mathbf {u} }(\theta )\mathbf {u} =\mathbf {u} .}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/4ff3e3a516ee43405689e2aca0a52f5bd3cc5b7d" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:78.781ex; height:2.843ex;" alt="{\displaystyle R_{\mathbf {u} }(\theta ){\boldsymbol {\alpha }}=\cos \left(\theta \right){\boldsymbol {\alpha }}+\sin \left(\theta \right){\boldsymbol {\beta }},\quad R_{\mathbf {u} }(\theta ){\boldsymbol {\beta }}=-\sin \left(\theta \right){\boldsymbol {\alpha }}+\cos \left(\theta \right){\boldsymbol {\beta }},\quad R_{\mathbf {u} }(\theta )\mathbf {u} =\mathbf {u} .}"></span></dd></dl> <p>Note the striking <i>merely apparent differences</i> to the <i>equivalent</i> Lie-algebraic formulation <a href="#Exponential_map">below</a>. </p> <div class="mw-heading mw-heading2"><h2 id="Properties">Properties</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Rotation_matrix&action=edit&section=14" title="Edit section: Properties"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>For any <span class="texhtml mvar" style="font-style:italic;">n</span>-dimensional rotation matrix <span class="texhtml mvar" style="font-style:italic;">R</span> acting on <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbb {R} ^{n},}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msup> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="double-struck">R</mi> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mi>n</mi> </mrow> </msup> <mo>,</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \mathbb {R} ^{n},}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/d7035fcb9fe3ebecc6bc9f372f82d0352202c8bf" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:3.543ex; height:2.676ex;" alt="{\displaystyle \mathbb {R} ^{n},}"></span> </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle R^{\mathsf {T}}=R^{-1}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msup> <mi>R</mi> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="sans-serif">T</mi> </mrow> </mrow> </msup> <mo>=</mo> <msup> <mi>R</mi> <mrow class="MJX-TeXAtom-ORD"> <mo>−<!-- − --></mo> <mn>1</mn> </mrow> </msup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle R^{\mathsf {T}}=R^{-1}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/85439c87cf2430c0c01e9eb25f6d6cee89ee3238" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:10.311ex; height:2.676ex;" alt="{\displaystyle R^{\mathsf {T}}=R^{-1}}"></span> (The rotation is an <a href="/wiki/Orthogonal_matrix" title="Orthogonal matrix">orthogonal matrix</a>)</dd></dl> <p>It follows that: </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \det R=\pm 1}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mo movablelimits="true" form="prefix">det</mo> <mi>R</mi> <mo>=</mo> <mo>±<!-- ± --></mo> <mn>1</mn> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \det R=\pm 1}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/ad53bf40c93d6f2f6c61bcff91ac9cea3cea1524" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:11.45ex; height:2.176ex;" alt="{\displaystyle \det R=\pm 1}"></span></dd></dl> <p>A rotation is termed proper if <span class="texhtml">det <i>R</i> = 1</span>, and <a href="/wiki/Improper_rotation" title="Improper rotation">improper</a> (or a roto-reflection) if <span class="texhtml">det <i>R</i> = –1</span>. For even dimensions <span class="texhtml"><i>n</i> = 2<i>k</i></span>, the <span class="texhtml mvar" style="font-style:italic;">n</span> <a href="/wiki/Eigenvalues" class="mw-redirect" title="Eigenvalues">eigenvalues</a> <span class="texhtml mvar" style="font-style:italic;">λ</span> of a proper rotation occur as pairs of <a href="/wiki/Complex_conjugate" title="Complex conjugate">complex conjugates</a> which are roots of unity: <span class="texhtml"><i>λ</i> = <i>e</i><sup>±<i>iθ<sub>j</sub></i></sup></span> for <span class="texhtml"><i>j</i> = 1, ..., <i>k</i></span>, which is real only for <span class="texhtml"><i>λ</i> = ±1</span>. Therefore, there may be no vectors fixed by the rotation (<span class="texhtml"><i>λ</i> = 1</span>), and thus no axis of rotation. Any fixed eigenvectors occur in pairs, and the axis of rotation is an even-dimensional subspace. </p><p>For odd dimensions <span class="texhtml"><i>n</i> = 2<i>k</i> + 1</span>, a proper rotation <span class="texhtml mvar" style="font-style:italic;">R</span> will have an odd number of eigenvalues, with at least one <span class="texhtml"><i>λ</i> = 1</span> and the axis of rotation will be an odd dimensional subspace. Proof: </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{aligned}\det \left(R-I\right)&=\det \left(R^{\mathsf {T}}\right)\det \left(R-I\right)=\det \left(R^{\mathsf {T}}R-R^{\mathsf {T}}\right)=\det \left(I-R^{\mathsf {T}}\right)\\&=\det(I-R)=\left(-1\right)^{n}\det \left(R-I\right)=-\det \left(R-I\right).\end{aligned}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"> <mtr> <mtd> <mo movablelimits="true" form="prefix">det</mo> <mrow> <mo>(</mo> <mrow> <mi>R</mi> <mo>−<!-- − --></mo> <mi>I</mi> </mrow> <mo>)</mo> </mrow> </mtd> <mtd> <mi></mi> <mo>=</mo> <mo movablelimits="true" form="prefix">det</mo> <mrow> <mo>(</mo> <msup> <mi>R</mi> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="sans-serif">T</mi> </mrow> </mrow> </msup> <mo>)</mo> </mrow> <mo movablelimits="true" form="prefix">det</mo> <mrow> <mo>(</mo> <mrow> <mi>R</mi> <mo>−<!-- − --></mo> <mi>I</mi> </mrow> <mo>)</mo> </mrow> <mo>=</mo> <mo movablelimits="true" form="prefix">det</mo> <mrow> <mo>(</mo> <mrow> <msup> <mi>R</mi> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="sans-serif">T</mi> </mrow> </mrow> </msup> <mi>R</mi> <mo>−<!-- − --></mo> <msup> <mi>R</mi> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="sans-serif">T</mi> </mrow> </mrow> </msup> </mrow> <mo>)</mo> </mrow> <mo>=</mo> <mo movablelimits="true" form="prefix">det</mo> <mrow> <mo>(</mo> <mrow> <mi>I</mi> <mo>−<!-- − --></mo> <msup> <mi>R</mi> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="sans-serif">T</mi> </mrow> </mrow> </msup> </mrow> <mo>)</mo> </mrow> </mtd> </mtr> <mtr> <mtd /> <mtd> <mi></mi> <mo>=</mo> <mo movablelimits="true" form="prefix">det</mo> <mo stretchy="false">(</mo> <mi>I</mi> <mo>−<!-- − --></mo> <mi>R</mi> <mo stretchy="false">)</mo> <mo>=</mo> <msup> <mrow> <mo>(</mo> <mrow> <mo>−<!-- − --></mo> <mn>1</mn> </mrow> <mo>)</mo> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mi>n</mi> </mrow> </msup> <mo movablelimits="true" form="prefix">det</mo> <mrow> <mo>(</mo> <mrow> <mi>R</mi> <mo>−<!-- − --></mo> <mi>I</mi> </mrow> <mo>)</mo> </mrow> <mo>=</mo> <mo>−<!-- − --></mo> <mo movablelimits="true" form="prefix">det</mo> <mrow> <mo>(</mo> <mrow> <mi>R</mi> <mo>−<!-- − --></mo> <mi>I</mi> </mrow> <mo>)</mo> </mrow> <mo>.</mo> </mtd> </mtr> </mtable> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\begin{aligned}\det \left(R-I\right)&=\det \left(R^{\mathsf {T}}\right)\det \left(R-I\right)=\det \left(R^{\mathsf {T}}R-R^{\mathsf {T}}\right)=\det \left(I-R^{\mathsf {T}}\right)\\&=\det(I-R)=\left(-1\right)^{n}\det \left(R-I\right)=-\det \left(R-I\right).\end{aligned}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/b5a7677f03691f1bd571b4041d52c0c04cf707b3" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -2.671ex; width:71.156ex; height:6.509ex;" alt="{\displaystyle {\begin{aligned}\det \left(R-I\right)&=\det \left(R^{\mathsf {T}}\right)\det \left(R-I\right)=\det \left(R^{\mathsf {T}}R-R^{\mathsf {T}}\right)=\det \left(I-R^{\mathsf {T}}\right)\\&=\det(I-R)=\left(-1\right)^{n}\det \left(R-I\right)=-\det \left(R-I\right).\end{aligned}}}"></span></dd></dl> <p>Here <span class="texhtml mvar" style="font-style:italic;">I</span> is the identity matrix, and we use <span class="texhtml">det(<i>R</i><sup>T</sup>) = det(<i>R</i>) = 1</span>, as well as <span class="texhtml">(−1)<sup><i>n</i></sup> = −1</span> since <span class="texhtml mvar" style="font-style:italic;">n</span> is odd. Therefore, <span class="texhtml">det(<i>R</i> – <i>I</i>) = 0</span>, meaning there is a nonzero vector <span class="texhtml"><b>v</b></span> with <span class="texhtml">(<i>R – I</i>)<b>v</b> = 0</span>, that is <span class="texhtml"><i>R</i><b>v</b> = <b>v</b></span>, a fixed eigenvector. There may also be pairs of fixed eigenvectors in the even-dimensional subspace orthogonal to <span class="texhtml"><b>v</b></span>, so the total dimension of fixed eigenvectors is odd. </p><p>For example, in <a href="/wiki/SO(2)" class="mw-redirect" title="SO(2)">2-space</a> <span class="texhtml"><i>n</i> = 2</span>, a rotation by angle <span class="texhtml mvar" style="font-style:italic;">θ</span> has eigenvalues <span class="texhtml"><i>λ</i> = <i>e<sup>iθ</sup></i></span> and <span class="texhtml"><i>λ</i> = <i>e</i><sup>−<i>iθ</i></sup></span>, so there is no axis of rotation except when <span class="texhtml"><i>θ</i> = 0</span>, the case of the null rotation. In <a href="/wiki/SO(3)" class="mw-redirect" title="SO(3)">3-space</a> <span class="texhtml"><i>n</i> = 3</span>, the axis of a non-null proper rotation is always a unique line, and a rotation around this axis by angle <span class="texhtml mvar" style="font-style:italic;">θ</span> has eigenvalues <span class="texhtml"><i>λ</i> = 1, <i>e<sup>iθ</sup></i>, <i>e</i><sup>−<i>iθ</i></sup></span>. In <a href="/wiki/SO(4)" class="mw-redirect" title="SO(4)">4-space</a> <span class="texhtml"><i>n</i> = 4</span>, the four eigenvalues are of the form <span class="texhtml"><i>e</i><sup>±<i>iθ</i></sup>, <i>e</i><sup>±<i>iφ</i></sup></span>. The null rotation has <span class="texhtml"><i>θ</i> = <i>φ</i> = 0</span>. The case of <span class="texhtml"><i>θ</i> = 0, <i>φ</i> ≠ 0</span> is called a <i>simple rotation</i>, with two unit eigenvalues forming an <i>axis plane</i>, and a two-dimensional rotation orthogonal to the axis plane. Otherwise, there is no axis plane. The case of <span class="texhtml"><i>θ</i> = <i>φ</i></span> is called an <i>isoclinic rotation</i>, having eigenvalues <span class="texhtml"><i>e</i><sup>±<i>iθ</i></sup></span> repeated twice, so every vector is rotated through an angle <span class="texhtml mvar" style="font-style:italic;">θ</span>. </p><p>The trace of a rotation matrix is equal to the sum of its eigenvalues. For <span class="texhtml"><i>n</i> = 2</span>, a rotation by angle <span class="texhtml mvar" style="font-style:italic;">θ</span> has trace <span class="texhtml">2 cos <i>θ</i></span>. For <span class="texhtml"><i>n</i> = 3</span>, a rotation around any axis by angle <span class="texhtml mvar" style="font-style:italic;">θ</span> has trace <span class="texhtml">1 + 2 cos <i>θ</i></span>. For <span class="texhtml"><i>n</i> = 4</span>, and the trace is <span class="texhtml">2(cos <i>θ</i> + cos <i>φ</i>)</span>, which becomes <span class="texhtml">4 cos <i>θ</i></span> for an isoclinic rotation. </p> <div class="mw-heading mw-heading2"><h2 id="Examples_2">Examples</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Rotation_matrix&action=edit&section=15" title="Edit section: Examples"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1216972533">.mw-parser-output .col-begin{border-collapse:collapse;padding:0;color:inherit;width:100%;border:0;margin:0}.mw-parser-output .col-begin-small{font-size:90%}.mw-parser-output .col-break{vertical-align:top;text-align:left}.mw-parser-output .col-break-2{width:50%}.mw-parser-output .col-break-3{width:33.3%}.mw-parser-output .col-break-4{width:25%}.mw-parser-output .col-break-5{width:20%}@media(max-width:720px){.mw-parser-output .col-begin,.mw-parser-output .col-begin>tbody,.mw-parser-output .col-begin>tbody>tr,.mw-parser-output .col-begin>tbody>tr>td{display:block!important;width:100%!important}.mw-parser-output .col-break{padding-left:0!important}}</style><div> <table class="col-begin" role="presentation"> <tbody><tr> <td class="col-break col-break-2"> <ul><li>The <span class="nowrap">2 × 2</span> rotation matrix</li></ul> <dl><dd><dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle Q={\begin{bmatrix}0&1\\-1&0\end{bmatrix}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>Q</mi> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mn>1</mn> </mtd> </mtr> <mtr> <mtd> <mo>−<!-- − --></mo> <mn>1</mn> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle Q={\begin{bmatrix}0&1\\-1&0\end{bmatrix}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/f474e48ebc92578367466e5b3fee742622c7fe46" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -2.505ex; width:14.599ex; height:6.176ex;" alt="{\displaystyle Q={\begin{bmatrix}0&1\\-1&0\end{bmatrix}}}"></span></dd></dl></dd> <dd>corresponds to a 90° planar rotation clockwise about the origin.</dd></dl> <ul><li>The <a href="/wiki/Transpose_matrix" class="mw-redirect" title="Transpose matrix">transpose</a> of the <span class="nowrap">2 × 2</span> matrix</li></ul> <dl><dd><dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle M={\begin{bmatrix}0.936&0.352\\0.352&-0.936\end{bmatrix}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>M</mi> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mn>0.936</mn> </mtd> <mtd> <mn>0.352</mn> </mtd> </mtr> <mtr> <mtd> <mn>0.352</mn> </mtd> <mtd> <mo>−<!-- − --></mo> <mn>0.936</mn> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle M={\begin{bmatrix}0.936&0.352\\0.352&-0.936\end{bmatrix}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/c960b97561434885ebd3a00288a392d1e788cd6d" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -2.505ex; width:23.471ex; height:6.176ex;" alt="{\displaystyle M={\begin{bmatrix}0.936&0.352\\0.352&-0.936\end{bmatrix}}}"></span></dd></dl></dd> <dd>is its inverse, but since its determinant is −1, this is not a proper rotation matrix; it is a reflection across the line <span class="texhtml">11<i>y</i> = 2<i>x</i></span>.</dd></dl> <ul><li>The <span class="nowrap">3 × 3</span> rotation matrix</li></ul> <dl><dd><dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle Q={\begin{bmatrix}1&0&0\\0&{\frac {\sqrt {3}}{2}}&{\frac {1}{2}}\\0&-{\frac {1}{2}}&{\frac {\sqrt {3}}{2}}\end{bmatrix}}={\begin{bmatrix}1&0&0\\0&\cos 30^{\circ }&\sin 30^{\circ }\\0&-\sin 30^{\circ }&\cos 30^{\circ }\\\end{bmatrix}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>Q</mi> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mn>1</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mrow class="MJX-TeXAtom-ORD"> <mfrac> <msqrt> <mn>3</mn> </msqrt> <mn>2</mn> </mfrac> </mrow> </mtd> <mtd> <mrow class="MJX-TeXAtom-ORD"> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> </mrow> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mo>−<!-- − --></mo> <mrow class="MJX-TeXAtom-ORD"> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> </mrow> </mtd> <mtd> <mrow class="MJX-TeXAtom-ORD"> <mfrac> <msqrt> <mn>3</mn> </msqrt> <mn>2</mn> </mfrac> </mrow> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mn>1</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <msup> <mn>30</mn> <mrow class="MJX-TeXAtom-ORD"> <mo>∘<!-- ∘ --></mo> </mrow> </msup> </mtd> <mtd> <mi>sin</mi> <mo>⁡<!-- --></mo> <msup> <mn>30</mn> <mrow class="MJX-TeXAtom-ORD"> <mo>∘<!-- ∘ --></mo> </mrow> </msup> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mo>−<!-- − --></mo> <mi>sin</mi> <mo>⁡<!-- --></mo> <msup> <mn>30</mn> <mrow class="MJX-TeXAtom-ORD"> <mo>∘<!-- ∘ --></mo> </mrow> </msup> </mtd> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <msup> <mn>30</mn> <mrow class="MJX-TeXAtom-ORD"> <mo>∘<!-- ∘ --></mo> </mrow> </msup> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle Q={\begin{bmatrix}1&0&0\\0&{\frac {\sqrt {3}}{2}}&{\frac {1}{2}}\\0&-{\frac {1}{2}}&{\frac {\sqrt {3}}{2}}\end{bmatrix}}={\begin{bmatrix}1&0&0\\0&\cos 30^{\circ }&\sin 30^{\circ }\\0&-\sin 30^{\circ }&\cos 30^{\circ }\\\end{bmatrix}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/a00b1c7f09a1e4dccc81c6fcdf113d5d4cfe1a4f" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -5.255ex; margin-bottom: -0.25ex; width:49.542ex; height:12.176ex;" alt="{\displaystyle Q={\begin{bmatrix}1&0&0\\0&{\frac {\sqrt {3}}{2}}&{\frac {1}{2}}\\0&-{\frac {1}{2}}&{\frac {\sqrt {3}}{2}}\end{bmatrix}}={\begin{bmatrix}1&0&0\\0&\cos 30^{\circ }&\sin 30^{\circ }\\0&-\sin 30^{\circ }&\cos 30^{\circ }\\\end{bmatrix}}}"></span></dd></dl></dd> <dd>corresponds to a −30° rotation around the <span class="texhtml mvar" style="font-style:italic;">x</span>-axis in three-dimensional space.</dd></dl> <ul><li>The <span class="nowrap">3 × 3</span> rotation matrix</li></ul> <dl><dd><dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle Q={\begin{bmatrix}0.36&0.48&-0.80\\-0.80&0.60&0.00\\0.48&0.64&0.60\end{bmatrix}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>Q</mi> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mn>0.36</mn> </mtd> <mtd> <mn>0.48</mn> </mtd> <mtd> <mo>−<!-- − --></mo> <mn>0.80</mn> </mtd> </mtr> <mtr> <mtd> <mo>−<!-- − --></mo> <mn>0.80</mn> </mtd> <mtd> <mn>0.60</mn> </mtd> <mtd> <mn>0.00</mn> </mtd> </mtr> <mtr> <mtd> <mn>0.48</mn> </mtd> <mtd> <mn>0.64</mn> </mtd> <mtd> <mn>0.60</mn> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle Q={\begin{bmatrix}0.36&0.48&-0.80\\-0.80&0.60&0.00\\0.48&0.64&0.60\end{bmatrix}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/7f16c167ee48d306ac6497cf39e4b06f9b3c2981" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -4.005ex; width:29.453ex; height:9.176ex;" alt="{\displaystyle Q={\begin{bmatrix}0.36&0.48&-0.80\\-0.80&0.60&0.00\\0.48&0.64&0.60\end{bmatrix}}}"></span></dd></dl></dd> <dd>corresponds to a rotation of approximately −74° around the axis <span class="nowrap">(−<style data-mw-deduplicate="TemplateStyles:r1214402035">.mw-parser-output .sfrac{white-space:nowrap}.mw-parser-output .sfrac.tion,.mw-parser-output .sfrac .tion{display:inline-block;vertical-align:-0.5em;font-size:85%;text-align:center}.mw-parser-output .sfrac .num{display:block;line-height:1em;margin:0.0em 0.1em;border-bottom:1px solid}.mw-parser-output .sfrac .den{display:block;line-height:1em;margin:0.1em 0.1em}.mw-parser-output .sr-only{border:0;clip:rect(0,0,0,0);clip-path:polygon(0px 0px,0px 0px,0px 0px);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}</style><span class="sfrac">⁠<span class="tion"><span class="num">1</span><span class="sr-only">/</span><span class="den">2</span></span>⁠</span>,1,1)</span> in three-dimensional space.</dd></dl> <ul><li>The <span class="nowrap">3 × 3</span> <a href="/wiki/Permutation_matrix" title="Permutation matrix">permutation matrix</a></li></ul> <dl><dd><dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle P={\begin{bmatrix}0&0&1\\1&0&0\\0&1&0\end{bmatrix}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>P</mi> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>1</mn> </mtd> </mtr> <mtr> <mtd> <mn>1</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mn>1</mn> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle P={\begin{bmatrix}0&0&1\\1&0&0\\0&1&0\end{bmatrix}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/a75c8f635f16cee4540fa845286bd2881b7230e3" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -4.005ex; width:16.829ex; height:9.176ex;" alt="{\displaystyle P={\begin{bmatrix}0&0&1\\1&0&0\\0&1&0\end{bmatrix}}}"></span></dd></dl></dd> <dd>is a rotation matrix, as is the matrix of any <a href="/wiki/Even_permutation" class="mw-redirect" title="Even permutation">even permutation</a>, and rotates through 120° about the axis <span class="texhtml"><i>x</i> = <i>y</i> = <i>z</i></span>.</dd></dl> <p><br /> </p> </td> <td class="col-break col-break-2"> <ul><li>The <span class="nowrap">3 × 3</span> matrix</li></ul> <dl><dd><dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle M={\begin{bmatrix}3&-4&1\\5&3&-7\\-9&2&6\end{bmatrix}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>M</mi> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mn>3</mn> </mtd> <mtd> <mo>−<!-- − --></mo> <mn>4</mn> </mtd> <mtd> <mn>1</mn> </mtd> </mtr> <mtr> <mtd> <mn>5</mn> </mtd> <mtd> <mn>3</mn> </mtd> <mtd> <mo>−<!-- − --></mo> <mn>7</mn> </mtd> </mtr> <mtr> <mtd> <mo>−<!-- − --></mo> <mn>9</mn> </mtd> <mtd> <mn>2</mn> </mtd> <mtd> <mn>6</mn> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle M={\begin{bmatrix}3&-4&1\\5&3&-7\\-9&2&6\end{bmatrix}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/fbf5a01e6b14a75ca3e9eac4e276dfae469624f4" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -4.005ex; width:22.95ex; height:9.176ex;" alt="{\displaystyle M={\begin{bmatrix}3&-4&1\\5&3&-7\\-9&2&6\end{bmatrix}}}"></span></dd></dl></dd> <dd>has determinant +1, but is not orthogonal (its transpose is not its inverse), so it is not a rotation matrix.</dd></dl> <ul><li>The <span class="nowrap">4 × 3</span> matrix</li></ul> <dl><dd><dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle M={\begin{bmatrix}0.5&-0.1&0.7\\0.1&0.5&-0.5\\-0.7&0.5&0.5\\-0.5&-0.7&-0.1\end{bmatrix}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>M</mi> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mn>0.5</mn> </mtd> <mtd> <mo>−<!-- − --></mo> <mn>0.1</mn> </mtd> <mtd> <mn>0.7</mn> </mtd> </mtr> <mtr> <mtd> <mn>0.1</mn> </mtd> <mtd> <mn>0.5</mn> </mtd> <mtd> <mo>−<!-- − --></mo> <mn>0.5</mn> </mtd> </mtr> <mtr> <mtd> <mo>−<!-- − --></mo> <mn>0.7</mn> </mtd> <mtd> <mn>0.5</mn> </mtd> <mtd> <mn>0.5</mn> </mtd> </mtr> <mtr> <mtd> <mo>−<!-- − --></mo> <mn>0.5</mn> </mtd> <mtd> <mo>−<!-- − --></mo> <mn>0.7</mn> </mtd> <mtd> <mo>−<!-- − --></mo> <mn>0.1</mn> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle M={\begin{bmatrix}0.5&-0.1&0.7\\0.1&0.5&-0.5\\-0.7&0.5&0.5\\-0.5&-0.7&-0.1\end{bmatrix}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/34f4a95e2919180c15cb75504e531cf542e66ed7" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -5.671ex; width:28.378ex; height:12.509ex;" alt="{\displaystyle M={\begin{bmatrix}0.5&-0.1&0.7\\0.1&0.5&-0.5\\-0.7&0.5&0.5\\-0.5&-0.7&-0.1\end{bmatrix}}}"></span></dd></dl></dd> <dd>is not square, and so cannot be a rotation matrix; yet <span class="texhtml"><i>M</i><sup>T</sup><i>M</i></span> yields a <span class="nowrap">3 × 3</span> identity matrix (the columns are orthonormal).</dd></dl> <ul><li>The <span class="nowrap">4 × 4</span> matrix</li></ul> <dl><dd><dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle Q=-I={\begin{bmatrix}-1&0&0&0\\0&-1&0&0\\0&0&-1&0\\0&0&0&-1\end{bmatrix}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>Q</mi> <mo>=</mo> <mo>−<!-- − --></mo> <mi>I</mi> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mo>−<!-- − --></mo> <mn>1</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mo>−<!-- − --></mo> <mn>1</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mo>−<!-- − --></mo> <mn>1</mn> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mo>−<!-- − --></mo> <mn>1</mn> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle Q=-I={\begin{bmatrix}-1&0&0&0\\0&-1&0&0\\0&0&-1&0\\0&0&0&-1\end{bmatrix}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/cc4c009da80ef1f2cc1765b26ed1e5324bb4fbec" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -5.671ex; width:33.717ex; height:12.509ex;" alt="{\displaystyle Q=-I={\begin{bmatrix}-1&0&0&0\\0&-1&0&0\\0&0&-1&0\\0&0&0&-1\end{bmatrix}}}"></span></dd></dl></dd> <dd>describes an <a href="/wiki/SO(4)#Isoclinic_rotations" class="mw-redirect" title="SO(4)">isoclinic rotation</a> in four dimensions, a rotation through equal angles (180°) through two orthogonal planes.</dd></dl> <ul><li>The <span class="nowrap">5 × 5</span> rotation matrix</li></ul> <dl><dd><dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle Q={\begin{bmatrix}0&-1&0&0&0\\1&0&0&0&0\\0&0&-1&0&0\\0&0&0&-1&0\\0&0&0&0&1\end{bmatrix}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>Q</mi> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mo>−<!-- − --></mo> <mn>1</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>1</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mo>−<!-- − --></mo> <mn>1</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mo>−<!-- − --></mo> <mn>1</mn> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle Q={\begin{bmatrix}0&-1&0&0&0\\1&0&0&0&0\\0&0&-1&0&0\\0&0&0&-1&0\\0&0&0&0&1\end{bmatrix}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/52107b3a3dbf5c1f8c799c126ea36618752ad5df" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -7.338ex; width:29.316ex; height:15.843ex;" alt="{\displaystyle Q={\begin{bmatrix}0&-1&0&0&0\\1&0&0&0&0\\0&0&-1&0&0\\0&0&0&-1&0\\0&0&0&0&1\end{bmatrix}}}"></span></dd></dl></dd> <dd>rotates vectors in the plane of the first two coordinate axes 90°, rotates vectors in the plane of the next two axes 180°, and leaves the last coordinate axis unmoved.</dd></dl> <p>  </p> </td></tr></tbody></table></div> <div class="mw-heading mw-heading2"><h2 id="Geometry">Geometry</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Rotation_matrix&action=edit&section=16" title="Edit section: Geometry"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>In <a href="/wiki/Euclidean_geometry" title="Euclidean geometry">Euclidean geometry</a>, a rotation is an example of an <a href="/wiki/Isometry" title="Isometry">isometry</a>, a transformation that moves points without changing the distances between them. Rotations are distinguished from other isometries by two additional properties: they leave (at least) one point fixed, and they leave "<a href="/wiki/Chirality" title="Chirality">handedness</a>" unchanged. In contrast, a <a href="/wiki/Translation_(geometry)" title="Translation (geometry)">translation</a> moves every point, a <a href="/wiki/Reflection_(geometry)" class="mw-redirect" title="Reflection (geometry)">reflection</a> exchanges left- and right-handed ordering, a <a href="/wiki/Glide_reflection" title="Glide reflection">glide reflection</a> does both, and an <a href="/wiki/Improper_rotation" title="Improper rotation">improper rotation</a> combines a change in handedness with a normal rotation. </p><p>If a fixed point is taken as the origin of a <a href="/wiki/Cartesian_coordinate_system" title="Cartesian coordinate system">Cartesian coordinate system</a>, then every point can be given coordinates as a displacement from the origin. Thus one may work with the <a href="/wiki/Vector_space" title="Vector space">vector space</a> of displacements instead of the points themselves. Now suppose <span class="texhtml">(<i>p</i><sub>1</sub>, ..., <i>p<sub>n</sub></i>)</span> are the coordinates of the vector <span class="texhtml"><b>p</b></span> from the origin <span class="texhtml mvar" style="font-style:italic;">O</span> to point <span class="texhtml mvar" style="font-style:italic;">P</span>. Choose an <a href="/wiki/Orthonormal_basis" title="Orthonormal basis">orthonormal basis</a> for our coordinates; then the squared distance to <span class="texhtml mvar" style="font-style:italic;">P</span>, by <a href="/wiki/Pythagorean_theorem" title="Pythagorean theorem">Pythagoras</a>, is </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle d^{2}(O,P)=\|\mathbf {p} \|^{2}=\sum _{r=1}^{n}p_{r}^{2}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msup> <mi>d</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mo stretchy="false">(</mo> <mi>O</mi> <mo>,</mo> <mi>P</mi> <mo stretchy="false">)</mo> <mo>=</mo> <mo fence="false" stretchy="false">‖<!-- ‖ --></mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">p</mi> </mrow> <msup> <mo fence="false" stretchy="false">‖<!-- ‖ --></mo> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mo>=</mo> <munderover> <mo>∑<!-- ∑ --></mo> <mrow class="MJX-TeXAtom-ORD"> <mi>r</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mi>n</mi> </mrow> </munderover> <msubsup> <mi>p</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>r</mi> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msubsup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle d^{2}(O,P)=\|\mathbf {p} \|^{2}=\sum _{r=1}^{n}p_{r}^{2}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/0a49bfe603e65af5147d75d9511b083ef291c30b" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -3.005ex; width:25.661ex; height:6.843ex;" alt="{\displaystyle d^{2}(O,P)=\|\mathbf {p} \|^{2}=\sum _{r=1}^{n}p_{r}^{2}}"></span></dd></dl> <p>which can be computed using the matrix multiplication </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \|\mathbf {p} \|^{2}={\begin{bmatrix}p_{1}\cdots p_{n}\end{bmatrix}}{\begin{bmatrix}p_{1}\\\vdots \\p_{n}\end{bmatrix}}=\mathbf {p} ^{\mathsf {T}}\mathbf {p} .}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mo fence="false" stretchy="false">‖<!-- ‖ --></mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">p</mi> </mrow> <msup> <mo fence="false" stretchy="false">‖<!-- ‖ --></mo> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <msub> <mi>p</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>1</mn> </mrow> </msub> <mo>⋯<!-- ⋯ --></mo> <msub> <mi>p</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>n</mi> </mrow> </msub> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <msub> <mi>p</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>1</mn> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <mo>⋮<!-- ⋮ --></mo> </mtd> </mtr> <mtr> <mtd> <msub> <mi>p</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>n</mi> </mrow> </msub> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> <mo>=</mo> <msup> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">p</mi> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="sans-serif">T</mi> </mrow> </mrow> </msup> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">p</mi> </mrow> <mo>.</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \|\mathbf {p} \|^{2}={\begin{bmatrix}p_{1}\cdots p_{n}\end{bmatrix}}{\begin{bmatrix}p_{1}\\\vdots \\p_{n}\end{bmatrix}}=\mathbf {p} ^{\mathsf {T}}\mathbf {p} .}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/c8c08c773f496e44b01627fccb361cf40867245d" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -4.671ex; width:32.424ex; height:10.509ex;" alt="{\displaystyle \|\mathbf {p} \|^{2}={\begin{bmatrix}p_{1}\cdots p_{n}\end{bmatrix}}{\begin{bmatrix}p_{1}\\\vdots \\p_{n}\end{bmatrix}}=\mathbf {p} ^{\mathsf {T}}\mathbf {p} .}"></span></dd></dl> <p>A geometric rotation transforms lines to lines, and preserves ratios of distances between points. From these properties it can be shown that a rotation is a <a href="/wiki/Linear_transformation" class="mw-redirect" title="Linear transformation">linear transformation</a> of the vectors, and thus can be written in <a href="/wiki/Matrix_(mathematics)" title="Matrix (mathematics)">matrix</a> form, <span class="texhtml"><i>Q</i><b>p</b></span>. The fact that a rotation preserves, not just ratios, but distances themselves, is stated as </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {p} ^{\mathsf {T}}\mathbf {p} =(Q\mathbf {p} )^{\mathsf {T}}(Q\mathbf {p} ),}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msup> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">p</mi> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="sans-serif">T</mi> </mrow> </mrow> </msup> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">p</mi> </mrow> <mo>=</mo> <mo stretchy="false">(</mo> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">p</mi> </mrow> <msup> <mo stretchy="false">)</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="sans-serif">T</mi> </mrow> </mrow> </msup> <mo stretchy="false">(</mo> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">p</mi> </mrow> <mo stretchy="false">)</mo> <mo>,</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \mathbf {p} ^{\mathsf {T}}\mathbf {p} =(Q\mathbf {p} )^{\mathsf {T}}(Q\mathbf {p} ),}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/c8806b05a19be0bcdc2c35309fcd60785ce4b9be" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:19.685ex; height:3.176ex;" alt="{\displaystyle \mathbf {p} ^{\mathsf {T}}\mathbf {p} =(Q\mathbf {p} )^{\mathsf {T}}(Q\mathbf {p} ),}"></span></dd></dl> <p>or </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{aligned}\mathbf {p} ^{\mathsf {T}}I\mathbf {p} &{}=\left(\mathbf {p} ^{\mathsf {T}}Q^{\mathsf {T}}\right)(Q\mathbf {p} )\\&{}=\mathbf {p} ^{\mathsf {T}}\left(Q^{\mathsf {T}}Q\right)\mathbf {p} .\end{aligned}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"> <mtr> <mtd> <msup> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">p</mi> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="sans-serif">T</mi> </mrow> </mrow> </msup> <mi>I</mi> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">p</mi> </mrow> </mtd> <mtd> <mi></mi> <mrow class="MJX-TeXAtom-ORD"> </mrow> <mo>=</mo> <mrow> <mo>(</mo> <mrow> <msup> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">p</mi> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="sans-serif">T</mi> </mrow> </mrow> </msup> <msup> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="sans-serif">T</mi> </mrow> </mrow> </msup> </mrow> <mo>)</mo> </mrow> <mo stretchy="false">(</mo> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">p</mi> </mrow> <mo stretchy="false">)</mo> </mtd> </mtr> <mtr> <mtd /> <mtd> <mi></mi> <mrow class="MJX-TeXAtom-ORD"> </mrow> <mo>=</mo> <msup> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">p</mi> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="sans-serif">T</mi> </mrow> </mrow> </msup> <mrow> <mo>(</mo> <mrow> <msup> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="sans-serif">T</mi> </mrow> </mrow> </msup> <mi>Q</mi> </mrow> <mo>)</mo> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">p</mi> </mrow> <mo>.</mo> </mtd> </mtr> </mtable> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\begin{aligned}\mathbf {p} ^{\mathsf {T}}I\mathbf {p} &{}=\left(\mathbf {p} ^{\mathsf {T}}Q^{\mathsf {T}}\right)(Q\mathbf {p} )\\&{}=\mathbf {p} ^{\mathsf {T}}\left(Q^{\mathsf {T}}Q\right)\mathbf {p} .\end{aligned}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/193eae5730a65979824c6c5eab9295ed9711eba2" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -3.005ex; width:23.02ex; height:7.176ex;" alt="{\displaystyle {\begin{aligned}\mathbf {p} ^{\mathsf {T}}I\mathbf {p} &{}=\left(\mathbf {p} ^{\mathsf {T}}Q^{\mathsf {T}}\right)(Q\mathbf {p} )\\&{}=\mathbf {p} ^{\mathsf {T}}\left(Q^{\mathsf {T}}Q\right)\mathbf {p} .\end{aligned}}}"></span></dd></dl> <p>Because this equation holds for all vectors, <span class="texhtml"><b>p</b></span>, one concludes that every rotation matrix, <span class="texhtml"><i>Q</i></span>, satisfies the <b>orthogonality condition</b>, </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle Q^{\mathsf {T}}Q=I.}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msup> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="sans-serif">T</mi> </mrow> </mrow> </msup> <mi>Q</mi> <mo>=</mo> <mi>I</mi> <mo>.</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle Q^{\mathsf {T}}Q=I.}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/26c6d0b11bffaab00cb21dee9ebefc8272e5d304" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:9.945ex; height:3.009ex;" alt="{\displaystyle Q^{\mathsf {T}}Q=I.}"></span></dd></dl> <p>Rotations preserve handedness because they cannot change the ordering of the axes, which implies the <b>special matrix</b> condition, </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \det Q=+1.}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mo movablelimits="true" form="prefix">det</mo> <mi>Q</mi> <mo>=</mo> <mo>+</mo> <mn>1.</mn> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \det Q=+1.}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/fcd72f8748d348ca0c2c807689ac54e45d9a1a7a" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:12.171ex; height:2.509ex;" alt="{\displaystyle \det Q=+1.}"></span></dd></dl> <p>Equally important, it can be shown that any matrix satisfying these two conditions acts as a rotation. </p> <div class="mw-heading mw-heading2"><h2 id="Multiplication">Multiplication</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Rotation_matrix&action=edit&section=17" title="Edit section: Multiplication"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The inverse of a rotation matrix is its transpose, which is also a rotation matrix: </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{aligned}\left(Q^{\mathsf {T}}\right)^{\mathsf {T}}\left(Q^{\mathsf {T}}\right)&=QQ^{\mathsf {T}}=I\\\det Q^{\mathsf {T}}&=\det Q=+1.\end{aligned}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"> <mtr> <mtd> <msup> <mrow> <mo>(</mo> <msup> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="sans-serif">T</mi> </mrow> </mrow> </msup> <mo>)</mo> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="sans-serif">T</mi> </mrow> </mrow> </msup> <mrow> <mo>(</mo> <msup> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="sans-serif">T</mi> </mrow> </mrow> </msup> <mo>)</mo> </mrow> </mtd> <mtd> <mi></mi> <mo>=</mo> <mi>Q</mi> <msup> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="sans-serif">T</mi> </mrow> </mrow> </msup> <mo>=</mo> <mi>I</mi> </mtd> </mtr> <mtr> <mtd> <mo movablelimits="true" form="prefix">det</mo> <msup> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="sans-serif">T</mi> </mrow> </mrow> </msup> </mtd> <mtd> <mi></mi> <mo>=</mo> <mo movablelimits="true" form="prefix">det</mo> <mi>Q</mi> <mo>=</mo> <mo>+</mo> <mn>1.</mn> </mtd> </mtr> </mtable> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\begin{aligned}\left(Q^{\mathsf {T}}\right)^{\mathsf {T}}\left(Q^{\mathsf {T}}\right)&=QQ^{\mathsf {T}}=I\\\det Q^{\mathsf {T}}&=\det Q=+1.\end{aligned}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/a46e377da23fc3fb1f90b0f2615826aa417d1f34" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -3.005ex; width:28.399ex; height:7.176ex;" alt="{\displaystyle {\begin{aligned}\left(Q^{\mathsf {T}}\right)^{\mathsf {T}}\left(Q^{\mathsf {T}}\right)&=QQ^{\mathsf {T}}=I\\\det Q^{\mathsf {T}}&=\det Q=+1.\end{aligned}}}"></span></dd></dl> <p>The product of two rotation matrices is a rotation matrix: </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{aligned}\left(Q_{1}Q_{2}\right)^{\mathsf {T}}\left(Q_{1}Q_{2}\right)&=Q_{2}^{\mathsf {T}}\left(Q_{1}^{\mathsf {T}}Q_{1}\right)Q_{2}=I\\\det \left(Q_{1}Q_{2}\right)&=\left(\det Q_{1}\right)\left(\det Q_{2}\right)=+1.\end{aligned}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"> <mtr> <mtd> <msup> <mrow> <mo>(</mo> <mrow> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>1</mn> </mrow> </msub> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msub> </mrow> <mo>)</mo> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="sans-serif">T</mi> </mrow> </mrow> </msup> <mrow> <mo>(</mo> <mrow> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>1</mn> </mrow> </msub> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msub> </mrow> <mo>)</mo> </mrow> </mtd> <mtd> <mi></mi> <mo>=</mo> <msubsup> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="sans-serif">T</mi> </mrow> </mrow> </msubsup> <mrow> <mo>(</mo> <mrow> <msubsup> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>1</mn> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="sans-serif">T</mi> </mrow> </mrow> </msubsup> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>1</mn> </mrow> </msub> </mrow> <mo>)</mo> </mrow> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msub> <mo>=</mo> <mi>I</mi> </mtd> </mtr> <mtr> <mtd> <mo movablelimits="true" form="prefix">det</mo> <mrow> <mo>(</mo> <mrow> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>1</mn> </mrow> </msub> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msub> </mrow> <mo>)</mo> </mrow> </mtd> <mtd> <mi></mi> <mo>=</mo> <mrow> <mo>(</mo> <mrow> <mo movablelimits="true" form="prefix">det</mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>1</mn> </mrow> </msub> </mrow> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <mrow> <mo movablelimits="true" form="prefix">det</mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msub> </mrow> <mo>)</mo> </mrow> <mo>=</mo> <mo>+</mo> <mn>1.</mn> </mtd> </mtr> </mtable> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\begin{aligned}\left(Q_{1}Q_{2}\right)^{\mathsf {T}}\left(Q_{1}Q_{2}\right)&=Q_{2}^{\mathsf {T}}\left(Q_{1}^{\mathsf {T}}Q_{1}\right)Q_{2}=I\\\det \left(Q_{1}Q_{2}\right)&=\left(\det Q_{1}\right)\left(\det Q_{2}\right)=+1.\end{aligned}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/614ad2678ae2032492938d891c07bd21129dd7e7" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -2.838ex; width:44.517ex; height:6.843ex;" alt="{\displaystyle {\begin{aligned}\left(Q_{1}Q_{2}\right)^{\mathsf {T}}\left(Q_{1}Q_{2}\right)&=Q_{2}^{\mathsf {T}}\left(Q_{1}^{\mathsf {T}}Q_{1}\right)Q_{2}=I\\\det \left(Q_{1}Q_{2}\right)&=\left(\det Q_{1}\right)\left(\det Q_{2}\right)=+1.\end{aligned}}}"></span></dd></dl> <p>For <span class="texhtml"><i>n</i> > 2</span>, multiplication of <span class="texhtml"><i>n</i> × <i>n</i></span> rotation matrices is generally not <a href="/wiki/Commutative" class="mw-redirect" title="Commutative">commutative</a>. </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{aligned}Q_{1}&={\begin{bmatrix}0&-1&0\\1&0&0\\0&0&1\end{bmatrix}}&Q_{2}&={\begin{bmatrix}0&0&1\\0&1&0\\-1&0&0\end{bmatrix}}\\Q_{1}Q_{2}&={\begin{bmatrix}0&-1&0\\0&0&1\\-1&0&0\end{bmatrix}}&Q_{2}Q_{1}&={\begin{bmatrix}0&0&1\\1&0&0\\0&1&0\end{bmatrix}}.\end{aligned}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"> <mtr> <mtd> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>1</mn> </mrow> </msub> </mtd> <mtd> <mi></mi> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mo>−<!-- − --></mo> <mn>1</mn> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>1</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> </mtd> <mtd> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msub> </mtd> <mtd> <mi></mi> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>1</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mn>1</mn> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mo>−<!-- − --></mo> <mn>1</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>1</mn> </mrow> </msub> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msub> </mtd> <mtd> <mi></mi> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mo>−<!-- − --></mo> <mn>1</mn> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>1</mn> </mtd> </mtr> <mtr> <mtd> <mo>−<!-- − --></mo> <mn>1</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> </mtd> <mtd> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msub> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>1</mn> </mrow> </msub> </mtd> <mtd> <mi></mi> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>1</mn> </mtd> </mtr> <mtr> <mtd> <mn>1</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mn>1</mn> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> <mo>.</mo> </mtd> </mtr> </mtable> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\begin{aligned}Q_{1}&={\begin{bmatrix}0&-1&0\\1&0&0\\0&0&1\end{bmatrix}}&Q_{2}&={\begin{bmatrix}0&0&1\\0&1&0\\-1&0&0\end{bmatrix}}\\Q_{1}Q_{2}&={\begin{bmatrix}0&-1&0\\0&0&1\\-1&0&0\end{bmatrix}}&Q_{2}Q_{1}&={\begin{bmatrix}0&0&1\\1&0&0\\0&1&0\end{bmatrix}}.\end{aligned}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/6b7ebecf4b8ddecf86b8f4c1dc8be66dfbea01c7" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -8.838ex; width:52.558ex; height:18.843ex;" alt="{\displaystyle {\begin{aligned}Q_{1}&={\begin{bmatrix}0&-1&0\\1&0&0\\0&0&1\end{bmatrix}}&Q_{2}&={\begin{bmatrix}0&0&1\\0&1&0\\-1&0&0\end{bmatrix}}\\Q_{1}Q_{2}&={\begin{bmatrix}0&-1&0\\0&0&1\\-1&0&0\end{bmatrix}}&Q_{2}Q_{1}&={\begin{bmatrix}0&0&1\\1&0&0\\0&1&0\end{bmatrix}}.\end{aligned}}}"></span></dd></dl> <p>Noting that any <a href="/wiki/Identity_matrix" title="Identity matrix">identity matrix</a> is a rotation matrix, and that matrix multiplication is <a href="/wiki/Associative" class="mw-redirect" title="Associative">associative</a>, we may summarize all these properties by saying that the <span class="texhtml"><i>n</i> × <i>n</i></span> rotation matrices form a <a href="/wiki/Group_(mathematics)" title="Group (mathematics)">group</a>, which for <span class="texhtml"><i>n</i> > 2</span> is <a href="/wiki/Nonabelian_group" class="mw-redirect" title="Nonabelian group">non-abelian</a>, called a <a href="/wiki/Special_orthogonal_group" class="mw-redirect" title="Special orthogonal group">special orthogonal group</a>, and denoted by <span class="texhtml">SO(<i>n</i>)</span>, <span class="texhtml">SO(<i>n</i>,<b>R</b>)</span>, <span class="texhtml">SO<sub><i>n</i></sub></span>, or <span class="texhtml">SO<sub><i>n</i></sub>(<b>R</b>)</span>, the group of <span class="texhtml"><i>n</i> × <i>n</i></span> rotation matrices is isomorphic to the group of rotations in an <span class="nowrap"><span class="texhtml"><i>n</i></span>-dimensional</span> space. This means that multiplication of rotation matrices corresponds to composition of rotations, applied in left-to-right order of their corresponding matrices. </p> <div class="mw-heading mw-heading2"><h2 id="Ambiguities">Ambiguities</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Rotation_matrix&action=edit&section=18" title="Edit section: Ambiguities"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <figure class="mw-halign-right" typeof="mw:File/Thumb"><a href="/wiki/File:Alias_and_alibi_rotations.png" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/6/69/Alias_and_alibi_rotations.png/350px-Alias_and_alibi_rotations.png" decoding="async" width="350" height="248" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/6/69/Alias_and_alibi_rotations.png/525px-Alias_and_alibi_rotations.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/6/69/Alias_and_alibi_rotations.png/700px-Alias_and_alibi_rotations.png 2x" data-file-width="2100" data-file-height="1485" /></a><figcaption>Alias and alibi rotations</figcaption></figure> <p>The interpretation of a rotation matrix can be subject to many ambiguities. </p><p>In most cases the effect of the ambiguity is equivalent to the effect of a rotation matrix <a href="/wiki/Invertible_matrix" title="Invertible matrix">inversion</a> (for these orthogonal matrices equivalently matrix <a href="/wiki/Transpose" title="Transpose">transpose</a>). </p> <dl><dt>Alias or alibi (passive or active) transformation</dt> <dd>The coordinates of a point <span class="texhtml"><i>P</i></span> may change due to either a rotation of the coordinate system <span class="texhtml"><i>CS</i></span> (<a href="/wiki/Active_and_passive_transformation" title="Active and passive transformation">alias</a>), or a rotation of the point <span class="texhtml"><i>P</i></span> (<a href="/wiki/Active_and_passive_transformation" title="Active and passive transformation">alibi</a>). In the latter case, the rotation of <span class="texhtml"><i>P</i></span> also produces a rotation of the vector <span class="texhtml"><b>v</b></span> representing <span class="texhtml"><i>P</i></span>. In other words, either <span class="texhtml"><i>P</i></span> and <span class="texhtml"><b>v</b></span> are fixed while <span class="texhtml"><i>CS</i></span> rotates (alias), or <span class="texhtml"><i>CS</i></span> is fixed while <span class="texhtml"><i>P</i></span> and <span class="texhtml"><b>v</b></span> rotate (alibi). Any given rotation can be legitimately described both ways, as vectors and coordinate systems actually rotate with respect to each other, about the same axis but in opposite directions. Throughout this article, we chose the alibi approach to describe rotations. For instance, <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle R(\theta )={\begin{bmatrix}\cos \theta &-\sin \theta \\\sin \theta &\cos \theta \\\end{bmatrix}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>R</mi> <mo stretchy="false">(</mo> <mi>θ<!-- θ --></mi> <mo stretchy="false">)</mo> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> <mtd> <mo>−<!-- − --></mo> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> </mtr> <mtr> <mtd> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle R(\theta )={\begin{bmatrix}\cos \theta &-\sin \theta \\\sin \theta &\cos \theta \\\end{bmatrix}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/0166e674df67cf24314537211848adec91813945" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -2.505ex; width:24.408ex; height:6.176ex;" alt="{\displaystyle R(\theta )={\begin{bmatrix}\cos \theta &-\sin \theta \\\sin \theta &\cos \theta \\\end{bmatrix}}}"></span></dd></dl></dd> <dd>represents a counterclockwise rotation of a vector <span class="texhtml"><b>v</b></span> by an angle <span class="texhtml"><i>θ</i></span>, or a rotation of <span class="texhtml"><i>CS</i></span> by the same angle but in the opposite direction (i.e. clockwise). Alibi and alias transformations are also known as <a href="/wiki/Active_and_passive_transformation" title="Active and passive transformation">active and passive transformations</a>, respectively.</dd> <dt>Pre-multiplication or post-multiplication</dt> <dd>The same point <span class="texhtml"><i>P</i></span> can be represented either by a <a href="/wiki/Column_vector" class="mw-redirect" title="Column vector">column vector</a> <span class="texhtml"><b>v</b></span> or a <a href="/wiki/Row_vector" class="mw-redirect" title="Row vector">row vector</a> <span class="texhtml"><b>w</b></span>. Rotation matrices can either pre-multiply column vectors (<span class="texhtml"><i>R</i><b>v</b></span>), or post-multiply row vectors (<span class="texhtml"><b>w</b><i>R</i></span>). However, <span class="texhtml"><i>R</i><b>v</b></span> produces a rotation in the opposite direction with respect to <span class="texhtml"><b>w</b><i>R</i></span>. Throughout this article, rotations produced on column vectors are described by means of a pre-multiplication. To obtain exactly the same rotation (i.e. the same final coordinates of point <span class="texhtml"><i>P</i></span>), the equivalent row vector must be post-multiplied by the <a href="/wiki/Transpose" title="Transpose">transpose</a> of <span class="texhtml mvar" style="font-style:italic;">R</span> (i.e. <span class="texhtml"><b>w</b><i>R</i><sup>T</sup></span>).</dd> <dt>Right- or left-handed coordinates</dt> <dd>The matrix and the vector can be represented with respect to a <a href="/wiki/Cartesian_coordinate_system#Orientation_and_handedness" title="Cartesian coordinate system">right-handed</a> or left-handed coordinate system. Throughout the article, we assumed a right-handed orientation, unless otherwise specified.</dd> <dt>Vectors or forms</dt> <dd>The vector space has a <a href="/wiki/Dual_space" title="Dual space">dual space</a> of <a href="/wiki/Linear_form" title="Linear form">linear forms</a>, and the matrix can act on either vectors or forms.</dd></dl> <div class="mw-heading mw-heading2"><h2 id="Decompositions">Decompositions</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Rotation_matrix&action=edit&section=19" title="Edit section: Decompositions"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-heading mw-heading3"><h3 id="Independent_planes">Independent planes</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Rotation_matrix&action=edit&section=20" title="Edit section: Independent planes"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Consider the <span class="nowrap">3 × 3</span> rotation matrix </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle Q={\begin{bmatrix}0.36&0.48&-0.80\\-0.80&0.60&0.00\\0.48&0.64&0.60\end{bmatrix}}.}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>Q</mi> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mn>0.36</mn> </mtd> <mtd> <mn>0.48</mn> </mtd> <mtd> <mo>−<!-- − --></mo> <mn>0.80</mn> </mtd> </mtr> <mtr> <mtd> <mo>−<!-- − --></mo> <mn>0.80</mn> </mtd> <mtd> <mn>0.60</mn> </mtd> <mtd> <mn>0.00</mn> </mtd> </mtr> <mtr> <mtd> <mn>0.48</mn> </mtd> <mtd> <mn>0.64</mn> </mtd> <mtd> <mn>0.60</mn> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> <mo>.</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle Q={\begin{bmatrix}0.36&0.48&-0.80\\-0.80&0.60&0.00\\0.48&0.64&0.60\end{bmatrix}}.}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/f65d9ea2f83afc3f4b7334d1be89934ba496da01" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -4.005ex; width:30.1ex; height:9.176ex;" alt="{\displaystyle Q={\begin{bmatrix}0.36&0.48&-0.80\\-0.80&0.60&0.00\\0.48&0.64&0.60\end{bmatrix}}.}"></span></dd></dl> <p>If <span class="texhtml"><i>Q</i></span> acts in a certain direction, <span class="texhtml"><b>v</b></span>, purely as a scaling by a factor <span class="texhtml mvar" style="font-style:italic;">λ</span>, then we have </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle Q\mathbf {v} =\lambda \mathbf {v} ,}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">v</mi> </mrow> <mo>=</mo> <mi>λ<!-- λ --></mi> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">v</mi> </mrow> <mo>,</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle Q\mathbf {v} =\lambda \mathbf {v} ,}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/b8cf00d5168e5b06032d62232eaf793375169d42" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:9.761ex; height:2.509ex;" alt="{\displaystyle Q\mathbf {v} =\lambda \mathbf {v} ,}"></span></dd></dl> <p>so that </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {0} =(\lambda I-Q)\mathbf {v} .}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mn mathvariant="bold">0</mn> </mrow> <mo>=</mo> <mo stretchy="false">(</mo> <mi>λ<!-- λ --></mi> <mi>I</mi> <mo>−<!-- − --></mo> <mi>Q</mi> <mo stretchy="false">)</mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">v</mi> </mrow> <mo>.</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \mathbf {0} =(\lambda I-Q)\mathbf {v} .}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/766a97bd1be5098fd27992a997ada4350f7c1195" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:15.508ex; height:2.843ex;" alt="{\displaystyle \mathbf {0} =(\lambda I-Q)\mathbf {v} .}"></span></dd></dl> <p>Thus <span class="texhtml mvar" style="font-style:italic;">λ</span> is a root of the <a href="/wiki/Characteristic_polynomial" title="Characteristic polynomial">characteristic polynomial</a> for <span class="texhtml mvar" style="font-style:italic;">Q</span>, </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{aligned}0&{}=\det(\lambda I-Q)\\&{}=\lambda ^{3}-{\tfrac {39}{25}}\lambda ^{2}+{\tfrac {39}{25}}\lambda -1\\&{}=(\lambda -1)\left(\lambda ^{2}-{\tfrac {14}{25}}\lambda +1\right).\end{aligned}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mi></mi> <mrow class="MJX-TeXAtom-ORD"> </mrow> <mo>=</mo> <mo movablelimits="true" form="prefix">det</mo> <mo stretchy="false">(</mo> <mi>λ<!-- λ --></mi> <mi>I</mi> <mo>−<!-- − --></mo> <mi>Q</mi> <mo stretchy="false">)</mo> </mtd> </mtr> <mtr> <mtd /> <mtd> <mi></mi> <mrow class="MJX-TeXAtom-ORD"> </mrow> <mo>=</mo> <msup> <mi>λ<!-- λ --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>3</mn> </mrow> </msup> <mo>−<!-- − --></mo> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="false" scriptlevel="0"> <mfrac> <mn>39</mn> <mn>25</mn> </mfrac> </mstyle> </mrow> <msup> <mi>λ<!-- λ --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mo>+</mo> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="false" scriptlevel="0"> <mfrac> <mn>39</mn> <mn>25</mn> </mfrac> </mstyle> </mrow> <mi>λ<!-- λ --></mi> <mo>−<!-- − --></mo> <mn>1</mn> </mtd> </mtr> <mtr> <mtd /> <mtd> <mi></mi> <mrow class="MJX-TeXAtom-ORD"> </mrow> <mo>=</mo> <mo stretchy="false">(</mo> <mi>λ<!-- λ --></mi> <mo>−<!-- − --></mo> <mn>1</mn> <mo stretchy="false">)</mo> <mrow> <mo>(</mo> <mrow> <msup> <mi>λ<!-- λ --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mo>−<!-- − --></mo> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="false" scriptlevel="0"> <mfrac> <mn>14</mn> <mn>25</mn> </mfrac> </mstyle> </mrow> <mi>λ<!-- λ --></mi> <mo>+</mo> <mn>1</mn> </mrow> <mo>)</mo> </mrow> <mo>.</mo> </mtd> </mtr> </mtable> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\begin{aligned}0&{}=\det(\lambda I-Q)\\&{}=\lambda ^{3}-{\tfrac {39}{25}}\lambda ^{2}+{\tfrac {39}{25}}\lambda -1\\&{}=(\lambda -1)\left(\lambda ^{2}-{\tfrac {14}{25}}\lambda +1\right).\end{aligned}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/c227941ea1b22636bee0368eedc818a30ebd2ad7" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -5.013ex; margin-bottom: -0.325ex; width:29.464ex; height:11.843ex;" alt="{\displaystyle {\begin{aligned}0&{}=\det(\lambda I-Q)\\&{}=\lambda ^{3}-{\tfrac {39}{25}}\lambda ^{2}+{\tfrac {39}{25}}\lambda -1\\&{}=(\lambda -1)\left(\lambda ^{2}-{\tfrac {14}{25}}\lambda +1\right).\end{aligned}}}"></span></dd></dl> <p>Two features are noteworthy. First, one of the roots (or <a href="/wiki/Eigenvalue" class="mw-redirect" title="Eigenvalue">eigenvalues</a>) is 1, which tells us that some direction is unaffected by the matrix. For rotations in three dimensions, this is the <i>axis</i> of the rotation (a concept that has no meaning in any other dimension). Second, the other two roots are a pair of complex conjugates, whose product is 1 (the constant term of the quadratic), and whose sum is <span class="texhtml">2 cos <i>θ</i></span> (the negated linear term). This factorization is of interest for <span class="nowrap">3 × 3</span> rotation matrices because the same thing occurs for all of them. (As special cases, for a null rotation the "complex conjugates" are both 1, and for a 180° rotation they are both −1.) Furthermore, a similar factorization holds for any <span class="texhtml"><i>n</i> × <i>n</i></span> rotation matrix. If the dimension, <span class="texhtml mvar" style="font-style:italic;">n</span>, is odd, there will be a "dangling" eigenvalue of 1; and for any dimension the rest of the polynomial factors into quadratic terms like the one here (with the two special cases noted). We are guaranteed that the characteristic polynomial will have degree <span class="texhtml mvar" style="font-style:italic;">n</span> and thus <span class="texhtml mvar" style="font-style:italic;">n</span> eigenvalues. And since a rotation matrix commutes with its transpose, it is a <a href="/wiki/Normal_matrix" title="Normal matrix">normal matrix</a>, so can be diagonalized. We conclude that every rotation matrix, when expressed in a suitable coordinate system, partitions into independent rotations of two-dimensional subspaces, at most <span class="texhtml"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1214402035"><span class="sfrac">⁠<span class="tion"><span class="num"><i>n</i></span><span class="sr-only">/</span><span class="den">2</span></span>⁠</span></span> of them. </p><p>The sum of the entries on the main diagonal of a matrix is called the <a href="/wiki/Trace_(linear_algebra)" title="Trace (linear algebra)">trace</a>; it does not change if we reorient the coordinate system, and always equals the sum of the eigenvalues. This has the convenient implication for <span class="nowrap">2 × 2</span> and <span class="nowrap">3 × 3</span> rotation matrices that the trace reveals the <a href="/wiki/Angle_of_rotation" class="mw-redirect" title="Angle of rotation">angle of rotation</a>, <span class="texhtml mvar" style="font-style:italic;">θ</span>, in the two-dimensional space (or subspace). For a <span class="nowrap">2 × 2</span> matrix the trace is <span class="texhtml">2 cos <i>θ</i></span>, and for a <span class="nowrap">3 × 3</span> matrix it is <span class="texhtml">1 + 2 cos <i>θ</i></span>. In the three-dimensional case, the subspace consists of all vectors perpendicular to the rotation axis (the invariant direction, with eigenvalue 1). Thus we can extract from any <span class="nowrap">3 × 3</span> rotation matrix a rotation axis and an angle, and these completely determine the rotation. </p> <div class="mw-heading mw-heading3"><h3 id="Sequential_angles">Sequential angles</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Rotation_matrix&action=edit&section=21" title="Edit section: Sequential angles"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The constraints on a <span class="nowrap">2 × 2</span> rotation matrix imply that it must have the form </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle Q={\begin{bmatrix}a&-b\\b&a\end{bmatrix}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>Q</mi> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mi>a</mi> </mtd> <mtd> <mo>−<!-- − --></mo> <mi>b</mi> </mtd> </mtr> <mtr> <mtd> <mi>b</mi> </mtd> <mtd> <mi>a</mi> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle Q={\begin{bmatrix}a&-b\\b&a\end{bmatrix}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/85d794fd5d0d0688d0f732abc1b61363be36d380" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -2.505ex; width:14.501ex; height:6.176ex;" alt="{\displaystyle Q={\begin{bmatrix}a&-b\\b&a\end{bmatrix}}}"></span></dd></dl> <p>with <span class="texhtml"><i>a</i><sup>2</sup> + <i>b</i><sup>2</sup> = 1</span>. Therefore, we may set <span class="texhtml"><i>a</i> = cos <i>θ</i></span> and <span class="texhtml"><i>b</i> = sin <i>θ</i></span>, for some angle <span class="texhtml mvar" style="font-style:italic;">θ</span>. To solve for <span class="texhtml mvar" style="font-style:italic;">θ</span> it is not enough to look at <span class="texhtml mvar" style="font-style:italic;">a</span> alone or <span class="texhtml mvar" style="font-style:italic;">b</span> alone; we must consider both together to place the angle in the correct <a href="/wiki/Cartesian_coordinate_system#Cartesian_coordinates_in_two_dimensions" title="Cartesian coordinate system">quadrant</a>, using a <a href="/wiki/Atan2" title="Atan2">two-argument arctangent</a> function. </p><p>Now consider the first column of a <span class="nowrap">3 × 3</span> rotation matrix, </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{bmatrix}a\\b\\c\end{bmatrix}}.}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mi>a</mi> </mtd> </mtr> <mtr> <mtd> <mi>b</mi> </mtd> </mtr> <mtr> <mtd> <mi>c</mi> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> <mo>.</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\begin{bmatrix}a\\b\\c\end{bmatrix}}.}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/335b82f9ca729dcf48231621643c924213f29aed" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -4.005ex; width:5.729ex; height:9.176ex;" alt="{\displaystyle {\begin{bmatrix}a\\b\\c\end{bmatrix}}.}"></span></dd></dl> <p>Although <span class="texhtml"><i>a</i><sup>2</sup> + <i>b</i><sup>2</sup></span> will probably not equal 1, but some value <span class="texhtml"><i>r</i><sup>2</sup> < 1</span>, we can use a slight variation of the previous computation to find a so-called <a href="/wiki/Givens_rotation" title="Givens rotation">Givens rotation</a> that transforms the column to </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{bmatrix}r\\0\\c\end{bmatrix}},}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mi>r</mi> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mi>c</mi> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> <mo>,</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\begin{bmatrix}r\\0\\c\end{bmatrix}},}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/6d4e66bf93e6658a7cf3c9b6aa38ace60947afac" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -4.005ex; width:5.661ex; height:9.176ex;" alt="{\displaystyle {\begin{bmatrix}r\\0\\c\end{bmatrix}},}"></span></dd></dl> <p>zeroing <span class="texhtml mvar" style="font-style:italic;">b</span>. This acts on the subspace spanned by the <span class="texhtml mvar" style="font-style:italic;">x</span>- and <span class="texhtml mvar" style="font-style:italic;">y</span>-axes. We can then repeat the process for the <span class="texhtml mvar" style="font-style:italic;">xz</span>-subspace to zero <span class="texhtml mvar" style="font-style:italic;">c</span>. Acting on the full matrix, these two rotations produce the schematic form </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle Q_{xz}Q_{xy}Q={\begin{bmatrix}1&0&0\\0&\ast &\ast \\0&\ast &\ast \end{bmatrix}}.}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> <mi>z</mi> </mrow> </msub> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> <mi>y</mi> </mrow> </msub> <mi>Q</mi> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mn>1</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mo>∗<!-- ∗ --></mo> </mtd> <mtd> <mo>∗<!-- ∗ --></mo> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mo>∗<!-- ∗ --></mo> </mtd> <mtd> <mo>∗<!-- ∗ --></mo> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> <mo>.</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle Q_{xz}Q_{xy}Q={\begin{bmatrix}1&0&0\\0&\ast &\ast \\0&\ast &\ast \end{bmatrix}}.}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/6cbc1e770a22d2e6aa8d70111843638fd34cd444" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -4.005ex; width:25.176ex; height:9.176ex;" alt="{\displaystyle Q_{xz}Q_{xy}Q={\begin{bmatrix}1&0&0\\0&\ast &\ast \\0&\ast &\ast \end{bmatrix}}.}"></span></dd></dl> <p>Shifting attention to the second column, a Givens rotation of the <span class="texhtml mvar" style="font-style:italic;">yz</span>-subspace can now zero the <span class="texhtml mvar" style="font-style:italic;">z</span> value. This brings the full matrix to the form </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle Q_{yz}Q_{xz}Q_{xy}Q={\begin{bmatrix}1&0&0\\0&1&0\\0&0&1\end{bmatrix}},}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> <mi>z</mi> </mrow> </msub> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> <mi>z</mi> </mrow> </msub> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> <mi>y</mi> </mrow> </msub> <mi>Q</mi> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mn>1</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mn>1</mn> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> <mo>,</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle Q_{yz}Q_{xz}Q_{xy}Q={\begin{bmatrix}1&0&0\\0&1&0\\0&0&1\end{bmatrix}},}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/d30c6434e9cc56b54b2251483805c1f909ff8353" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -4.005ex; width:28.833ex; height:9.176ex;" alt="{\displaystyle Q_{yz}Q_{xz}Q_{xy}Q={\begin{bmatrix}1&0&0\\0&1&0\\0&0&1\end{bmatrix}},}"></span></dd></dl> <p>which is an identity matrix. Thus we have decomposed <span class="texhtml mvar" style="font-style:italic;">Q</span> as </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle Q=Q_{xy}^{-1}Q_{xz}^{-1}Q_{yz}^{-1}.}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>Q</mi> <mo>=</mo> <msubsup> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> <mi>y</mi> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mo>−<!-- − --></mo> <mn>1</mn> </mrow> </msubsup> <msubsup> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> <mi>z</mi> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mo>−<!-- − --></mo> <mn>1</mn> </mrow> </msubsup> <msubsup> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> <mi>z</mi> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mo>−<!-- − --></mo> <mn>1</mn> </mrow> </msubsup> <mo>.</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle Q=Q_{xy}^{-1}Q_{xz}^{-1}Q_{yz}^{-1}.}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/03ca0b331e9dfe332c5a3c8feaafd70568e93c68" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:18.097ex; height:3.343ex;" alt="{\displaystyle Q=Q_{xy}^{-1}Q_{xz}^{-1}Q_{yz}^{-1}.}"></span></dd></dl> <p>An <span class="texhtml"><i>n</i> × <i>n</i></span> rotation matrix will have <span class="texhtml">(<i>n</i> − 1) + (<i>n</i> − 2) + ⋯ + 2 + 1</span>, or </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \sum _{k=1}^{n-1}k={\frac {1}{2}}n(n-1)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <munderover> <mo>∑<!-- ∑ --></mo> <mrow class="MJX-TeXAtom-ORD"> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mi>n</mi> <mo>−<!-- − --></mo> <mn>1</mn> </mrow> </munderover> <mi>k</mi> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> </mrow> <mi>n</mi> <mo stretchy="false">(</mo> <mi>n</mi> <mo>−<!-- − --></mo> <mn>1</mn> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \sum _{k=1}^{n-1}k={\frac {1}{2}}n(n-1)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/19cea95a3adc319aad468770211adf80ed265ef7" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -3.005ex; width:18.652ex; height:7.343ex;" alt="{\displaystyle \sum _{k=1}^{n-1}k={\frac {1}{2}}n(n-1)}"></span></dd></dl> <p>entries below the diagonal to zero. We can zero them by extending the same idea of stepping through the columns with a series of rotations in a fixed sequence of planes. We conclude that the set of <span class="texhtml"><i>n</i> × <i>n</i></span> rotation matrices, each of which has <span class="texhtml"><i>n</i><sup>2</sup></span> entries, can be parameterized by <span class="texhtml"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1214402035"><span class="sfrac">⁠<span class="tion"><span class="num">1</span><span class="sr-only">/</span><span class="den">2</span></span>⁠</span><i>n</i>(<i>n</i> − 1)</span> angles. </p> <table border="1" cellspacing="0" cellpadding="4" style="float:right; margin-left:1em"> <tbody><tr> <td><span class="texhtml"><i>xzx</i><sub>w</sub></span></td> <td><span class="texhtml"><i>xzy</i><sub>w</sub></span></td> <td><span class="texhtml"><i>xyx</i><sub>w</sub></span></td> <td><span class="texhtml"><i>xyz</i><sub>w</sub></span> </td></tr> <tr> <td><span class="texhtml"><i>yxy</i><sub>w</sub></span></td> <td><span class="texhtml"><i>yxz</i><sub>w</sub></span></td> <td><span class="texhtml"><i>yzy</i><sub>w</sub></span></td> <td><span class="texhtml"><i>yzx</i><sub>w</sub></span> </td></tr> <tr> <td><span class="texhtml"><i>zyz</i><sub>w</sub></span></td> <td><span class="texhtml"><i>zyx</i><sub>w</sub></span></td> <td><span class="texhtml"><i>zxz</i><sub>w</sub></span></td> <td><span class="texhtml"><i>zxy</i><sub>w</sub></span> </td></tr> <tr> <td><span class="texhtml"><i>xzx</i><sub>b</sub></span></td> <td><span class="texhtml"><i>yzx</i><sub>b</sub></span></td> <td><span class="texhtml"><i>xyx</i><sub>b</sub></span></td> <td><span class="texhtml"><i>zyx</i><sub>b</sub></span> </td></tr> <tr> <td><span class="texhtml"><i>yxy</i><sub>b</sub></span></td> <td><span class="texhtml"><i>zxy</i><sub>b</sub></span></td> <td><span class="texhtml"><i>yzy</i><sub>b</sub></span></td> <td><span class="texhtml"><i>xzy</i><sub>b</sub></span> </td></tr> <tr> <td><span class="texhtml"><i>zyz</i><sub>b</sub></span></td> <td><span class="texhtml"><i>xyz</i><sub>b</sub></span></td> <td><span class="texhtml"><i>zxz</i><sub>b</sub></span></td> <td><span class="texhtml"><i>yxz</i><sub>b</sub></span> </td></tr></tbody></table> <p>In three dimensions this restates in matrix form an observation made by <a href="/wiki/Leonhard_Euler" title="Leonhard Euler">Euler</a>, so mathematicians call the ordered sequence of three angles <a href="/wiki/Euler_angles" title="Euler angles">Euler angles</a>. However, the situation is somewhat more complicated than we have so far indicated. Despite the small dimension, we actually have considerable freedom in the sequence of axis pairs we use; and we also have some freedom in the choice of angles. Thus we find many different conventions employed when three-dimensional rotations are parameterized for physics, or medicine, or chemistry, or other disciplines. When we include the option of world axes or body axes, 24 different sequences are possible. And while some disciplines call any sequence Euler angles, others give different names (Cardano, Tait–Bryan, <a href="/wiki/Roll-pitch-yaw" class="mw-redirect" title="Roll-pitch-yaw">roll-pitch-yaw</a>) to different sequences. </p><p>One reason for the large number of options is that, as noted previously, rotations in three dimensions (and higher) do not commute. If we reverse a given sequence of rotations, we get a different outcome. This also implies that we cannot compose two rotations by adding their corresponding angles. Thus Euler angles are not <a href="/wiki/Vector_space" title="Vector space">vectors</a>, despite a similarity in appearance as a triplet of numbers. </p> <div class="mw-heading mw-heading3"><h3 id="Nested_dimensions">Nested dimensions</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Rotation_matrix&action=edit&section=22" title="Edit section: Nested dimensions"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>A <span class="nowrap">3 × 3</span> rotation matrix such as </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle Q_{3\times 3}={\begin{bmatrix}\cos \theta &-\sin \theta &{\color {CadetBlue}0}\\\sin \theta &\cos \theta &{\color {CadetBlue}0}\\{\color {CadetBlue}0}&{\color {CadetBlue}0}&{\color {CadetBlue}1}\end{bmatrix}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>3</mn> <mo>×<!-- × --></mo> <mn>3</mn> </mrow> </msub> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> <mtd> <mo>−<!-- − --></mo> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> <mtd> <mrow class="MJX-TeXAtom-ORD"> <mstyle mathcolor="#74729A"> <mn>0</mn> </mstyle> </mrow> </mtd> </mtr> <mtr> <mtd> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> <mtd> <mrow class="MJX-TeXAtom-ORD"> <mstyle mathcolor="#74729A"> <mn>0</mn> </mstyle> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow class="MJX-TeXAtom-ORD"> <mstyle mathcolor="#74729A"> <mn>0</mn> </mstyle> </mrow> </mtd> <mtd> <mrow class="MJX-TeXAtom-ORD"> <mstyle mathcolor="#74729A"> <mn>0</mn> </mstyle> </mrow> </mtd> <mtd> <mrow class="MJX-TeXAtom-ORD"> <mstyle mathcolor="#74729A"> <mn>1</mn> </mstyle> </mrow> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle Q_{3\times 3}={\begin{bmatrix}\cos \theta &-\sin \theta &{\color {CadetBlue}0}\\\sin \theta &\cos \theta &{\color {CadetBlue}0}\\{\color {CadetBlue}0}&{\color {CadetBlue}0}&{\color {CadetBlue}1}\end{bmatrix}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/e189f56a89248c70d5757a4e77c82f8e1f8917c4" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -4.005ex; width:28.868ex; height:9.176ex;" alt="{\displaystyle Q_{3\times 3}={\begin{bmatrix}\cos \theta &-\sin \theta &{\color {CadetBlue}0}\\\sin \theta &\cos \theta &{\color {CadetBlue}0}\\{\color {CadetBlue}0}&{\color {CadetBlue}0}&{\color {CadetBlue}1}\end{bmatrix}}}"></span></dd></dl> <p>suggests a <span class="nowrap">2 × 2</span> rotation matrix, </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle Q_{2\times 2}={\begin{bmatrix}\cos \theta &-\sin \theta \\\sin \theta &\cos \theta \end{bmatrix}},}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> <mo>×<!-- × --></mo> <mn>2</mn> </mrow> </msub> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> <mtd> <mo>−<!-- − --></mo> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> </mtr> <mtr> <mtd> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> <mo>,</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle Q_{2\times 2}={\begin{bmatrix}\cos \theta &-\sin \theta \\\sin \theta &\cos \theta \end{bmatrix}},}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/d787fcf57c814a8b2d88e3f54eeb87e53318339b" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -2.505ex; width:25.385ex; height:6.176ex;" alt="{\displaystyle Q_{2\times 2}={\begin{bmatrix}\cos \theta &-\sin \theta \\\sin \theta &\cos \theta \end{bmatrix}},}"></span></dd></dl> <p>is embedded in the upper left corner: </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle Q_{3\times 3}=\left[{\begin{matrix}Q_{2\times 2}&\mathbf {0} \\\mathbf {0} ^{\mathsf {T}}&1\end{matrix}}\right].}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>3</mn> <mo>×<!-- × --></mo> <mn>3</mn> </mrow> </msub> <mo>=</mo> <mrow> <mo>[</mo> <mrow class="MJX-TeXAtom-ORD"> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> <mo>×<!-- × --></mo> <mn>2</mn> </mrow> </msub> </mtd> <mtd> <mrow class="MJX-TeXAtom-ORD"> <mn mathvariant="bold">0</mn> </mrow> </mtd> </mtr> <mtr> <mtd> <msup> <mrow class="MJX-TeXAtom-ORD"> <mn mathvariant="bold">0</mn> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="sans-serif">T</mi> </mrow> </mrow> </msup> </mtd> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mrow> <mo>]</mo> </mrow> <mo>.</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle Q_{3\times 3}=\left[{\begin{matrix}Q_{2\times 2}&\mathbf {0} \\\mathbf {0} ^{\mathsf {T}}&1\end{matrix}}\right].}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/6f439ce8b73f47040b70c9b64ab7fa89d91c46a6" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -2.505ex; width:20.984ex; height:6.176ex;" alt="{\displaystyle Q_{3\times 3}=\left[{\begin{matrix}Q_{2\times 2}&\mathbf {0} \\\mathbf {0} ^{\mathsf {T}}&1\end{matrix}}\right].}"></span></dd></dl> <p>This is no illusion; not just one, but many, copies of <span class="texhtml mvar" style="font-style:italic;">n</span>-dimensional rotations are found within <span class="texhtml">(<i>n</i> + 1)</span>-dimensional rotations, as <a href="/wiki/Subgroup" title="Subgroup">subgroups</a>. Each embedding leaves one direction fixed, which in the case of <span class="nowrap">3 × 3</span> matrices is the rotation axis. For example, we have </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{aligned}Q_{\mathbf {x} }(\theta )&={\begin{bmatrix}{\color {CadetBlue}1}&{\color {CadetBlue}0}&{\color {CadetBlue}0}\\{\color {CadetBlue}0}&\cos \theta &-\sin \theta \\{\color {CadetBlue}0}&\sin \theta &\cos \theta \end{bmatrix}},\\[8px]Q_{\mathbf {y} }(\theta )&={\begin{bmatrix}\cos \theta &{\color {CadetBlue}0}&\sin \theta \\{\color {CadetBlue}0}&{\color {CadetBlue}1}&{\color {CadetBlue}0}\\-\sin \theta &{\color {CadetBlue}0}&\cos \theta \end{bmatrix}},\\[8px]Q_{\mathbf {z} }(\theta )&={\begin{bmatrix}\cos \theta &-\sin \theta &{\color {CadetBlue}0}\\\sin \theta &\cos \theta &{\color {CadetBlue}0}\\{\color {CadetBlue}0}&{\color {CadetBlue}0}&{\color {CadetBlue}1}\end{bmatrix}},\end{aligned}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mtable columnalign="right left right left right left right left right left right left" rowspacing="1.1em 1.1em 0.3em" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"> <mtr> <mtd> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">x</mi> </mrow> </mrow> </msub> <mo stretchy="false">(</mo> <mi>θ<!-- θ --></mi> <mo stretchy="false">)</mo> </mtd> <mtd> <mi></mi> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mrow class="MJX-TeXAtom-ORD"> <mstyle mathcolor="#74729A"> <mn>1</mn> </mstyle> </mrow> </mtd> <mtd> <mrow class="MJX-TeXAtom-ORD"> <mstyle mathcolor="#74729A"> <mn>0</mn> </mstyle> </mrow> </mtd> <mtd> <mrow class="MJX-TeXAtom-ORD"> <mstyle mathcolor="#74729A"> <mn>0</mn> </mstyle> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow class="MJX-TeXAtom-ORD"> <mstyle mathcolor="#74729A"> <mn>0</mn> </mstyle> </mrow> </mtd> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> <mtd> <mo>−<!-- − --></mo> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> </mtr> <mtr> <mtd> <mrow class="MJX-TeXAtom-ORD"> <mstyle mathcolor="#74729A"> <mn>0</mn> </mstyle> </mrow> </mtd> <mtd> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> <mo>,</mo> </mtd> </mtr> <mtr> <mtd> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">y</mi> </mrow> </mrow> </msub> <mo stretchy="false">(</mo> <mi>θ<!-- θ --></mi> <mo stretchy="false">)</mo> </mtd> <mtd> <mi></mi> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> <mtd> <mrow class="MJX-TeXAtom-ORD"> <mstyle mathcolor="#74729A"> <mn>0</mn> </mstyle> </mrow> </mtd> <mtd> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> </mtr> <mtr> <mtd> <mrow class="MJX-TeXAtom-ORD"> <mstyle mathcolor="#74729A"> <mn>0</mn> </mstyle> </mrow> </mtd> <mtd> <mrow class="MJX-TeXAtom-ORD"> <mstyle mathcolor="#74729A"> <mn>1</mn> </mstyle> </mrow> </mtd> <mtd> <mrow class="MJX-TeXAtom-ORD"> <mstyle mathcolor="#74729A"> <mn>0</mn> </mstyle> </mrow> </mtd> </mtr> <mtr> <mtd> <mo>−<!-- − --></mo> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> <mtd> <mrow class="MJX-TeXAtom-ORD"> <mstyle mathcolor="#74729A"> <mn>0</mn> </mstyle> </mrow> </mtd> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> <mo>,</mo> </mtd> </mtr> <mtr> <mtd> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">z</mi> </mrow> </mrow> </msub> <mo stretchy="false">(</mo> <mi>θ<!-- θ --></mi> <mo stretchy="false">)</mo> </mtd> <mtd> <mi></mi> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> <mtd> <mo>−<!-- − --></mo> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> <mtd> <mrow class="MJX-TeXAtom-ORD"> <mstyle mathcolor="#74729A"> <mn>0</mn> </mstyle> </mrow> </mtd> </mtr> <mtr> <mtd> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> <mtd> <mrow class="MJX-TeXAtom-ORD"> <mstyle mathcolor="#74729A"> <mn>0</mn> </mstyle> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow class="MJX-TeXAtom-ORD"> <mstyle mathcolor="#74729A"> <mn>0</mn> </mstyle> </mrow> </mtd> <mtd> <mrow class="MJX-TeXAtom-ORD"> <mstyle mathcolor="#74729A"> <mn>0</mn> </mstyle> </mrow> </mtd> <mtd> <mrow class="MJX-TeXAtom-ORD"> <mstyle mathcolor="#74729A"> <mn>1</mn> </mstyle> </mrow> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> <mo>,</mo> </mtd> </mtr> </mtable> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\begin{aligned}Q_{\mathbf {x} }(\theta )&={\begin{bmatrix}{\color {CadetBlue}1}&{\color {CadetBlue}0}&{\color {CadetBlue}0}\\{\color {CadetBlue}0}&\cos \theta &-\sin \theta \\{\color {CadetBlue}0}&\sin \theta &\cos \theta \end{bmatrix}},\\[8px]Q_{\mathbf {y} }(\theta )&={\begin{bmatrix}\cos \theta &{\color {CadetBlue}0}&\sin \theta \\{\color {CadetBlue}0}&{\color {CadetBlue}1}&{\color {CadetBlue}0}\\-\sin \theta &{\color {CadetBlue}0}&\cos \theta \end{bmatrix}},\\[8px]Q_{\mathbf {z} }(\theta )&={\begin{bmatrix}\cos \theta &-\sin \theta &{\color {CadetBlue}0}\\\sin \theta &\cos \theta &{\color {CadetBlue}0}\\{\color {CadetBlue}0}&{\color {CadetBlue}0}&{\color {CadetBlue}1}\end{bmatrix}},\end{aligned}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/63ce9d4e595deed5ef5572d36ec99821e1b021e2" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -15.505ex; width:31.242ex; height:32.176ex;" alt="{\displaystyle {\begin{aligned}Q_{\mathbf {x} }(\theta )&={\begin{bmatrix}{\color {CadetBlue}1}&{\color {CadetBlue}0}&{\color {CadetBlue}0}\\{\color {CadetBlue}0}&\cos \theta &-\sin \theta \\{\color {CadetBlue}0}&\sin \theta &\cos \theta \end{bmatrix}},\\[8px]Q_{\mathbf {y} }(\theta )&={\begin{bmatrix}\cos \theta &{\color {CadetBlue}0}&\sin \theta \\{\color {CadetBlue}0}&{\color {CadetBlue}1}&{\color {CadetBlue}0}\\-\sin \theta &{\color {CadetBlue}0}&\cos \theta \end{bmatrix}},\\[8px]Q_{\mathbf {z} }(\theta )&={\begin{bmatrix}\cos \theta &-\sin \theta &{\color {CadetBlue}0}\\\sin \theta &\cos \theta &{\color {CadetBlue}0}\\{\color {CadetBlue}0}&{\color {CadetBlue}0}&{\color {CadetBlue}1}\end{bmatrix}},\end{aligned}}}"></span></dd></dl> <p>fixing the <span class="texhtml mvar" style="font-style:italic;">x</span>-axis, the <span class="texhtml mvar" style="font-style:italic;">y</span>-axis, and the <span class="texhtml mvar" style="font-style:italic;">z</span>-axis, respectively. The rotation axis need not be a coordinate axis; if <span class="texhtml"><b>u</b> = (<i>x</i>,<i>y</i>,<i>z</i>)</span> is a unit vector in the desired direction, then </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{aligned}Q_{\mathbf {u} }(\theta )&={\begin{bmatrix}0&-z&y\\z&0&-x\\-y&x&0\end{bmatrix}}\sin \theta +\left(I-\mathbf {u} \mathbf {u} ^{\mathsf {T}}\right)\cos \theta +\mathbf {u} \mathbf {u} ^{\mathsf {T}}\\[8px]&={\begin{bmatrix}\left(1-x^{2}\right)c_{\theta }+x^{2}&-zs_{\theta }-xyc_{\theta }+xy&ys_{\theta }-xzc_{\theta }+xz\\zs_{\theta }-xyc_{\theta }+xy&\left(1-y^{2}\right)c_{\theta }+y^{2}&-xs_{\theta }-yzc_{\theta }+yz\\-ys_{\theta }-xzc_{\theta }+xz&xs_{\theta }-yzc_{\theta }+yz&\left(1-z^{2}\right)c_{\theta }+z^{2}\end{bmatrix}}\\[8px]&={\begin{bmatrix}x^{2}(1-c_{\theta })+c_{\theta }&xy(1-c_{\theta })-zs_{\theta }&xz(1-c_{\theta })+ys_{\theta }\\xy(1-c_{\theta })+zs_{\theta }&y^{2}(1-c_{\theta })+c_{\theta }&yz(1-c_{\theta })-xs_{\theta }\\xz(1-c_{\theta })-ys_{\theta }&yz(1-c_{\theta })+xs_{\theta }&z^{2}(1-c_{\theta })+c_{\theta }\end{bmatrix}},\end{aligned}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mtable columnalign="right left right left right left right left right left right left" rowspacing="1.1em 1.1em 0.3em" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"> <mtr> <mtd> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> </mrow> </msub> <mo stretchy="false">(</mo> <mi>θ<!-- θ --></mi> <mo stretchy="false">)</mo> </mtd> <mtd> <mi></mi> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mo>−<!-- − --></mo> <mi>z</mi> </mtd> <mtd> <mi>y</mi> </mtd> </mtr> <mtr> <mtd> <mi>z</mi> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mo>−<!-- − --></mo> <mi>x</mi> </mtd> </mtr> <mtr> <mtd> <mo>−<!-- − --></mo> <mi>y</mi> </mtd> <mtd> <mi>x</mi> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> <mo>+</mo> <mrow> <mo>(</mo> <mrow> <mi>I</mi> <mo>−<!-- − --></mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> <msup> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="sans-serif">T</mi> </mrow> </mrow> </msup> </mrow> <mo>)</mo> </mrow> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> <mo>+</mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> <msup> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="sans-serif">T</mi> </mrow> </mrow> </msup> </mtd> </mtr> <mtr> <mtd /> <mtd> <mi></mi> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mrow> <mo>(</mo> <mrow> <mn>1</mn> <mo>−<!-- − --></mo> <msup> <mi>x</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> </mrow> <mo>)</mo> </mrow> <msub> <mi>c</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>θ<!-- θ --></mi> </mrow> </msub> <mo>+</mo> <msup> <mi>x</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> </mtd> <mtd> <mo>−<!-- − --></mo> <mi>z</mi> <msub> <mi>s</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>θ<!-- θ --></mi> </mrow> </msub> <mo>−<!-- − --></mo> <mi>x</mi> <mi>y</mi> <msub> <mi>c</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>θ<!-- θ --></mi> </mrow> </msub> <mo>+</mo> <mi>x</mi> <mi>y</mi> </mtd> <mtd> <mi>y</mi> <msub> <mi>s</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>θ<!-- θ --></mi> </mrow> </msub> <mo>−<!-- − --></mo> <mi>x</mi> <mi>z</mi> <msub> <mi>c</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>θ<!-- θ --></mi> </mrow> </msub> <mo>+</mo> <mi>x</mi> <mi>z</mi> </mtd> </mtr> <mtr> <mtd> <mi>z</mi> <msub> <mi>s</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>θ<!-- θ --></mi> </mrow> </msub> <mo>−<!-- − --></mo> <mi>x</mi> <mi>y</mi> <msub> <mi>c</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>θ<!-- θ --></mi> </mrow> </msub> <mo>+</mo> <mi>x</mi> <mi>y</mi> </mtd> <mtd> <mrow> <mo>(</mo> <mrow> <mn>1</mn> <mo>−<!-- − --></mo> <msup> <mi>y</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> </mrow> <mo>)</mo> </mrow> <msub> <mi>c</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>θ<!-- θ --></mi> </mrow> </msub> <mo>+</mo> <msup> <mi>y</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> </mtd> <mtd> <mo>−<!-- − --></mo> <mi>x</mi> <msub> <mi>s</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>θ<!-- θ --></mi> </mrow> </msub> <mo>−<!-- − --></mo> <mi>y</mi> <mi>z</mi> <msub> <mi>c</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>θ<!-- θ --></mi> </mrow> </msub> <mo>+</mo> <mi>y</mi> <mi>z</mi> </mtd> </mtr> <mtr> <mtd> <mo>−<!-- − --></mo> <mi>y</mi> <msub> <mi>s</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>θ<!-- θ --></mi> </mrow> </msub> <mo>−<!-- − --></mo> <mi>x</mi> <mi>z</mi> <msub> <mi>c</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>θ<!-- θ --></mi> </mrow> </msub> <mo>+</mo> <mi>x</mi> <mi>z</mi> </mtd> <mtd> <mi>x</mi> <msub> <mi>s</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>θ<!-- θ --></mi> </mrow> </msub> <mo>−<!-- − --></mo> <mi>y</mi> <mi>z</mi> <msub> <mi>c</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>θ<!-- θ --></mi> </mrow> </msub> <mo>+</mo> <mi>y</mi> <mi>z</mi> </mtd> <mtd> <mrow> <mo>(</mo> <mrow> <mn>1</mn> <mo>−<!-- − --></mo> <msup> <mi>z</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> </mrow> <mo>)</mo> </mrow> <msub> <mi>c</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>θ<!-- θ --></mi> </mrow> </msub> <mo>+</mo> <msup> <mi>z</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd /> <mtd> <mi></mi> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <msup> <mi>x</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mo stretchy="false">(</mo> <mn>1</mn> <mo>−<!-- − --></mo> <msub> <mi>c</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>θ<!-- θ --></mi> </mrow> </msub> <mo stretchy="false">)</mo> <mo>+</mo> <msub> <mi>c</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>θ<!-- θ --></mi> </mrow> </msub> </mtd> <mtd> <mi>x</mi> <mi>y</mi> <mo stretchy="false">(</mo> <mn>1</mn> <mo>−<!-- − --></mo> <msub> <mi>c</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>θ<!-- θ --></mi> </mrow> </msub> <mo stretchy="false">)</mo> <mo>−<!-- − --></mo> <mi>z</mi> <msub> <mi>s</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>θ<!-- θ --></mi> </mrow> </msub> </mtd> <mtd> <mi>x</mi> <mi>z</mi> <mo stretchy="false">(</mo> <mn>1</mn> <mo>−<!-- − --></mo> <msub> <mi>c</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>θ<!-- θ --></mi> </mrow> </msub> <mo stretchy="false">)</mo> <mo>+</mo> <mi>y</mi> <msub> <mi>s</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>θ<!-- θ --></mi> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <mi>x</mi> <mi>y</mi> <mo stretchy="false">(</mo> <mn>1</mn> <mo>−<!-- − --></mo> <msub> <mi>c</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>θ<!-- θ --></mi> </mrow> </msub> <mo stretchy="false">)</mo> <mo>+</mo> <mi>z</mi> <msub> <mi>s</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>θ<!-- θ --></mi> </mrow> </msub> </mtd> <mtd> <msup> <mi>y</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mo stretchy="false">(</mo> <mn>1</mn> <mo>−<!-- − --></mo> <msub> <mi>c</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>θ<!-- θ --></mi> </mrow> </msub> <mo stretchy="false">)</mo> <mo>+</mo> <msub> <mi>c</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>θ<!-- θ --></mi> </mrow> </msub> </mtd> <mtd> <mi>y</mi> <mi>z</mi> <mo stretchy="false">(</mo> <mn>1</mn> <mo>−<!-- − --></mo> <msub> <mi>c</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>θ<!-- θ --></mi> </mrow> </msub> <mo stretchy="false">)</mo> <mo>−<!-- − --></mo> <mi>x</mi> <msub> <mi>s</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>θ<!-- θ --></mi> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <mi>x</mi> <mi>z</mi> <mo stretchy="false">(</mo> <mn>1</mn> <mo>−<!-- − --></mo> <msub> <mi>c</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>θ<!-- θ --></mi> </mrow> </msub> <mo stretchy="false">)</mo> <mo>−<!-- − --></mo> <mi>y</mi> <msub> <mi>s</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>θ<!-- θ --></mi> </mrow> </msub> </mtd> <mtd> <mi>y</mi> <mi>z</mi> <mo stretchy="false">(</mo> <mn>1</mn> <mo>−<!-- − --></mo> <msub> <mi>c</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>θ<!-- θ --></mi> </mrow> </msub> <mo stretchy="false">)</mo> <mo>+</mo> <mi>x</mi> <msub> <mi>s</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>θ<!-- θ --></mi> </mrow> </msub> </mtd> <mtd> <msup> <mi>z</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mo stretchy="false">(</mo> <mn>1</mn> <mo>−<!-- − --></mo> <msub> <mi>c</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>θ<!-- θ --></mi> </mrow> </msub> <mo stretchy="false">)</mo> <mo>+</mo> <msub> <mi>c</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>θ<!-- θ --></mi> </mrow> </msub> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> <mo>,</mo> </mtd> </mtr> </mtable> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\begin{aligned}Q_{\mathbf {u} }(\theta )&={\begin{bmatrix}0&-z&y\\z&0&-x\\-y&x&0\end{bmatrix}}\sin \theta +\left(I-\mathbf {u} \mathbf {u} ^{\mathsf {T}}\right)\cos \theta +\mathbf {u} \mathbf {u} ^{\mathsf {T}}\\[8px]&={\begin{bmatrix}\left(1-x^{2}\right)c_{\theta }+x^{2}&-zs_{\theta }-xyc_{\theta }+xy&ys_{\theta }-xzc_{\theta }+xz\\zs_{\theta }-xyc_{\theta }+xy&\left(1-y^{2}\right)c_{\theta }+y^{2}&-xs_{\theta }-yzc_{\theta }+yz\\-ys_{\theta }-xzc_{\theta }+xz&xs_{\theta }-yzc_{\theta }+yz&\left(1-z^{2}\right)c_{\theta }+z^{2}\end{bmatrix}}\\[8px]&={\begin{bmatrix}x^{2}(1-c_{\theta })+c_{\theta }&xy(1-c_{\theta })-zs_{\theta }&xz(1-c_{\theta })+ys_{\theta }\\xy(1-c_{\theta })+zs_{\theta }&y^{2}(1-c_{\theta })+c_{\theta }&yz(1-c_{\theta })-xs_{\theta }\\xz(1-c_{\theta })-ys_{\theta }&yz(1-c_{\theta })+xs_{\theta }&z^{2}(1-c_{\theta })+c_{\theta }\end{bmatrix}},\end{aligned}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/87042389f5f93fc21a43beafc126d3ea5a9ee177" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -16.505ex; width:71.013ex; height:34.176ex;" alt="{\displaystyle {\begin{aligned}Q_{\mathbf {u} }(\theta )&={\begin{bmatrix}0&-z&y\\z&0&-x\\-y&x&0\end{bmatrix}}\sin \theta +\left(I-\mathbf {u} \mathbf {u} ^{\mathsf {T}}\right)\cos \theta +\mathbf {u} \mathbf {u} ^{\mathsf {T}}\\[8px]&={\begin{bmatrix}\left(1-x^{2}\right)c_{\theta }+x^{2}&-zs_{\theta }-xyc_{\theta }+xy&ys_{\theta }-xzc_{\theta }+xz\\zs_{\theta }-xyc_{\theta }+xy&\left(1-y^{2}\right)c_{\theta }+y^{2}&-xs_{\theta }-yzc_{\theta }+yz\\-ys_{\theta }-xzc_{\theta }+xz&xs_{\theta }-yzc_{\theta }+yz&\left(1-z^{2}\right)c_{\theta }+z^{2}\end{bmatrix}}\\[8px]&={\begin{bmatrix}x^{2}(1-c_{\theta })+c_{\theta }&xy(1-c_{\theta })-zs_{\theta }&xz(1-c_{\theta })+ys_{\theta }\\xy(1-c_{\theta })+zs_{\theta }&y^{2}(1-c_{\theta })+c_{\theta }&yz(1-c_{\theta })-xs_{\theta }\\xz(1-c_{\theta })-ys_{\theta }&yz(1-c_{\theta })+xs_{\theta }&z^{2}(1-c_{\theta })+c_{\theta }\end{bmatrix}},\end{aligned}}}"></span></dd></dl> <p>where <span class="texhtml"><i>c<sub>θ</sub></i> = cos <i>θ</i></span>, <span class="texhtml"><i>s<sub>θ</sub></i> = sin <i>θ</i></span>, is a rotation by angle <span class="texhtml mvar" style="font-style:italic;">θ</span> leaving axis <span class="texhtml"><b>u</b></span> fixed. </p><p>A direction in <span class="texhtml">(<i>n</i> + 1)</span>-dimensional space will be a unit magnitude vector, which we may consider a point on a generalized sphere, <span class="texhtml"><i>S</i><sup><i>n</i></sup></span>. Thus it is natural to describe the rotation group <span class="texhtml">SO(<i>n</i> + 1)</span> as combining <span class="texhtml">SO(<i>n</i>)</span> and <span class="texhtml"><i>S</i><sup><i>n</i></sup></span>. A suitable formalism is the <a href="/wiki/Fiber_bundle" title="Fiber bundle">fiber bundle</a>, </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle SO(n)\hookrightarrow SO(n+1)\to S^{n},}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>S</mi> <mi>O</mi> <mo stretchy="false">(</mo> <mi>n</mi> <mo stretchy="false">)</mo> <mo stretchy="false">↪<!-- ↪ --></mo> <mi>S</mi> <mi>O</mi> <mo stretchy="false">(</mo> <mi>n</mi> <mo>+</mo> <mn>1</mn> <mo stretchy="false">)</mo> <mo stretchy="false">→<!-- → --></mo> <msup> <mi>S</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>n</mi> </mrow> </msup> <mo>,</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle SO(n)\hookrightarrow SO(n+1)\to S^{n},}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/a51e0f81ae686dd5bf4d4a01b65d3e03967ec480" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:27.864ex; height:2.843ex;" alt="{\displaystyle SO(n)\hookrightarrow SO(n+1)\to S^{n},}"></span></dd></dl> <p>where for every direction in the base space, <span class="texhtml"><i>S</i><sup><i>n</i></sup></span>, the fiber over it in the total space, <span class="texhtml">SO(<i>n</i> + 1)</span>, is a copy of the fiber space, <span class="texhtml">SO(<i>n</i>)</span>, namely the rotations that keep that direction fixed. </p><p>Thus we can build an <span class="texhtml"><i>n</i> × <i>n</i></span> rotation matrix by starting with a <span class="nowrap">2 × 2</span> matrix, aiming its fixed axis on <span class="texhtml"><i>S</i><sup>2</sup></span> (the ordinary sphere in three-dimensional space), aiming the resulting rotation on <span class="texhtml"><i>S</i><sup>3</sup></span>, and so on up through <span class="texhtml"><i>S</i><sup><i>n</i>−1</sup></span>. A point on <span class="texhtml"><i>S</i><sup><i>n</i></sup></span> can be selected using <span class="texhtml mvar" style="font-style:italic;">n</span> numbers, so we again have <span class="texhtml"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1214402035"><span class="sfrac">⁠<span class="tion"><span class="num">1</span><span class="sr-only">/</span><span class="den">2</span></span>⁠</span><i>n</i>(<i>n</i> − 1)</span> numbers to describe any <span class="texhtml"><i>n</i> × <i>n</i></span> rotation matrix. </p><p>In fact, we can view the sequential angle decomposition, discussed previously, as reversing this process. The composition of <span class="texhtml"><i>n</i> − 1</span> Givens rotations brings the first column (and row) to <span class="nowrap">(1, 0, ..., 0)</span>, so that the remainder of the matrix is a rotation matrix of dimension one less, embedded so as to leave <span class="nowrap">(1, 0, ..., 0)</span> fixed. </p> <div class="mw-heading mw-heading3"><h3 id="Skew_parameters_via_Cayley's_formula"><span id="Skew_parameters_via_Cayley.27s_formula"></span>Skew parameters via Cayley's formula</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Rotation_matrix&action=edit&section=23" title="Edit section: Skew parameters via Cayley's formula"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951"><div role="note" class="hatnote navigation-not-searchable">Main articles: <a href="/wiki/Cayley_transform" title="Cayley transform">Cayley transform</a> and <a href="/wiki/Skew-symmetric_matrix" title="Skew-symmetric matrix">Skew-symmetric matrix</a></div> <p>When an <span class="texhtml"><i>n</i> × <i>n</i></span> rotation matrix <span class="texhtml mvar" style="font-style:italic;">Q</span>, does not include a −1 eigenvalue, thus none of the planar rotations which it comprises are 180° rotations, then <span class="texhtml"><i>Q</i> + <i>I</i></span> is an <a href="/wiki/Invertible_matrix" title="Invertible matrix">invertible matrix</a>. Most rotation matrices fit this description, and for them it can be shown that <span class="texhtml">(<i>Q</i> − <i>I</i>)(<i>Q</i> + <i>I</i>)<sup>−1</sup></span> is a <a href="/wiki/Skew-symmetric_matrix" title="Skew-symmetric matrix">skew-symmetric matrix</a>, <span class="texhtml mvar" style="font-style:italic;">A</span>. Thus <span class="texhtml"><i>A</i><sup>T</sup> = −<i>A</i></span>; and since the diagonal is necessarily zero, and since the upper triangle determines the lower one, <span class="texhtml mvar" style="font-style:italic;">A</span> contains <span class="texhtml"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1214402035"><span class="sfrac">⁠<span class="tion"><span class="num">1</span><span class="sr-only">/</span><span class="den">2</span></span>⁠</span><i>n</i>(<i>n</i> − 1)</span> independent numbers. </p><p>Conveniently, <span class="texhtml"><i>I</i> − <i>A</i></span> is invertible whenever <span class="texhtml mvar" style="font-style:italic;">A</span> is skew-symmetric; thus we can recover the original matrix using the <i><a href="/wiki/Cayley_transform" title="Cayley transform">Cayley transform</a></i>, </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle A\mapsto (I+A)(I-A)^{-1},}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>A</mi> <mo stretchy="false">↦<!-- ↦ --></mo> <mo stretchy="false">(</mo> <mi>I</mi> <mo>+</mo> <mi>A</mi> <mo stretchy="false">)</mo> <mo stretchy="false">(</mo> <mi>I</mi> <mo>−<!-- − --></mo> <mi>A</mi> <msup> <mo stretchy="false">)</mo> <mrow class="MJX-TeXAtom-ORD"> <mo>−<!-- − --></mo> <mn>1</mn> </mrow> </msup> <mo>,</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle A\mapsto (I+A)(I-A)^{-1},}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/47b05da34ba59592dbe0983ae9809a5c6521b0be" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:23.466ex; height:3.176ex;" alt="{\displaystyle A\mapsto (I+A)(I-A)^{-1},}"></span></dd></dl> <p>which maps any skew-symmetric matrix <span class="texhtml mvar" style="font-style:italic;">A</span> to a rotation matrix. In fact, aside from the noted exceptions, we can produce any rotation matrix in this way. Although in practical applications we can hardly afford to ignore 180° rotations, the Cayley transform is still a potentially useful tool, giving a parameterization of most rotation matrices without trigonometric functions. </p><p>In three dimensions, for example, we have (<a href="#CITEREFCayley1846">Cayley 1846</a>) </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{aligned}&{\begin{bmatrix}0&-z&y\\z&0&-x\\-y&x&0\end{bmatrix}}\mapsto \\[3pt]\quad {\frac {1}{1+x^{2}+y^{2}+z^{2}}}&{\begin{bmatrix}1+x^{2}-y^{2}-z^{2}&2xy-2z&2y+2xz\\2xy+2z&1-x^{2}+y^{2}-z^{2}&2yz-2x\\2xz-2y&2x+2yz&1-x^{2}-y^{2}+z^{2}\end{bmatrix}}.\end{aligned}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mtable columnalign="right left right left right left right left right left right left" rowspacing="0.6em 0.3em" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"> <mtr> <mtd /> <mtd> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mo>−<!-- − --></mo> <mi>z</mi> </mtd> <mtd> <mi>y</mi> </mtd> </mtr> <mtr> <mtd> <mi>z</mi> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mo>−<!-- − --></mo> <mi>x</mi> </mtd> </mtr> <mtr> <mtd> <mo>−<!-- − --></mo> <mi>y</mi> </mtd> <mtd> <mi>x</mi> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> <mo stretchy="false">↦<!-- ↦ --></mo> </mtd> </mtr> <mtr> <mtd> <mspace width="1em" /> <mrow class="MJX-TeXAtom-ORD"> <mfrac> <mn>1</mn> <mrow> <mn>1</mn> <mo>+</mo> <msup> <mi>x</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mo>+</mo> <msup> <mi>y</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mo>+</mo> <msup> <mi>z</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> </mrow> </mfrac> </mrow> </mtd> <mtd> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mn>1</mn> <mo>+</mo> <msup> <mi>x</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mo>−<!-- − --></mo> <msup> <mi>y</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mo>−<!-- − --></mo> <msup> <mi>z</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> </mtd> <mtd> <mn>2</mn> <mi>x</mi> <mi>y</mi> <mo>−<!-- − --></mo> <mn>2</mn> <mi>z</mi> </mtd> <mtd> <mn>2</mn> <mi>y</mi> <mo>+</mo> <mn>2</mn> <mi>x</mi> <mi>z</mi> </mtd> </mtr> <mtr> <mtd> <mn>2</mn> <mi>x</mi> <mi>y</mi> <mo>+</mo> <mn>2</mn> <mi>z</mi> </mtd> <mtd> <mn>1</mn> <mo>−<!-- − --></mo> <msup> <mi>x</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mo>+</mo> <msup> <mi>y</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mo>−<!-- − --></mo> <msup> <mi>z</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> </mtd> <mtd> <mn>2</mn> <mi>y</mi> <mi>z</mi> <mo>−<!-- − --></mo> <mn>2</mn> <mi>x</mi> </mtd> </mtr> <mtr> <mtd> <mn>2</mn> <mi>x</mi> <mi>z</mi> <mo>−<!-- − --></mo> <mn>2</mn> <mi>y</mi> </mtd> <mtd> <mn>2</mn> <mi>x</mi> <mo>+</mo> <mn>2</mn> <mi>y</mi> <mi>z</mi> </mtd> <mtd> <mn>1</mn> <mo>−<!-- − --></mo> <msup> <mi>x</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mo>−<!-- − --></mo> <msup> <mi>y</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mo>+</mo> <msup> <mi>z</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> <mo>.</mo> </mtd> </mtr> </mtable> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\begin{aligned}&{\begin{bmatrix}0&-z&y\\z&0&-x\\-y&x&0\end{bmatrix}}\mapsto \\[3pt]\quad {\frac {1}{1+x^{2}+y^{2}+z^{2}}}&{\begin{bmatrix}1+x^{2}-y^{2}-z^{2}&2xy-2z&2y+2xz\\2xy+2z&1-x^{2}+y^{2}-z^{2}&2yz-2x\\2xz-2y&2x+2yz&1-x^{2}-y^{2}+z^{2}\end{bmatrix}}.\end{aligned}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/ad82b169b68ec60349be493378761aab543c9cf8" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -9.338ex; width:78.762ex; height:19.843ex;" alt="{\displaystyle {\begin{aligned}&{\begin{bmatrix}0&-z&y\\z&0&-x\\-y&x&0\end{bmatrix}}\mapsto \\[3pt]\quad {\frac {1}{1+x^{2}+y^{2}+z^{2}}}&{\begin{bmatrix}1+x^{2}-y^{2}-z^{2}&2xy-2z&2y+2xz\\2xy+2z&1-x^{2}+y^{2}-z^{2}&2yz-2x\\2xz-2y&2x+2yz&1-x^{2}-y^{2}+z^{2}\end{bmatrix}}.\end{aligned}}}"></span></dd></dl> <p>If we condense the skew entries into a vector, <span class="texhtml">(<i>x</i>,<i>y</i>,<i>z</i>)</span>, then we produce a 90° rotation around the <span class="texhtml mvar" style="font-style:italic;">x</span>-axis for (1, 0, 0), around the <span class="texhtml mvar" style="font-style:italic;">y</span>-axis for (0, 1, 0), and around the <span class="texhtml mvar" style="font-style:italic;">z</span>-axis for (0, 0, 1). The 180° rotations are just out of reach; for, in the limit as <span class="texhtml"><i>x</i> → ∞</span>, <span class="texhtml">(<i>x</i>, 0, 0)</span> does approach a 180° rotation around the <span class="texhtml mvar" style="font-style:italic;">x</span> axis, and similarly for other directions. </p> <div class="mw-heading mw-heading3"><h3 id="Decomposition_into_shears">Decomposition into shears</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Rotation_matrix&action=edit&section=24" title="Edit section: Decomposition into shears"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>For the 2D case, a rotation matrix can be decomposed into three <a href="/wiki/Shear_matrix" class="mw-redirect" title="Shear matrix">shear matrices</a> (<a href="#CITEREFPaeth1986">Paeth 1986</a>): </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{aligned}R(\theta )&{}={\begin{bmatrix}1&-\tan {\frac {\theta }{2}}\\0&1\end{bmatrix}}{\begin{bmatrix}1&0\\\sin \theta &1\end{bmatrix}}{\begin{bmatrix}1&-\tan {\frac {\theta }{2}}\\0&1\end{bmatrix}}\end{aligned}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"> <mtr> <mtd> <mi>R</mi> <mo stretchy="false">(</mo> <mi>θ<!-- θ --></mi> <mo stretchy="false">)</mo> </mtd> <mtd> <mi></mi> <mrow class="MJX-TeXAtom-ORD"> </mrow> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mn>1</mn> </mtd> <mtd> <mo>−<!-- − --></mo> <mi>tan</mi> <mo>⁡<!-- --></mo> <mrow class="MJX-TeXAtom-ORD"> <mfrac> <mi>θ<!-- θ --></mi> <mn>2</mn> </mfrac> </mrow> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mn>1</mn> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mn>1</mn> </mtd> <mtd> <mo>−<!-- − --></mo> <mi>tan</mi> <mo>⁡<!-- --></mo> <mrow class="MJX-TeXAtom-ORD"> <mfrac> <mi>θ<!-- θ --></mi> <mn>2</mn> </mfrac> </mrow> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\begin{aligned}R(\theta )&{}={\begin{bmatrix}1&-\tan {\frac {\theta }{2}}\\0&1\end{bmatrix}}{\begin{bmatrix}1&0\\\sin \theta &1\end{bmatrix}}{\begin{bmatrix}1&-\tan {\frac {\theta }{2}}\\0&1\end{bmatrix}}\end{aligned}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/43560168096af0ed12463f75372735a70d23e910" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -3.171ex; width:48.632ex; height:7.509ex;" alt="{\displaystyle {\begin{aligned}R(\theta )&{}={\begin{bmatrix}1&-\tan {\frac {\theta }{2}}\\0&1\end{bmatrix}}{\begin{bmatrix}1&0\\\sin \theta &1\end{bmatrix}}{\begin{bmatrix}1&-\tan {\frac {\theta }{2}}\\0&1\end{bmatrix}}\end{aligned}}}"></span></dd></dl> <p>This is useful, for instance, in computer graphics, since shears can be implemented with fewer multiplication instructions than rotating a bitmap directly. On modern computers, this may not matter, but it can be relevant for very old or low-end microprocessors. </p><p>A rotation can also be written as two shears and <a href="/wiki/Scaling_(geometry)" title="Scaling (geometry)">scaling</a> (<a href="#CITEREFDaubechiesSweldens1998">Daubechies & Sweldens 1998</a>): </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{aligned}R(\theta )&{}={\begin{bmatrix}1&0\\\tan \theta &1\end{bmatrix}}{\begin{bmatrix}1&-\sin \theta \cos \theta \\0&1\end{bmatrix}}{\begin{bmatrix}\cos \theta &0\\0&{\frac {1}{\cos \theta }}\end{bmatrix}}\end{aligned}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"> <mtr> <mtd> <mi>R</mi> <mo stretchy="false">(</mo> <mi>θ<!-- θ --></mi> <mo stretchy="false">)</mo> </mtd> <mtd> <mi></mi> <mrow class="MJX-TeXAtom-ORD"> </mrow> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mn>1</mn> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mi>tan</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mn>1</mn> </mtd> <mtd> <mo>−<!-- − --></mo> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mrow class="MJX-TeXAtom-ORD"> <mfrac> <mn>1</mn> <mrow> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mrow> </mfrac> </mrow> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\begin{aligned}R(\theta )&{}={\begin{bmatrix}1&0\\\tan \theta &1\end{bmatrix}}{\begin{bmatrix}1&-\sin \theta \cos \theta \\0&1\end{bmatrix}}{\begin{bmatrix}\cos \theta &0\\0&{\frac {1}{\cos \theta }}\end{bmatrix}}\end{aligned}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/9d69464ca88622a669442a5597607de7873b1b1e" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -3.171ex; width:52.805ex; height:7.509ex;" alt="{\displaystyle {\begin{aligned}R(\theta )&{}={\begin{bmatrix}1&0\\\tan \theta &1\end{bmatrix}}{\begin{bmatrix}1&-\sin \theta \cos \theta \\0&1\end{bmatrix}}{\begin{bmatrix}\cos \theta &0\\0&{\frac {1}{\cos \theta }}\end{bmatrix}}\end{aligned}}}"></span></dd></dl> <div class="mw-heading mw-heading2"><h2 id="Group_theory">Group theory</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Rotation_matrix&action=edit&section=25" title="Edit section: Group theory"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Below follow some basic facts about the role of the collection of <i>all</i> rotation matrices of a fixed dimension (here mostly 3) in mathematics and particularly in physics where <a href="/wiki/Rotational_symmetry" title="Rotational symmetry">rotational symmetry</a> is a <i>requirement</i> of every truly fundamental law (due to the assumption of <b>isotropy of space</b>), and where the same symmetry, when present, is a <i>simplifying property</i> of many problems of less fundamental nature. Examples abound in <a href="/wiki/Classical_mechanics" title="Classical mechanics">classical mechanics</a> and <a href="/wiki/Quantum_mechanics" title="Quantum mechanics">quantum mechanics</a>. Knowledge of the part of the solutions pertaining to this symmetry applies (with qualifications) to <i>all</i> such problems and it can be factored out of a specific problem at hand, thus reducing its complexity. A prime example – in mathematics and physics – would be the theory of <a href="/wiki/Spherical_harmonics" title="Spherical harmonics">spherical harmonics</a>. Their role in the group theory of the rotation groups is that of being a <a href="/wiki/Representation_space" class="mw-redirect" title="Representation space">representation space</a> for the entire set of finite-dimensional <a href="/wiki/Irreducible_representation" title="Irreducible representation">irreducible representations</a> of the rotation group SO(3). For this topic, see <a href="/wiki/Rotation_group_SO(3)#Spherical_harmonics" class="mw-redirect" title="Rotation group SO(3)">Rotation group SO(3) § Spherical harmonics</a>. </p><p>The main articles listed in each subsection are referred to for more detail. </p> <div class="mw-heading mw-heading3"><h3 id="Lie_group">Lie group</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Rotation_matrix&action=edit&section=26" title="Edit section: Lie group"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951"><div role="note" class="hatnote navigation-not-searchable">Main articles: <a href="/wiki/Special_orthogonal_group" class="mw-redirect" title="Special orthogonal group">Special orthogonal group</a> and <a href="/wiki/Rotation_group_SO(3)" class="mw-redirect" title="Rotation group SO(3)">Rotation group SO(3)</a></div> <p>The <span class="texhtml"><i>n</i> × <i>n</i></span> rotation matrices for each <span class="texhtml mvar" style="font-style:italic;">n</span> form a <a href="/wiki/Group_(mathematics)" title="Group (mathematics)">group</a>, the <a href="/wiki/Special_orthogonal_group" class="mw-redirect" title="Special orthogonal group">special orthogonal group</a>, <span class="texhtml">SO(<i>n</i>)</span>. This <a href="/wiki/Algebraic_structure" title="Algebraic structure">algebraic structure</a> is coupled with a <a href="/wiki/Topological_structure" class="mw-redirect" title="Topological structure">topological structure</a> inherited from <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \operatorname {GL} _{n}(\mathbb {R} )}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msub> <mi>GL</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>n</mi> </mrow> </msub> <mo>⁡<!-- --></mo> <mo stretchy="false">(</mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="double-struck">R</mi> </mrow> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \operatorname {GL} _{n}(\mathbb {R} )}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/7556ee5292ff5f9476597b20341e0a8dd252d2aa" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:7.983ex; height:2.843ex;" alt="{\displaystyle \operatorname {GL} _{n}(\mathbb {R} )}"></span> in such a way that the operations of multiplication and taking the inverse are <a href="/wiki/Analytic_function" title="Analytic function">analytic functions</a> of the matrix entries. Thus <span class="texhtml">SO(<i>n</i>)</span> is for each <span class="texhtml mvar" style="font-style:italic;">n</span> a <a href="/wiki/Lie_group" title="Lie group">Lie group</a>. It is <a href="/wiki/Compact_space" title="Compact space">compact</a> and <a href="/wiki/Connected_space" title="Connected space">connected</a>, but not <a href="/wiki/Simply_connected" class="mw-redirect" title="Simply connected">simply connected</a>. It is also a <a href="/wiki/Semi-simple_group" class="mw-redirect" title="Semi-simple group">semi-simple group</a>, in fact a <a href="/wiki/Simple_group" title="Simple group">simple group</a> with the exception SO(4).<sup id="cite_ref-14" class="reference"><a href="#cite_note-14"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup> The relevance of this is that all theorems and all machinery from the theory of <a href="/wiki/Analytic_manifold" title="Analytic manifold">analytic manifolds</a> (analytic manifolds are in particular <a href="/wiki/Smooth_manifold" class="mw-redirect" title="Smooth manifold">smooth manifolds</a>) apply and the well-developed representation theory of compact semi-simple groups is ready for use. </p> <div class="mw-heading mw-heading3"><h3 id="Lie_algebra">Lie algebra</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Rotation_matrix&action=edit&section=27" title="Edit section: Lie algebra"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951"><div role="note" class="hatnote navigation-not-searchable">Main article: <a href="/wiki/Rotation_group_SO(3)#Lie_algebra" class="mw-redirect" title="Rotation group SO(3)">Rotation group SO(3) § Lie algebra</a></div> <p>The Lie algebra <span class="texhtml"><b>so</b>(<i>n</i>)</span> of <span class="texhtml">SO(<i>n</i>)</span> is given by </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\mathfrak {so}}(n)={\mathfrak {o}}(n)=\left\{X\in M_{n}(\mathbb {R} )\mid X=-X^{\mathsf {T}}\right\},}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="fraktur">s</mi> <mi mathvariant="fraktur">o</mi> </mrow> </mrow> <mo stretchy="false">(</mo> <mi>n</mi> <mo stretchy="false">)</mo> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="fraktur">o</mi> </mrow> </mrow> <mo stretchy="false">(</mo> <mi>n</mi> <mo stretchy="false">)</mo> <mo>=</mo> <mrow> <mo>{</mo> <mrow> <mi>X</mi> <mo>∈<!-- ∈ --></mo> <msub> <mi>M</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>n</mi> </mrow> </msub> <mo stretchy="false">(</mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="double-struck">R</mi> </mrow> <mo stretchy="false">)</mo> <mo>∣<!-- ∣ --></mo> <mi>X</mi> <mo>=</mo> <mo>−<!-- − --></mo> <msup> <mi>X</mi> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="sans-serif">T</mi> </mrow> </mrow> </msup> </mrow> <mo>}</mo> </mrow> <mo>,</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\mathfrak {so}}(n)={\mathfrak {o}}(n)=\left\{X\in M_{n}(\mathbb {R} )\mid X=-X^{\mathsf {T}}\right\},}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/ea2c21064db58f9b2ccf07762fb7f590fc01e928" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; margin-left: -0.041ex; width:43.647ex; height:3.343ex;" alt="{\displaystyle {\mathfrak {so}}(n)={\mathfrak {o}}(n)=\left\{X\in M_{n}(\mathbb {R} )\mid X=-X^{\mathsf {T}}\right\},}"></span></dd></dl> <p>and is the space of skew-symmetric matrices of dimension <span class="texhtml"><i>n</i></span>, see <a href="/wiki/Classical_group" title="Classical group">classical group</a>, where <span class="texhtml"><b>o</b>(<i>n</i>)</span> is the Lie algebra of <span class="texhtml">O(<i>n</i>)</span>, the <a href="/wiki/Orthogonal_group" title="Orthogonal group">orthogonal group</a>. For reference, the most common basis for <span class="texhtml"><b>so</b>(3)</span> is </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle L_{\mathbf {x} }={\begin{bmatrix}0&0&0\\0&0&-1\\0&1&0\end{bmatrix}},\quad L_{\mathbf {y} }={\begin{bmatrix}0&0&1\\0&0&0\\-1&0&0\end{bmatrix}},\quad L_{\mathbf {z} }={\begin{bmatrix}0&-1&0\\1&0&0\\0&0&0\end{bmatrix}}.}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msub> <mi>L</mi> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">x</mi> </mrow> </mrow> </msub> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mo>−<!-- − --></mo> <mn>1</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mn>1</mn> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> <mo>,</mo> <mspace width="1em" /> <msub> <mi>L</mi> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">y</mi> </mrow> </mrow> </msub> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>1</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mo>−<!-- − --></mo> <mn>1</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> <mo>,</mo> <mspace width="1em" /> <msub> <mi>L</mi> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">z</mi> </mrow> </mrow> </msub> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mo>−<!-- − --></mo> <mn>1</mn> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>1</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> <mo>.</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle L_{\mathbf {x} }={\begin{bmatrix}0&0&0\\0&0&-1\\0&1&0\end{bmatrix}},\quad L_{\mathbf {y} }={\begin{bmatrix}0&0&1\\0&0&0\\-1&0&0\end{bmatrix}},\quad L_{\mathbf {z} }={\begin{bmatrix}0&-1&0\\1&0&0\\0&0&0\end{bmatrix}}.}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/9f2042fe3a6e431560cc0c1b914b57936fdfb80f" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -4.005ex; width:66.314ex; height:9.176ex;" alt="{\displaystyle L_{\mathbf {x} }={\begin{bmatrix}0&0&0\\0&0&-1\\0&1&0\end{bmatrix}},\quad L_{\mathbf {y} }={\begin{bmatrix}0&0&1\\0&0&0\\-1&0&0\end{bmatrix}},\quad L_{\mathbf {z} }={\begin{bmatrix}0&-1&0\\1&0&0\\0&0&0\end{bmatrix}}.}"></span></dd></dl> <div class="mw-heading mw-heading3"><h3 id="Exponential_map">Exponential map</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Rotation_matrix&action=edit&section=28" title="Edit section: Exponential map"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951"><div role="note" class="hatnote navigation-not-searchable">Main articles: <a href="/wiki/Rotation_group_SO(3)#Exponential_map" class="mw-redirect" title="Rotation group SO(3)">Rotation group SO(3) § Exponential map</a>, and <a href="/wiki/Matrix_exponential" title="Matrix exponential">Matrix exponential</a></div> <p>Connecting the Lie algebra to the Lie group is the <a href="/wiki/Exponential_map_(Lie_theory)" title="Exponential map (Lie theory)">exponential map</a>, which is defined using the standard <a href="/wiki/Matrix_exponential" title="Matrix exponential">matrix exponential</a> series for <span class="texhtml mvar" style="font-style:italic;">e<sup>A</sup></span><sup id="cite_ref-15" class="reference"><a href="#cite_note-15"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup> For any <a href="/wiki/Skew-symmetric_matrix" title="Skew-symmetric matrix">skew-symmetric matrix</a> <span class="texhtml mvar" style="font-style:italic;">A</span>, <span class="texhtml">exp(<i>A</i>)</span> is always a rotation matrix.<sup id="cite_ref-16" class="reference"><a href="#cite_note-16"><span class="cite-bracket">[</span>nb 3<span class="cite-bracket">]</span></a></sup> </p><p>An important practical example is the <span class="nowrap">3 × 3</span> case. In <a href="/wiki/Rotation_group_SO(3)" class="mw-redirect" title="Rotation group SO(3)">rotation group SO(3)</a>, it is shown that one can identify every <span class="texhtml"><i>A</i> ∈ <b>so</b>(3)</span> with an Euler vector <span class="texhtml"><b>ω</b> = <i>θ</i><b>u</b></span>, where <span class="texhtml"><b>u</b> = (<i>x</i>, <i>y</i>, <i>z</i>)</span> is a unit magnitude vector. </p><p>By the properties of the identification <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {su} (2)\cong \mathbb {R} ^{3}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">s</mi> <mi mathvariant="bold">u</mi> </mrow> <mo stretchy="false">(</mo> <mn>2</mn> <mo stretchy="false">)</mo> <mo>≅<!-- ≅ --></mo> <msup> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="double-struck">R</mi> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mn>3</mn> </mrow> </msup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \mathbf {su} (2)\cong \mathbb {R} ^{3}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/30df337722fd72bd3073f331db62dcacb1651186" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:11.343ex; height:3.176ex;" alt="{\displaystyle \mathbf {su} (2)\cong \mathbb {R} ^{3}}"></span>, <span class="texhtml"><b>u</b></span> is in the null space of <span class="texhtml mvar" style="font-style:italic;">A</span>. Thus, <span class="texhtml"><b>u</b></span> is left invariant by <span class="texhtml">exp(<i>A</i>)</span> and is hence a rotation axis. </p><p>According to <a href="/wiki/Rodrigues%27_rotation_formula#Matrix_notation" title="Rodrigues' rotation formula">Rodrigues' rotation formula on matrix form</a>, one obtains, </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{aligned}\exp(A)&=\exp {\bigl (}\theta (\mathbf {u} \cdot \mathbf {L} ){\bigr )}\\&=\exp \left({\begin{bmatrix}0&-z\theta &y\theta \\z\theta &0&-x\theta \\-y\theta &x\theta &0\end{bmatrix}}\right)\\&=I+\sin \theta \ \mathbf {u} \cdot \mathbf {L} +(1-\cos \theta )(\mathbf {u} \cdot \mathbf {L} )^{2},\end{aligned}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"> <mtr> <mtd> <mi>exp</mi> <mo>⁡<!-- --></mo> <mo stretchy="false">(</mo> <mi>A</mi> <mo stretchy="false">)</mo> </mtd> <mtd> <mi></mi> <mo>=</mo> <mi>exp</mi> <mo>⁡<!-- --></mo> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-OPEN"> <mo maxsize="1.2em" minsize="1.2em">(</mo> </mrow> </mrow> <mi>θ<!-- θ --></mi> <mo stretchy="false">(</mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> <mo>⋅<!-- ⋅ --></mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">L</mi> </mrow> <mo stretchy="false">)</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-CLOSE"> <mo maxsize="1.2em" minsize="1.2em">)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd /> <mtd> <mi></mi> <mo>=</mo> <mi>exp</mi> <mo>⁡<!-- --></mo> <mrow> <mo>(</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mo>−<!-- − --></mo> <mi>z</mi> <mi>θ<!-- θ --></mi> </mtd> <mtd> <mi>y</mi> <mi>θ<!-- θ --></mi> </mtd> </mtr> <mtr> <mtd> <mi>z</mi> <mi>θ<!-- θ --></mi> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mo>−<!-- − --></mo> <mi>x</mi> <mi>θ<!-- θ --></mi> </mtd> </mtr> <mtr> <mtd> <mo>−<!-- − --></mo> <mi>y</mi> <mi>θ<!-- θ --></mi> </mtd> <mtd> <mi>x</mi> <mi>θ<!-- θ --></mi> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> <mo>)</mo> </mrow> </mtd> </mtr> <mtr> <mtd /> <mtd> <mi></mi> <mo>=</mo> <mi>I</mi> <mo>+</mo> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> <mtext> </mtext> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> <mo>⋅<!-- ⋅ --></mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">L</mi> </mrow> <mo>+</mo> <mo stretchy="false">(</mo> <mn>1</mn> <mo>−<!-- − --></mo> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> <mo stretchy="false">)</mo> <mo stretchy="false">(</mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> <mo>⋅<!-- ⋅ --></mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">L</mi> </mrow> <msup> <mo stretchy="false">)</mo> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mo>,</mo> </mtd> </mtr> </mtable> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\begin{aligned}\exp(A)&=\exp {\bigl (}\theta (\mathbf {u} \cdot \mathbf {L} ){\bigr )}\\&=\exp \left({\begin{bmatrix}0&-z\theta &y\theta \\z\theta &0&-x\theta \\-y\theta &x\theta &0\end{bmatrix}}\right)\\&=I+\sin \theta \ \mathbf {u} \cdot \mathbf {L} +(1-\cos \theta )(\mathbf {u} \cdot \mathbf {L} )^{2},\end{aligned}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/bc8996a9a396acd846017c7c73b2cf4db1990bd8" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -7.505ex; width:46.178ex; height:16.176ex;" alt="{\displaystyle {\begin{aligned}\exp(A)&=\exp {\bigl (}\theta (\mathbf {u} \cdot \mathbf {L} ){\bigr )}\\&=\exp \left({\begin{bmatrix}0&-z\theta &y\theta \\z\theta &0&-x\theta \\-y\theta &x\theta &0\end{bmatrix}}\right)\\&=I+\sin \theta \ \mathbf {u} \cdot \mathbf {L} +(1-\cos \theta )(\mathbf {u} \cdot \mathbf {L} )^{2},\end{aligned}}}"></span></dd></dl> <p>where </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {u} \cdot \mathbf {L} ={\begin{bmatrix}0&-z&y\\z&0&-x\\-y&x&0\end{bmatrix}}.}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> <mo>⋅<!-- ⋅ --></mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">L</mi> </mrow> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mo>−<!-- − --></mo> <mi>z</mi> </mtd> <mtd> <mi>y</mi> </mtd> </mtr> <mtr> <mtd> <mi>z</mi> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mo>−<!-- − --></mo> <mi>x</mi> </mtd> </mtr> <mtr> <mtd> <mo>−<!-- − --></mo> <mi>y</mi> </mtd> <mtd> <mi>x</mi> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> <mo>.</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \mathbf {u} \cdot \mathbf {L} ={\begin{bmatrix}0&-z&y\\z&0&-x\\-y&x&0\end{bmatrix}}.}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/743f015a099944d4cb15160eb35eac1aea6614df" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -4.171ex; width:26.013ex; height:9.509ex;" alt="{\displaystyle \mathbf {u} \cdot \mathbf {L} ={\begin{bmatrix}0&-z&y\\z&0&-x\\-y&x&0\end{bmatrix}}.}"></span></dd></dl> <p>This is the matrix for a rotation around axis <span class="texhtml"><b>u</b></span> by the angle <span class="texhtml mvar" style="font-style:italic;">θ</span>. For full detail, see <a href="/wiki/Rotation_group_SO(3)#Exponential_map" class="mw-redirect" title="Rotation group SO(3)">exponential map SO(3)</a>. </p> <div class="mw-heading mw-heading3"><h3 id="Baker–Campbell–Hausdorff_formula"><span id="Baker.E2.80.93Campbell.E2.80.93Hausdorff_formula"></span>Baker–Campbell–Hausdorff formula</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Rotation_matrix&action=edit&section=29" title="Edit section: Baker–Campbell–Hausdorff formula"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951"><div role="note" class="hatnote navigation-not-searchable">Main articles: <a href="/wiki/Baker%E2%80%93Campbell%E2%80%93Hausdorff_formula" title="Baker–Campbell–Hausdorff formula">Baker–Campbell–Hausdorff formula</a> and <a href="/wiki/Rotation_group_SO(3)#Baker–Campbell–Hausdorff_formula" class="mw-redirect" title="Rotation group SO(3)">Rotation group SO(3) § Baker–Campbell–Hausdorff formula</a></div> <p>The BCH formula provides an explicit expression for <span class="texhtml"><i>Z</i> = log(<i>e</i><sup><i>X</i></sup><i>e</i><sup><i>Y</i></sup>)</span> in terms of a series expansion of nested commutators of <span class="texhtml mvar" style="font-style:italic;">X</span> and <span class="texhtml mvar" style="font-style:italic;">Y</span>.<sup id="cite_ref-17" class="reference"><a href="#cite_note-17"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup> This general expansion unfolds as<sup id="cite_ref-18" class="reference"><a href="#cite_note-18"><span class="cite-bracket">[</span>nb 4<span class="cite-bracket">]</span></a></sup> </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle Z=C(X,Y)=X+Y+{\tfrac {1}{2}}[X,Y]+{\tfrac {1}{12}}{\bigl [}X,[X,Y]{\bigr ]}-{\tfrac {1}{12}}{\bigl [}Y,[X,Y]{\bigr ]}+\cdots .}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>Z</mi> <mo>=</mo> <mi>C</mi> <mo stretchy="false">(</mo> <mi>X</mi> <mo>,</mo> <mi>Y</mi> <mo stretchy="false">)</mo> <mo>=</mo> <mi>X</mi> <mo>+</mo> <mi>Y</mi> <mo>+</mo> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="false" scriptlevel="0"> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> </mstyle> </mrow> <mo stretchy="false">[</mo> <mi>X</mi> <mo>,</mo> <mi>Y</mi> <mo stretchy="false">]</mo> <mo>+</mo> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="false" scriptlevel="0"> <mfrac> <mn>1</mn> <mn>12</mn> </mfrac> </mstyle> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-OPEN"> <mo maxsize="1.2em" minsize="1.2em">[</mo> </mrow> </mrow> <mi>X</mi> <mo>,</mo> <mo stretchy="false">[</mo> <mi>X</mi> <mo>,</mo> <mi>Y</mi> <mo stretchy="false">]</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-CLOSE"> <mo maxsize="1.2em" minsize="1.2em">]</mo> </mrow> </mrow> <mo>−<!-- − --></mo> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="false" scriptlevel="0"> <mfrac> <mn>1</mn> <mn>12</mn> </mfrac> </mstyle> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-OPEN"> <mo maxsize="1.2em" minsize="1.2em">[</mo> </mrow> </mrow> <mi>Y</mi> <mo>,</mo> <mo stretchy="false">[</mo> <mi>X</mi> <mo>,</mo> <mi>Y</mi> <mo stretchy="false">]</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-CLOSE"> <mo maxsize="1.2em" minsize="1.2em">]</mo> </mrow> </mrow> <mo>+</mo> <mo>⋯<!-- ⋯ --></mo> <mo>.</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle Z=C(X,Y)=X+Y+{\tfrac {1}{2}}[X,Y]+{\tfrac {1}{12}}{\bigl [}X,[X,Y]{\bigr ]}-{\tfrac {1}{12}}{\bigl [}Y,[X,Y]{\bigr ]}+\cdots .}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/18d3139eecb4a3799df3f187e78c1b3f0cb2f3bf" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.171ex; width:72.514ex; height:3.509ex;" alt="{\displaystyle Z=C(X,Y)=X+Y+{\tfrac {1}{2}}[X,Y]+{\tfrac {1}{12}}{\bigl [}X,[X,Y]{\bigr ]}-{\tfrac {1}{12}}{\bigl [}Y,[X,Y]{\bigr ]}+\cdots .}"></span></dd></dl> <p>In the <span class="nowrap">3 × 3</span> case, the general infinite expansion has a compact form,<sup id="cite_ref-19" class="reference"><a href="#cite_note-19"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup> </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle Z=\alpha X+\beta Y+\gamma [X,Y],}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>Z</mi> <mo>=</mo> <mi>α<!-- α --></mi> <mi>X</mi> <mo>+</mo> <mi>β<!-- β --></mi> <mi>Y</mi> <mo>+</mo> <mi>γ<!-- γ --></mi> <mo stretchy="false">[</mo> <mi>X</mi> <mo>,</mo> <mi>Y</mi> <mo stretchy="false">]</mo> <mo>,</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle Z=\alpha X+\beta Y+\gamma [X,Y],}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/1cdd2c4da063f9ec30359beaacd3767b962f3875" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:25.023ex; height:2.843ex;" alt="{\displaystyle Z=\alpha X+\beta Y+\gamma [X,Y],}"></span></dd></dl> <p>for suitable trigonometric function coefficients, detailed in the <a href="/wiki/Rotation_group_SO(3)#Baker–Campbell–Hausdorff_formula" class="mw-redirect" title="Rotation group SO(3)">Baker–Campbell–Hausdorff formula for SO(3)</a>. </p><p>As a group identity, the above holds for <i>all faithful representations</i>, including the doublet (spinor representation), which is simpler. The same explicit formula thus follows straightforwardly through Pauli matrices; see the <a href="/wiki/Pauli_matrices#Exponential_of_a_Pauli_vector" title="Pauli matrices"><span class="nowrap">2 × 2</span> derivation for SU(2)</a>. For the general <span class="texhtml"><i>n</i> × <i>n</i></span> case, one might use Ref.<sup id="cite_ref-20" class="reference"><a href="#cite_note-20"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup> </p> <div class="mw-heading mw-heading3"><h3 id="Spin_group">Spin group</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Rotation_matrix&action=edit&section=30" title="Edit section: Spin group"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951"><div role="note" class="hatnote navigation-not-searchable">Main articles: <a href="/wiki/Spin_group" title="Spin group">Spin group</a> and <a href="/wiki/Rotation_group_SO(3)#Connection_between_SO(3)_and_SU(2)" class="mw-redirect" title="Rotation group SO(3)">Rotation group SO(3) § Connection between SO(3) and SU(2)</a></div> <p>The Lie group of <span class="texhtml"><i>n</i> × <i>n</i></span> rotation matrices, <span class="texhtml">SO(<i>n</i>)</span>, is not <a href="/wiki/Simply_connected_space" title="Simply connected space">simply connected</a>, so Lie theory tells us it is a homomorphic image of a <a href="/wiki/Universal_covering_group" class="mw-redirect" title="Universal covering group">universal covering group</a>. Often the covering group, which in this case is called the <a href="/wiki/Spin_group" title="Spin group">spin group</a> denoted by <span class="texhtml">Spin(<i>n</i>)</span>, is simpler and more natural to work with.<sup id="cite_ref-21" class="reference"><a href="#cite_note-21"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup> </p><p>In the case of planar rotations, SO(2) is topologically a <a href="/wiki/Circle" title="Circle">circle</a>, <span class="texhtml"><i>S</i><sup>1</sup></span>. Its universal covering group, Spin(2), is isomorphic to the <a href="/wiki/Real_line" class="mw-redirect" title="Real line">real line</a>, <span class="texhtml"><b>R</b></span>, under addition. Whenever angles of arbitrary magnitude are used one is taking advantage of the convenience of the universal cover. Every <span class="nowrap">2 × 2</span> rotation matrix is produced by a countable infinity of angles, separated by integer multiples of 2<span class="texhtml mvar" style="font-style:italic;">π</span>. Correspondingly, the <a href="/wiki/Fundamental_group" title="Fundamental group">fundamental group</a> of <span class="texhtml">SO(2)</span> is isomorphic to the integers, <span class="texhtml"><b>Z</b></span>. </p><p>In the case of spatial rotations, <a href="/wiki/Rotation_group_SO(3)" class="mw-redirect" title="Rotation group SO(3)">SO(3)</a> is topologically equivalent to three-dimensional <a href="/wiki/Real_projective_space" title="Real projective space">real projective space</a>, <span class="texhtml"><b>RP</b><sup>3</sup></span>. Its universal covering group, Spin(3), is isomorphic to the <span class="nowrap">3-sphere</span>, <span class="texhtml"><i>S</i><sup>3</sup></span>. Every <span class="nowrap">3 × 3</span> rotation matrix is produced by two opposite points on the sphere. Correspondingly, the <a href="/wiki/Fundamental_group" title="Fundamental group">fundamental group</a> of SO(3) is isomorphic to the two-element group, <span class="texhtml"><b>Z</b><sub>2</sub></span>. </p><p>We can also describe Spin(3) as isomorphic to <a href="/wiki/Quaternion" title="Quaternion">quaternions</a> of unit norm under multiplication, or to certain <span class="nowrap">4 × 4</span> real matrices, or to <span class="nowrap">2 × 2</span> complex <a href="/wiki/Special_unitary_group" title="Special unitary group">special unitary matrices</a>, namely SU(2). The covering maps for the first and the last case are given by </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbb {H} \supset \{q\in \mathbb {H} :\|q\|=1\}\ni w+\mathbf {i} x+\mathbf {j} y+\mathbf {k} z\mapsto {\begin{bmatrix}1-2y^{2}-2z^{2}&2xy-2zw&2xz+2yw\\2xy+2zw&1-2x^{2}-2z^{2}&2yz-2xw\\2xz-2yw&2yz+2xw&1-2x^{2}-2y^{2}\end{bmatrix}}\in \mathrm {SO} (3),}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="double-struck">H</mi> </mrow> <mo>⊃<!-- ⊃ --></mo> <mo fence="false" stretchy="false">{</mo> <mi>q</mi> <mo>∈<!-- ∈ --></mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="double-struck">H</mi> </mrow> <mo>:</mo> <mo fence="false" stretchy="false">‖<!-- ‖ --></mo> <mi>q</mi> <mo fence="false" stretchy="false">‖<!-- ‖ --></mo> <mo>=</mo> <mn>1</mn> <mo fence="false" stretchy="false">}</mo> <mo>∋<!-- ∋ --></mo> <mi>w</mi> <mo>+</mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">i</mi> </mrow> <mi>x</mi> <mo>+</mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">j</mi> </mrow> <mi>y</mi> <mo>+</mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">k</mi> </mrow> <mi>z</mi> <mo stretchy="false">↦<!-- ↦ --></mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mn>1</mn> <mo>−<!-- − --></mo> <mn>2</mn> <msup> <mi>y</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mo>−<!-- − --></mo> <mn>2</mn> <msup> <mi>z</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> </mtd> <mtd> <mn>2</mn> <mi>x</mi> <mi>y</mi> <mo>−<!-- − --></mo> <mn>2</mn> <mi>z</mi> <mi>w</mi> </mtd> <mtd> <mn>2</mn> <mi>x</mi> <mi>z</mi> <mo>+</mo> <mn>2</mn> <mi>y</mi> <mi>w</mi> </mtd> </mtr> <mtr> <mtd> <mn>2</mn> <mi>x</mi> <mi>y</mi> <mo>+</mo> <mn>2</mn> <mi>z</mi> <mi>w</mi> </mtd> <mtd> <mn>1</mn> <mo>−<!-- − --></mo> <mn>2</mn> <msup> <mi>x</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mo>−<!-- − --></mo> <mn>2</mn> <msup> <mi>z</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> </mtd> <mtd> <mn>2</mn> <mi>y</mi> <mi>z</mi> <mo>−<!-- − --></mo> <mn>2</mn> <mi>x</mi> <mi>w</mi> </mtd> </mtr> <mtr> <mtd> <mn>2</mn> <mi>x</mi> <mi>z</mi> <mo>−<!-- − --></mo> <mn>2</mn> <mi>y</mi> <mi>w</mi> </mtd> <mtd> <mn>2</mn> <mi>y</mi> <mi>z</mi> <mo>+</mo> <mn>2</mn> <mi>x</mi> <mi>w</mi> </mtd> <mtd> <mn>1</mn> <mo>−<!-- − --></mo> <mn>2</mn> <msup> <mi>x</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mo>−<!-- − --></mo> <mn>2</mn> <msup> <mi>y</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> <mo>∈<!-- ∈ --></mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="normal">S</mi> <mi mathvariant="normal">O</mi> </mrow> <mo stretchy="false">(</mo> <mn>3</mn> <mo stretchy="false">)</mo> <mo>,</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \mathbb {H} \supset \{q\in \mathbb {H} :\|q\|=1\}\ni w+\mathbf {i} x+\mathbf {j} y+\mathbf {k} z\mapsto {\begin{bmatrix}1-2y^{2}-2z^{2}&2xy-2zw&2xz+2yw\\2xy+2zw&1-2x^{2}-2z^{2}&2yz-2xw\\2xz-2yw&2yz+2xw&1-2x^{2}-2y^{2}\end{bmatrix}}\in \mathrm {SO} (3),}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/05a70074e624e521ca533cbafb7a915d465139f2" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -3.973ex; margin-bottom: -0.198ex; width:104.773ex; height:9.509ex;" alt="{\displaystyle \mathbb {H} \supset \{q\in \mathbb {H} :\|q\|=1\}\ni w+\mathbf {i} x+\mathbf {j} y+\mathbf {k} z\mapsto {\begin{bmatrix}1-2y^{2}-2z^{2}&2xy-2zw&2xz+2yw\\2xy+2zw&1-2x^{2}-2z^{2}&2yz-2xw\\2xz-2yw&2yz+2xw&1-2x^{2}-2y^{2}\end{bmatrix}}\in \mathrm {SO} (3),}"></span></dd></dl> <p>and </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathrm {SU} (2)\ni {\begin{bmatrix}\alpha &\beta \\-{\overline {\beta }}&{\overline {\alpha }}\end{bmatrix}}\mapsto {\begin{bmatrix}{\frac {1}{2}}\left(\alpha ^{2}-\beta ^{2}+{\overline {\alpha ^{2}}}-{\overline {\beta ^{2}}}\right)&{\frac {i}{2}}\left(-\alpha ^{2}-\beta ^{2}+{\overline {\alpha ^{2}}}+{\overline {\beta ^{2}}}\right)&-\alpha \beta -{\overline {\alpha }}{\overline {\beta }}\\{\frac {i}{2}}\left(\alpha ^{2}-\beta ^{2}-{\overline {\alpha ^{2}}}+{\overline {\beta ^{2}}}\right)&{\frac {i}{2}}\left(\alpha ^{2}+\beta ^{2}+{\overline {\alpha ^{2}}}+{\overline {\beta ^{2}}}\right)&-i\left(+\alpha \beta -{\overline {\alpha }}{\overline {\beta }}\right)\\\alpha {\overline {\beta }}+{\overline {\alpha }}\beta &i\left(-\alpha {\overline {\beta }}+{\overline {\alpha }}\beta \right)&\alpha {\overline {\alpha }}-\beta {\overline {\beta }}\end{bmatrix}}\in \mathrm {SO} (3).}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="normal">S</mi> <mi mathvariant="normal">U</mi> </mrow> <mo stretchy="false">(</mo> <mn>2</mn> <mo stretchy="false">)</mo> <mo>∋<!-- ∋ --></mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mi>α<!-- α --></mi> </mtd> <mtd> <mi>β<!-- β --></mi> </mtd> </mtr> <mtr> <mtd> <mo>−<!-- − --></mo> <mrow class="MJX-TeXAtom-ORD"> <mover> <mi>β<!-- β --></mi> <mo accent="false">¯<!-- ¯ --></mo> </mover> </mrow> </mtd> <mtd> <mrow class="MJX-TeXAtom-ORD"> <mover> <mi>α<!-- α --></mi> <mo accent="false">¯<!-- ¯ --></mo> </mover> </mrow> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> <mo stretchy="false">↦<!-- ↦ --></mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mrow class="MJX-TeXAtom-ORD"> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> </mrow> <mrow> <mo>(</mo> <mrow> <msup> <mi>α<!-- α --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mo>−<!-- − --></mo> <msup> <mi>β<!-- β --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mo>+</mo> <mrow class="MJX-TeXAtom-ORD"> <mover> <msup> <mi>α<!-- α --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mo accent="false">¯<!-- ¯ --></mo> </mover> </mrow> <mo>−<!-- − --></mo> <mrow class="MJX-TeXAtom-ORD"> <mover> <msup> <mi>β<!-- β --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mo accent="false">¯<!-- ¯ --></mo> </mover> </mrow> </mrow> <mo>)</mo> </mrow> </mtd> <mtd> <mrow class="MJX-TeXAtom-ORD"> <mfrac> <mi>i</mi> <mn>2</mn> </mfrac> </mrow> <mrow> <mo>(</mo> <mrow> <mo>−<!-- − --></mo> <msup> <mi>α<!-- α --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mo>−<!-- − --></mo> <msup> <mi>β<!-- β --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mo>+</mo> <mrow class="MJX-TeXAtom-ORD"> <mover> <msup> <mi>α<!-- α --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mo accent="false">¯<!-- ¯ --></mo> </mover> </mrow> <mo>+</mo> <mrow class="MJX-TeXAtom-ORD"> <mover> <msup> <mi>β<!-- β --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mo accent="false">¯<!-- ¯ --></mo> </mover> </mrow> </mrow> <mo>)</mo> </mrow> </mtd> <mtd> <mo>−<!-- − --></mo> <mi>α<!-- α --></mi> <mi>β<!-- β --></mi> <mo>−<!-- − --></mo> <mrow class="MJX-TeXAtom-ORD"> <mover> <mi>α<!-- α --></mi> <mo accent="false">¯<!-- ¯ --></mo> </mover> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mover> <mi>β<!-- β --></mi> <mo accent="false">¯<!-- ¯ --></mo> </mover> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow class="MJX-TeXAtom-ORD"> <mfrac> <mi>i</mi> <mn>2</mn> </mfrac> </mrow> <mrow> <mo>(</mo> <mrow> <msup> <mi>α<!-- α --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mo>−<!-- − --></mo> <msup> <mi>β<!-- β --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mo>−<!-- − --></mo> <mrow class="MJX-TeXAtom-ORD"> <mover> <msup> <mi>α<!-- α --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mo accent="false">¯<!-- ¯ --></mo> </mover> </mrow> <mo>+</mo> <mrow class="MJX-TeXAtom-ORD"> <mover> <msup> <mi>β<!-- β --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mo accent="false">¯<!-- ¯ --></mo> </mover> </mrow> </mrow> <mo>)</mo> </mrow> </mtd> <mtd> <mrow class="MJX-TeXAtom-ORD"> <mfrac> <mi>i</mi> <mn>2</mn> </mfrac> </mrow> <mrow> <mo>(</mo> <mrow> <msup> <mi>α<!-- α --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mo>+</mo> <msup> <mi>β<!-- β --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mo>+</mo> <mrow class="MJX-TeXAtom-ORD"> <mover> <msup> <mi>α<!-- α --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mo accent="false">¯<!-- ¯ --></mo> </mover> </mrow> <mo>+</mo> <mrow class="MJX-TeXAtom-ORD"> <mover> <msup> <mi>β<!-- β --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mo accent="false">¯<!-- ¯ --></mo> </mover> </mrow> </mrow> <mo>)</mo> </mrow> </mtd> <mtd> <mo>−<!-- − --></mo> <mi>i</mi> <mrow> <mo>(</mo> <mrow> <mo>+</mo> <mi>α<!-- α --></mi> <mi>β<!-- β --></mi> <mo>−<!-- − --></mo> <mrow class="MJX-TeXAtom-ORD"> <mover> <mi>α<!-- α --></mi> <mo accent="false">¯<!-- ¯ --></mo> </mover> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mover> <mi>β<!-- β --></mi> <mo accent="false">¯<!-- ¯ --></mo> </mover> </mrow> </mrow> <mo>)</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mi>α<!-- α --></mi> <mrow class="MJX-TeXAtom-ORD"> <mover> <mi>β<!-- β --></mi> <mo accent="false">¯<!-- ¯ --></mo> </mover> </mrow> <mo>+</mo> <mrow class="MJX-TeXAtom-ORD"> <mover> <mi>α<!-- α --></mi> <mo accent="false">¯<!-- ¯ --></mo> </mover> </mrow> <mi>β<!-- β --></mi> </mtd> <mtd> <mi>i</mi> <mrow> <mo>(</mo> <mrow> <mo>−<!-- − --></mo> <mi>α<!-- α --></mi> <mrow class="MJX-TeXAtom-ORD"> <mover> <mi>β<!-- β --></mi> <mo accent="false">¯<!-- ¯ --></mo> </mover> </mrow> <mo>+</mo> <mrow class="MJX-TeXAtom-ORD"> <mover> <mi>α<!-- α --></mi> <mo accent="false">¯<!-- ¯ --></mo> </mover> </mrow> <mi>β<!-- β --></mi> </mrow> <mo>)</mo> </mrow> </mtd> <mtd> <mi>α<!-- α --></mi> <mrow class="MJX-TeXAtom-ORD"> <mover> <mi>α<!-- α --></mi> <mo accent="false">¯<!-- ¯ --></mo> </mover> </mrow> <mo>−<!-- − --></mo> <mi>β<!-- β --></mi> <mrow class="MJX-TeXAtom-ORD"> <mover> <mi>β<!-- β --></mi> <mo accent="false">¯<!-- ¯ --></mo> </mover> </mrow> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> <mo>∈<!-- ∈ --></mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="normal">S</mi> <mi mathvariant="normal">O</mi> </mrow> <mo stretchy="false">(</mo> <mn>3</mn> <mo stretchy="false">)</mo> <mo>.</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \mathrm {SU} (2)\ni {\begin{bmatrix}\alpha &\beta \\-{\overline {\beta }}&{\overline {\alpha }}\end{bmatrix}}\mapsto {\begin{bmatrix}{\frac {1}{2}}\left(\alpha ^{2}-\beta ^{2}+{\overline {\alpha ^{2}}}-{\overline {\beta ^{2}}}\right)&{\frac {i}{2}}\left(-\alpha ^{2}-\beta ^{2}+{\overline {\alpha ^{2}}}+{\overline {\beta ^{2}}}\right)&-\alpha \beta -{\overline {\alpha }}{\overline {\beta }}\\{\frac {i}{2}}\left(\alpha ^{2}-\beta ^{2}-{\overline {\alpha ^{2}}}+{\overline {\beta ^{2}}}\right)&{\frac {i}{2}}\left(\alpha ^{2}+\beta ^{2}+{\overline {\alpha ^{2}}}+{\overline {\beta ^{2}}}\right)&-i\left(+\alpha \beta -{\overline {\alpha }}{\overline {\beta }}\right)\\\alpha {\overline {\beta }}+{\overline {\alpha }}\beta &i\left(-\alpha {\overline {\beta }}+{\overline {\alpha }}\beta \right)&\alpha {\overline {\alpha }}-\beta {\overline {\beta }}\end{bmatrix}}\in \mathrm {SO} (3).}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/dd5eef20ce8556efe80278ff6b3c7e579be85340" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -6.838ex; width:105.902ex; height:14.843ex;" alt="{\displaystyle \mathrm {SU} (2)\ni {\begin{bmatrix}\alpha &\beta \\-{\overline {\beta }}&{\overline {\alpha }}\end{bmatrix}}\mapsto {\begin{bmatrix}{\frac {1}{2}}\left(\alpha ^{2}-\beta ^{2}+{\overline {\alpha ^{2}}}-{\overline {\beta ^{2}}}\right)&{\frac {i}{2}}\left(-\alpha ^{2}-\beta ^{2}+{\overline {\alpha ^{2}}}+{\overline {\beta ^{2}}}\right)&-\alpha \beta -{\overline {\alpha }}{\overline {\beta }}\\{\frac {i}{2}}\left(\alpha ^{2}-\beta ^{2}-{\overline {\alpha ^{2}}}+{\overline {\beta ^{2}}}\right)&{\frac {i}{2}}\left(\alpha ^{2}+\beta ^{2}+{\overline {\alpha ^{2}}}+{\overline {\beta ^{2}}}\right)&-i\left(+\alpha \beta -{\overline {\alpha }}{\overline {\beta }}\right)\\\alpha {\overline {\beta }}+{\overline {\alpha }}\beta &i\left(-\alpha {\overline {\beta }}+{\overline {\alpha }}\beta \right)&\alpha {\overline {\alpha }}-\beta {\overline {\beta }}\end{bmatrix}}\in \mathrm {SO} (3).}"></span></dd></dl> <p>For a detailed account of the <span class="nowrap">SU(2)-covering</span> and the quaternionic covering, see <a href="/wiki/Rotation_group_SO(3)#Connection_between_SO(3)_and_SU(2)" class="mw-redirect" title="Rotation group SO(3)">spin group SO(3)</a>. </p><p>Many features of these cases are the same for higher dimensions. The coverings are all two-to-one, with <span class="texhtml">SO(<i>n</i>)</span>, <span class="texhtml"><i>n</i> > 2</span>, having fundamental group <span class="texhtml"><b>Z</b><sub>2</sub></span>. The natural setting for these groups is within a <a href="/wiki/Clifford_algebra" title="Clifford algebra">Clifford algebra</a>. One type of action of the rotations is produced by a kind of "sandwich", denoted by <span class="texhtml"><i>qvq</i><sup>∗</sup></span>. More importantly in applications to physics, the corresponding spin representation of the Lie algebra sits inside the Clifford algebra. It can be exponentiated in the usual way to give rise to a <span class="nowrap">2-valued</span> representation, also known as <a href="/wiki/Projective_representation" title="Projective representation">projective representation</a> of the rotation group. This is the case with SO(3) and SU(2), where the <span class="nowrap">2-valued</span> representation can be viewed as an "inverse" of the covering map. By properties of covering maps, the inverse can be chosen ono-to-one as a local section, but not globally. </p> <div class="mw-heading mw-heading3"><h3 id="Infinitesimal_rotations">Infinitesimal rotations</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Rotation_matrix&action=edit&section=31" title="Edit section: Infinitesimal rotations"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951"><div role="note" class="hatnote navigation-not-searchable">Main article: <a href="/wiki/Infinitesimal_rotation_matrix" title="Infinitesimal rotation matrix">Infinitesimal rotation matrix</a></div> <p>The matrices in the Lie algebra are not themselves rotations; the skew-symmetric matrices are derivatives, proportional differences of rotations. An actual "differential rotation", or <i>infinitesimal rotation matrix</i> has the form </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle I+A\,d\theta ,}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>I</mi> <mo>+</mo> <mi>A</mi> <mspace width="thinmathspace" /> <mi>d</mi> <mi>θ<!-- θ --></mi> <mo>,</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle I+A\,d\theta ,}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/2e29cf9610cd419663ca07092dc0bfaf11048f6e" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:9.096ex; height:2.509ex;" alt="{\displaystyle I+A\,d\theta ,}"></span></dd></dl> <p>where <span class="texhtml"><i>dθ</i></span> is vanishingly small and <span class="texhtml"><i>A</i> ∈ <b>so</b>(n)</span>, for instance with <span class="texhtml"><i>A</i> = <i>L</i><sub><i>x</i></sub></span>, </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle dL_{x}={\begin{bmatrix}1&0&0\\0&1&-d\theta \\0&d\theta &1\end{bmatrix}}.}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>d</mi> <msub> <mi>L</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> </mrow> </msub> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mn>1</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mn>1</mn> </mtd> <mtd> <mo>−<!-- − --></mo> <mi>d</mi> <mi>θ<!-- θ --></mi> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mi>d</mi> <mi>θ<!-- θ --></mi> </mtd> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> <mo>.</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle dL_{x}={\begin{bmatrix}1&0&0\\0&1&-d\theta \\0&d\theta &1\end{bmatrix}}.}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/d81596610fbd23af0d094a16c6d0c4d33e2cab2b" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -4.005ex; width:23.797ex; height:9.176ex;" alt="{\displaystyle dL_{x}={\begin{bmatrix}1&0&0\\0&1&-d\theta \\0&d\theta &1\end{bmatrix}}.}"></span></dd></dl> <p>The computation rules are as usual except that infinitesimals of second order are routinely dropped. With these rules, these matrices do not satisfy all the same properties as ordinary finite rotation matrices under the usual treatment of infinitesimals.<sup id="cite_ref-22" class="reference"><a href="#cite_note-22"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup> It turns out that <i>the order in which infinitesimal rotations are applied is irrelevant</i>. To see this exemplified, consult <a href="/wiki/Rotation_group_SO(3)#Infinitesimal_rotations" class="mw-redirect" title="Rotation group SO(3)">infinitesimal rotations SO(3)</a>. </p> <div class="mw-heading mw-heading2"><h2 id="Conversions">Conversions</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Rotation_matrix&action=edit&section=32" title="Edit section: Conversions"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951"><div role="note" class="hatnote navigation-not-searchable">See also: <a href="/wiki/Rotation_formalisms_in_three_dimensions#Conversion_formulae_between_formalisms" title="Rotation formalisms in three dimensions">Rotation formalisms in three dimensions § Conversion formulae between formalisms</a></div> <p>We have seen the existence of several decompositions that apply in any dimension, namely independent planes, sequential angles, and nested dimensions. In all these cases we can either decompose a matrix or construct one. We have also given special attention to <span class="nowrap">3 × 3</span> rotation matrices, and these warrant further attention, in both directions (<a href="#CITEREFStuelpnagel1964">Stuelpnagel 1964</a>). </p> <div class="mw-heading mw-heading3"><h3 id="Quaternion">Quaternion</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Rotation_matrix&action=edit&section=33" title="Edit section: Quaternion"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951"><div role="note" class="hatnote navigation-not-searchable">Main article: <a href="/wiki/Quaternions_and_spatial_rotation" title="Quaternions and spatial rotation">Quaternions and spatial rotation</a></div> <p>Given the unit quaternion <span class="texhtml"><b>q</b> = <i>w</i> + <i>x</i><b>i</b> + <i>y</i><b>j</b> + <i>z</i><b>k</b></span>, the equivalent pre-multiplied (to be used with column vectors) <span class="nowrap">3 × 3</span> rotation matrix is <sup id="cite_ref-23" class="reference"><a href="#cite_note-23"><span class="cite-bracket">[</span>19<span class="cite-bracket">]</span></a></sup> </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle Q={\begin{bmatrix}1-2y^{2}-2z^{2}&2xy-2zw&2xz+2yw\\2xy+2zw&1-2x^{2}-2z^{2}&2yz-2xw\\2xz-2yw&2yz+2xw&1-2x^{2}-2y^{2}\end{bmatrix}}.}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>Q</mi> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mn>1</mn> <mo>−<!-- − --></mo> <mn>2</mn> <msup> <mi>y</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mo>−<!-- − --></mo> <mn>2</mn> <msup> <mi>z</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> </mtd> <mtd> <mn>2</mn> <mi>x</mi> <mi>y</mi> <mo>−<!-- − --></mo> <mn>2</mn> <mi>z</mi> <mi>w</mi> </mtd> <mtd> <mn>2</mn> <mi>x</mi> <mi>z</mi> <mo>+</mo> <mn>2</mn> <mi>y</mi> <mi>w</mi> </mtd> </mtr> <mtr> <mtd> <mn>2</mn> <mi>x</mi> <mi>y</mi> <mo>+</mo> <mn>2</mn> <mi>z</mi> <mi>w</mi> </mtd> <mtd> <mn>1</mn> <mo>−<!-- − --></mo> <mn>2</mn> <msup> <mi>x</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mo>−<!-- − --></mo> <mn>2</mn> <msup> <mi>z</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> </mtd> <mtd> <mn>2</mn> <mi>y</mi> <mi>z</mi> <mo>−<!-- − --></mo> <mn>2</mn> <mi>x</mi> <mi>w</mi> </mtd> </mtr> <mtr> <mtd> <mn>2</mn> <mi>x</mi> <mi>z</mi> <mo>−<!-- − --></mo> <mn>2</mn> <mi>y</mi> <mi>w</mi> </mtd> <mtd> <mn>2</mn> <mi>y</mi> <mi>z</mi> <mo>+</mo> <mn>2</mn> <mi>x</mi> <mi>w</mi> </mtd> <mtd> <mn>1</mn> <mo>−<!-- − --></mo> <mn>2</mn> <msup> <mi>x</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mo>−<!-- − --></mo> <mn>2</mn> <msup> <mi>y</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> <mo>.</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle Q={\begin{bmatrix}1-2y^{2}-2z^{2}&2xy-2zw&2xz+2yw\\2xy+2zw&1-2x^{2}-2z^{2}&2yz-2xw\\2xz-2yw&2yz+2xw&1-2x^{2}-2y^{2}\end{bmatrix}}.}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/e462d99341f03df03fe2faabecb908cd60a21860" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -3.973ex; margin-bottom: -0.198ex; width:55.072ex; height:9.509ex;" alt="{\displaystyle Q={\begin{bmatrix}1-2y^{2}-2z^{2}&2xy-2zw&2xz+2yw\\2xy+2zw&1-2x^{2}-2z^{2}&2yz-2xw\\2xz-2yw&2yz+2xw&1-2x^{2}-2y^{2}\end{bmatrix}}.}"></span></dd></dl> <p>Now every <a href="/wiki/Quaternion" title="Quaternion">quaternion</a> component appears multiplied by two in a term of degree two, and if all such terms are zero what is left is an identity matrix. This leads to an efficient, robust conversion from any quaternion – whether unit or non-unit – to a <span class="nowrap">3 × 3</span> rotation matrix. Given: </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{aligned}n&=w\times w+x\times x+y\times y+z\times z\\s&={\begin{cases}0&{\text{if }}n=0\\{\frac {2}{n}}&{\text{otherwise}}\end{cases}}\\\end{aligned}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"> <mtr> <mtd> <mi>n</mi> </mtd> <mtd> <mi></mi> <mo>=</mo> <mi>w</mi> <mo>×<!-- × --></mo> <mi>w</mi> <mo>+</mo> <mi>x</mi> <mo>×<!-- × --></mo> <mi>x</mi> <mo>+</mo> <mi>y</mi> <mo>×<!-- × --></mo> <mi>y</mi> <mo>+</mo> <mi>z</mi> <mo>×<!-- × --></mo> <mi>z</mi> </mtd> </mtr> <mtr> <mtd> <mi>s</mi> </mtd> <mtd> <mi></mi> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>{</mo> <mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false"> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mrow class="MJX-TeXAtom-ORD"> <mtext>if </mtext> </mrow> <mi>n</mi> <mo>=</mo> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mrow class="MJX-TeXAtom-ORD"> <mfrac> <mn>2</mn> <mi>n</mi> </mfrac> </mrow> </mtd> <mtd> <mrow class="MJX-TeXAtom-ORD"> <mtext>otherwise</mtext> </mrow> </mtd> </mtr> </mtable> <mo fence="true" stretchy="true" symmetric="true"></mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\begin{aligned}n&=w\times w+x\times x+y\times y+z\times z\\s&={\begin{cases}0&{\text{if }}n=0\\{\frac {2}{n}}&{\text{otherwise}}\end{cases}}\\\end{aligned}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/7403f5f19b4ebb2bcd306aa9fc3f6e68c10db112" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -4.005ex; width:35.602ex; height:9.176ex;" alt="{\displaystyle {\begin{aligned}n&=w\times w+x\times x+y\times y+z\times z\\s&={\begin{cases}0&{\text{if }}n=0\\{\frac {2}{n}}&{\text{otherwise}}\end{cases}}\\\end{aligned}}}"></span></dd></dl> <p>we can calculate </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle Q={\begin{bmatrix}1-s(yy+zz)&s(xy-wz)&s(xz+wy)\\s(xy+wz)&1-s(xx+zz)&s(yz-wx)\\s(xz-wy)&s(yz+wx)&1-s(xx+yy)\end{bmatrix}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>Q</mi> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mn>1</mn> <mo>−<!-- − --></mo> <mi>s</mi> <mo stretchy="false">(</mo> <mi>y</mi> <mi>y</mi> <mo>+</mo> <mi>z</mi> <mi>z</mi> <mo stretchy="false">)</mo> </mtd> <mtd> <mi>s</mi> <mo stretchy="false">(</mo> <mi>x</mi> <mi>y</mi> <mo>−<!-- − --></mo> <mi>w</mi> <mi>z</mi> <mo stretchy="false">)</mo> </mtd> <mtd> <mi>s</mi> <mo stretchy="false">(</mo> <mi>x</mi> <mi>z</mi> <mo>+</mo> <mi>w</mi> <mi>y</mi> <mo stretchy="false">)</mo> </mtd> </mtr> <mtr> <mtd> <mi>s</mi> <mo stretchy="false">(</mo> <mi>x</mi> <mi>y</mi> <mo>+</mo> <mi>w</mi> <mi>z</mi> <mo stretchy="false">)</mo> </mtd> <mtd> <mn>1</mn> <mo>−<!-- − --></mo> <mi>s</mi> <mo stretchy="false">(</mo> <mi>x</mi> <mi>x</mi> <mo>+</mo> <mi>z</mi> <mi>z</mi> <mo stretchy="false">)</mo> </mtd> <mtd> <mi>s</mi> <mo stretchy="false">(</mo> <mi>y</mi> <mi>z</mi> <mo>−<!-- − --></mo> <mi>w</mi> <mi>x</mi> <mo stretchy="false">)</mo> </mtd> </mtr> <mtr> <mtd> <mi>s</mi> <mo stretchy="false">(</mo> <mi>x</mi> <mi>z</mi> <mo>−<!-- − --></mo> <mi>w</mi> <mi>y</mi> <mo stretchy="false">)</mo> </mtd> <mtd> <mi>s</mi> <mo stretchy="false">(</mo> <mi>y</mi> <mi>z</mi> <mo>+</mo> <mi>w</mi> <mi>x</mi> <mo stretchy="false">)</mo> </mtd> <mtd> <mn>1</mn> <mo>−<!-- − --></mo> <mi>s</mi> <mo stretchy="false">(</mo> <mi>x</mi> <mi>x</mi> <mo>+</mo> <mi>y</mi> <mi>y</mi> <mo stretchy="false">)</mo> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle Q={\begin{bmatrix}1-s(yy+zz)&s(xy-wz)&s(xz+wy)\\s(xy+wz)&1-s(xx+zz)&s(yz-wx)\\s(xz-wy)&s(yz+wx)&1-s(xx+yy)\end{bmatrix}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/0dd9cf5071504ef1a345d2e16eb56cb135dd9019" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -4.338ex; width:56.956ex; height:9.843ex;" alt="{\displaystyle Q={\begin{bmatrix}1-s(yy+zz)&s(xy-wz)&s(xz+wy)\\s(xy+wz)&1-s(xx+zz)&s(yz-wx)\\s(xz-wy)&s(yz+wx)&1-s(xx+yy)\end{bmatrix}}}"></span></dd></dl> <p>Freed from the demand for a unit quaternion, we find that nonzero quaternions act as <a href="/wiki/Homogeneous_coordinates" title="Homogeneous coordinates">homogeneous coordinates</a> for <span class="nowrap">3 × 3</span> rotation matrices. The Cayley transform, discussed earlier, is obtained by scaling the quaternion so that its <span class="texhtml mvar" style="font-style:italic;">w</span> component is 1. For a 180° rotation around any axis, <span class="texhtml mvar" style="font-style:italic;">w</span> will be zero, which explains the Cayley limitation. </p><p>The sum of the entries along the main diagonal (the <a href="/wiki/Trace_(linear_algebra)" title="Trace (linear algebra)">trace</a>), plus one, equals <span class="texhtml">4 − 4(<i>x</i><sup>2</sup> + <i>y</i><sup>2</sup> + <i>z</i><sup>2</sup>)</span>, which is <span class="texhtml">4<i>w</i><sup>2</sup></span>. Thus we can write the trace itself as <span class="texhtml">2<i>w</i><sup>2</sup> + 2<i>w</i><sup>2</sup> − 1</span>; and from the previous version of the matrix we see that the diagonal entries themselves have the same form: <span class="texhtml">2<i>x</i><sup>2</sup> + 2<i>w</i><sup>2</sup> − 1</span>, <span class="texhtml">2<i>y</i><sup>2</sup> + 2<i>w</i><sup>2</sup> − 1</span>, and <span class="texhtml">2<i>z</i><sup>2</sup> + 2<i>w</i><sup>2</sup> − 1</span>. So we can easily compare the magnitudes of all four quaternion components using the matrix diagonal. We can, in fact, obtain all four magnitudes using sums and square roots, and choose consistent signs using the skew-symmetric part of the off-diagonal entries: </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{aligned}t&=\operatorname {tr} Q=Q_{xx}+Q_{yy}+Q_{zz}\quad ({\text{the trace of }}Q)\\r&={\sqrt {1+t}}\\w&={\tfrac {1}{2}}r\\x&=\operatorname {sgn} \left(Q_{zy}-Q_{yz}\right)\left|{\tfrac {1}{2}}{\sqrt {1+Q_{xx}-Q_{yy}-Q_{zz}}}\right|\\y&=\operatorname {sgn} \left(Q_{xz}-Q_{zx}\right)\left|{\tfrac {1}{2}}{\sqrt {1-Q_{xx}+Q_{yy}-Q_{zz}}}\right|\\z&=\operatorname {sgn} \left(Q_{yx}-Q_{xy}\right)\left|{\tfrac {1}{2}}{\sqrt {1-Q_{xx}-Q_{yy}+Q_{zz}}}\right|\end{aligned}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"> <mtr> <mtd> <mi>t</mi> </mtd> <mtd> <mi></mi> <mo>=</mo> <mi>tr</mi> <mo>⁡<!-- --></mo> <mi>Q</mi> <mo>=</mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> <mi>x</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> <mi>y</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>z</mi> <mi>z</mi> </mrow> </msub> <mspace width="1em" /> <mo stretchy="false">(</mo> <mrow class="MJX-TeXAtom-ORD"> <mtext>the trace of </mtext> </mrow> <mi>Q</mi> <mo stretchy="false">)</mo> </mtd> </mtr> <mtr> <mtd> <mi>r</mi> </mtd> <mtd> <mi></mi> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <msqrt> <mn>1</mn> <mo>+</mo> <mi>t</mi> </msqrt> </mrow> </mtd> </mtr> <mtr> <mtd> <mi>w</mi> </mtd> <mtd> <mi></mi> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="false" scriptlevel="0"> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> </mstyle> </mrow> <mi>r</mi> </mtd> </mtr> <mtr> <mtd> <mi>x</mi> </mtd> <mtd> <mi></mi> <mo>=</mo> <mi>sgn</mi> <mo>⁡<!-- --></mo> <mrow> <mo>(</mo> <mrow> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>z</mi> <mi>y</mi> </mrow> </msub> <mo>−<!-- − --></mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> <mi>z</mi> </mrow> </msub> </mrow> <mo>)</mo> </mrow> <mrow> <mo>|</mo> <mrow> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="false" scriptlevel="0"> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> </mstyle> </mrow> <mrow class="MJX-TeXAtom-ORD"> <msqrt> <mn>1</mn> <mo>+</mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> <mi>x</mi> </mrow> </msub> <mo>−<!-- − --></mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> <mi>y</mi> </mrow> </msub> <mo>−<!-- − --></mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>z</mi> <mi>z</mi> </mrow> </msub> </msqrt> </mrow> </mrow> <mo>|</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mi>y</mi> </mtd> <mtd> <mi></mi> <mo>=</mo> <mi>sgn</mi> <mo>⁡<!-- --></mo> <mrow> <mo>(</mo> <mrow> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> <mi>z</mi> </mrow> </msub> <mo>−<!-- − --></mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>z</mi> <mi>x</mi> </mrow> </msub> </mrow> <mo>)</mo> </mrow> <mrow> <mo>|</mo> <mrow> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="false" scriptlevel="0"> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> </mstyle> </mrow> <mrow class="MJX-TeXAtom-ORD"> <msqrt> <mn>1</mn> <mo>−<!-- − --></mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> <mi>x</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> <mi>y</mi> </mrow> </msub> <mo>−<!-- − --></mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>z</mi> <mi>z</mi> </mrow> </msub> </msqrt> </mrow> </mrow> <mo>|</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mi>z</mi> </mtd> <mtd> <mi></mi> <mo>=</mo> <mi>sgn</mi> <mo>⁡<!-- --></mo> <mrow> <mo>(</mo> <mrow> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> <mi>x</mi> </mrow> </msub> <mo>−<!-- − --></mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> <mi>y</mi> </mrow> </msub> </mrow> <mo>)</mo> </mrow> <mrow> <mo>|</mo> <mrow> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="false" scriptlevel="0"> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> </mstyle> </mrow> <mrow class="MJX-TeXAtom-ORD"> <msqrt> <mn>1</mn> <mo>−<!-- − --></mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> <mi>x</mi> </mrow> </msub> <mo>−<!-- − --></mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> <mi>y</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>z</mi> <mi>z</mi> </mrow> </msub> </msqrt> </mrow> </mrow> <mo>|</mo> </mrow> </mtd> </mtr> </mtable> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\begin{aligned}t&=\operatorname {tr} Q=Q_{xx}+Q_{yy}+Q_{zz}\quad ({\text{the trace of }}Q)\\r&={\sqrt {1+t}}\\w&={\tfrac {1}{2}}r\\x&=\operatorname {sgn} \left(Q_{zy}-Q_{yz}\right)\left|{\tfrac {1}{2}}{\sqrt {1+Q_{xx}-Q_{yy}-Q_{zz}}}\right|\\y&=\operatorname {sgn} \left(Q_{xz}-Q_{zx}\right)\left|{\tfrac {1}{2}}{\sqrt {1-Q_{xx}+Q_{yy}-Q_{zz}}}\right|\\z&=\operatorname {sgn} \left(Q_{yx}-Q_{xy}\right)\left|{\tfrac {1}{2}}{\sqrt {1-Q_{xx}-Q_{yy}+Q_{zz}}}\right|\end{aligned}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/4b7bb1f1edecd6c35056d263f23ca65b6b05325a" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -12.171ex; width:47.802ex; height:25.509ex;" alt="{\displaystyle {\begin{aligned}t&=\operatorname {tr} Q=Q_{xx}+Q_{yy}+Q_{zz}\quad ({\text{the trace of }}Q)\\r&={\sqrt {1+t}}\\w&={\tfrac {1}{2}}r\\x&=\operatorname {sgn} \left(Q_{zy}-Q_{yz}\right)\left|{\tfrac {1}{2}}{\sqrt {1+Q_{xx}-Q_{yy}-Q_{zz}}}\right|\\y&=\operatorname {sgn} \left(Q_{xz}-Q_{zx}\right)\left|{\tfrac {1}{2}}{\sqrt {1-Q_{xx}+Q_{yy}-Q_{zz}}}\right|\\z&=\operatorname {sgn} \left(Q_{yx}-Q_{xy}\right)\left|{\tfrac {1}{2}}{\sqrt {1-Q_{xx}-Q_{yy}+Q_{zz}}}\right|\end{aligned}}}"></span></dd></dl> <p>Alternatively, use a single square root and division </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{aligned}t&=\operatorname {tr} Q=Q_{xx}+Q_{yy}+Q_{zz}\\r&={\sqrt {1+t}}\\s&={\tfrac {1}{2r}}\\w&={\tfrac {1}{2}}r\\x&=\left(Q_{zy}-Q_{yz}\right)s\\y&=\left(Q_{xz}-Q_{zx}\right)s\\z&=\left(Q_{yx}-Q_{xy}\right)s\end{aligned}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"> <mtr> <mtd> <mi>t</mi> </mtd> <mtd> <mi></mi> <mo>=</mo> <mi>tr</mi> <mo>⁡<!-- --></mo> <mi>Q</mi> <mo>=</mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> <mi>x</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> <mi>y</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>z</mi> <mi>z</mi> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <mi>r</mi> </mtd> <mtd> <mi></mi> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <msqrt> <mn>1</mn> <mo>+</mo> <mi>t</mi> </msqrt> </mrow> </mtd> </mtr> <mtr> <mtd> <mi>s</mi> </mtd> <mtd> <mi></mi> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="false" scriptlevel="0"> <mfrac> <mn>1</mn> <mrow> <mn>2</mn> <mi>r</mi> </mrow> </mfrac> </mstyle> </mrow> </mtd> </mtr> <mtr> <mtd> <mi>w</mi> </mtd> <mtd> <mi></mi> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="false" scriptlevel="0"> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> </mstyle> </mrow> <mi>r</mi> </mtd> </mtr> <mtr> <mtd> <mi>x</mi> </mtd> <mtd> <mi></mi> <mo>=</mo> <mrow> <mo>(</mo> <mrow> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>z</mi> <mi>y</mi> </mrow> </msub> <mo>−<!-- − --></mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> <mi>z</mi> </mrow> </msub> </mrow> <mo>)</mo> </mrow> <mi>s</mi> </mtd> </mtr> <mtr> <mtd> <mi>y</mi> </mtd> <mtd> <mi></mi> <mo>=</mo> <mrow> <mo>(</mo> <mrow> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> <mi>z</mi> </mrow> </msub> <mo>−<!-- − --></mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>z</mi> <mi>x</mi> </mrow> </msub> </mrow> <mo>)</mo> </mrow> <mi>s</mi> </mtd> </mtr> <mtr> <mtd> <mi>z</mi> </mtd> <mtd> <mi></mi> <mo>=</mo> <mrow> <mo>(</mo> <mrow> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> <mi>x</mi> </mrow> </msub> <mo>−<!-- − --></mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> <mi>y</mi> </mrow> </msub> </mrow> <mo>)</mo> </mrow> <mi>s</mi> </mtd> </mtr> </mtable> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\begin{aligned}t&=\operatorname {tr} Q=Q_{xx}+Q_{yy}+Q_{zz}\\r&={\sqrt {1+t}}\\s&={\tfrac {1}{2r}}\\w&={\tfrac {1}{2}}r\\x&=\left(Q_{zy}-Q_{yz}\right)s\\y&=\left(Q_{xz}-Q_{zx}\right)s\\z&=\left(Q_{yx}-Q_{xy}\right)s\end{aligned}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/17be5dfd18683dcd9eed7a27ceae862669da1c96" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -11.171ex; width:29.6ex; height:23.509ex;" alt="{\displaystyle {\begin{aligned}t&=\operatorname {tr} Q=Q_{xx}+Q_{yy}+Q_{zz}\\r&={\sqrt {1+t}}\\s&={\tfrac {1}{2r}}\\w&={\tfrac {1}{2}}r\\x&=\left(Q_{zy}-Q_{yz}\right)s\\y&=\left(Q_{xz}-Q_{zx}\right)s\\z&=\left(Q_{yx}-Q_{xy}\right)s\end{aligned}}}"></span></dd></dl> <p>This is numerically stable so long as the trace, <span class="texhtml mvar" style="font-style:italic;">t</span>, is not negative; otherwise, we risk dividing by (nearly) zero. In that case, suppose <span class="texhtml mvar" style="font-style:italic;">Q<sub>xx</sub></span> is the largest diagonal entry, so <span class="texhtml mvar" style="font-style:italic;">x</span> will have the largest magnitude (the other cases are derived by cyclic permutation); then the following is safe. </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{aligned}r&={\sqrt {1+Q_{xx}-Q_{yy}-Q_{zz}}}\\s&={\tfrac {1}{2r}}\\w&=\left(Q_{zy}-Q_{yz}\right)s\\x&={\tfrac {1}{2}}r\\y&=\left(Q_{xy}+Q_{yx}\right)s\\z&=\left(Q_{zx}+Q_{xz}\right)s\end{aligned}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"> <mtr> <mtd> <mi>r</mi> </mtd> <mtd> <mi></mi> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <msqrt> <mn>1</mn> <mo>+</mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> <mi>x</mi> </mrow> </msub> <mo>−<!-- − --></mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> <mi>y</mi> </mrow> </msub> <mo>−<!-- − --></mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>z</mi> <mi>z</mi> </mrow> </msub> </msqrt> </mrow> </mtd> </mtr> <mtr> <mtd> <mi>s</mi> </mtd> <mtd> <mi></mi> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="false" scriptlevel="0"> <mfrac> <mn>1</mn> <mrow> <mn>2</mn> <mi>r</mi> </mrow> </mfrac> </mstyle> </mrow> </mtd> </mtr> <mtr> <mtd> <mi>w</mi> </mtd> <mtd> <mi></mi> <mo>=</mo> <mrow> <mo>(</mo> <mrow> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>z</mi> <mi>y</mi> </mrow> </msub> <mo>−<!-- − --></mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> <mi>z</mi> </mrow> </msub> </mrow> <mo>)</mo> </mrow> <mi>s</mi> </mtd> </mtr> <mtr> <mtd> <mi>x</mi> </mtd> <mtd> <mi></mi> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="false" scriptlevel="0"> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> </mstyle> </mrow> <mi>r</mi> </mtd> </mtr> <mtr> <mtd> <mi>y</mi> </mtd> <mtd> <mi></mi> <mo>=</mo> <mrow> <mo>(</mo> <mrow> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> <mi>y</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> <mi>x</mi> </mrow> </msub> </mrow> <mo>)</mo> </mrow> <mi>s</mi> </mtd> </mtr> <mtr> <mtd> <mi>z</mi> </mtd> <mtd> <mi></mi> <mo>=</mo> <mrow> <mo>(</mo> <mrow> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>z</mi> <mi>x</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> <mi>z</mi> </mrow> </msub> </mrow> <mo>)</mo> </mrow> <mi>s</mi> </mtd> </mtr> </mtable> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\begin{aligned}r&={\sqrt {1+Q_{xx}-Q_{yy}-Q_{zz}}}\\s&={\tfrac {1}{2r}}\\w&=\left(Q_{zy}-Q_{yz}\right)s\\x&={\tfrac {1}{2}}r\\y&=\left(Q_{xy}+Q_{yx}\right)s\\z&=\left(Q_{zx}+Q_{xz}\right)s\end{aligned}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/ed6dace56efa5bb48d30027bca5e239c82d4dd31" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -10.196ex; margin-bottom: -0.309ex; width:28.787ex; height:22.176ex;" alt="{\displaystyle {\begin{aligned}r&={\sqrt {1+Q_{xx}-Q_{yy}-Q_{zz}}}\\s&={\tfrac {1}{2r}}\\w&=\left(Q_{zy}-Q_{yz}\right)s\\x&={\tfrac {1}{2}}r\\y&=\left(Q_{xy}+Q_{yx}\right)s\\z&=\left(Q_{zx}+Q_{xz}\right)s\end{aligned}}}"></span></dd></dl> <p>If the matrix contains significant error, such as accumulated numerical error, we may construct a symmetric <span class="nowrap">4 × 4</span> matrix, </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle K={\frac {1}{3}}{\begin{bmatrix}Q_{xx}-Q_{yy}-Q_{zz}&Q_{yx}+Q_{xy}&Q_{zx}+Q_{xz}&Q_{zy}-Q_{yz}\\Q_{yx}+Q_{xy}&Q_{yy}-Q_{xx}-Q_{zz}&Q_{zy}+Q_{yz}&Q_{xz}-Q_{zx}\\Q_{zx}+Q_{xz}&Q_{zy}+Q_{yz}&Q_{zz}-Q_{xx}-Q_{yy}&Q_{yx}-Q_{xy}\\Q_{zy}-Q_{yz}&Q_{xz}-Q_{zx}&Q_{yx}-Q_{xy}&Q_{xx}+Q_{yy}+Q_{zz}\end{bmatrix}},}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>K</mi> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mfrac> <mn>1</mn> <mn>3</mn> </mfrac> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> <mi>x</mi> </mrow> </msub> <mo>−<!-- − --></mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> <mi>y</mi> </mrow> </msub> <mo>−<!-- − --></mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>z</mi> <mi>z</mi> </mrow> </msub> </mtd> <mtd> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> <mi>x</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> <mi>y</mi> </mrow> </msub> </mtd> <mtd> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>z</mi> <mi>x</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> <mi>z</mi> </mrow> </msub> </mtd> <mtd> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>z</mi> <mi>y</mi> </mrow> </msub> <mo>−<!-- − --></mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> <mi>z</mi> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> <mi>x</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> <mi>y</mi> </mrow> </msub> </mtd> <mtd> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> <mi>y</mi> </mrow> </msub> <mo>−<!-- − --></mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> <mi>x</mi> </mrow> </msub> <mo>−<!-- − --></mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>z</mi> <mi>z</mi> </mrow> </msub> </mtd> <mtd> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>z</mi> <mi>y</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> <mi>z</mi> </mrow> </msub> </mtd> <mtd> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> <mi>z</mi> </mrow> </msub> <mo>−<!-- − --></mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>z</mi> <mi>x</mi> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>z</mi> <mi>x</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> <mi>z</mi> </mrow> </msub> </mtd> <mtd> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>z</mi> <mi>y</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> <mi>z</mi> </mrow> </msub> </mtd> <mtd> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>z</mi> <mi>z</mi> </mrow> </msub> <mo>−<!-- − --></mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> <mi>x</mi> </mrow> </msub> <mo>−<!-- − --></mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> <mi>y</mi> </mrow> </msub> </mtd> <mtd> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> <mi>x</mi> </mrow> </msub> <mo>−<!-- − --></mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> <mi>y</mi> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>z</mi> <mi>y</mi> </mrow> </msub> <mo>−<!-- − --></mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> <mi>z</mi> </mrow> </msub> </mtd> <mtd> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> <mi>z</mi> </mrow> </msub> <mo>−<!-- − --></mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>z</mi> <mi>x</mi> </mrow> </msub> </mtd> <mtd> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> <mi>x</mi> </mrow> </msub> <mo>−<!-- − --></mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> <mi>y</mi> </mrow> </msub> </mtd> <mtd> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> <mi>x</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> <mi>y</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>z</mi> <mi>z</mi> </mrow> </msub> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> <mo>,</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle K={\frac {1}{3}}{\begin{bmatrix}Q_{xx}-Q_{yy}-Q_{zz}&Q_{yx}+Q_{xy}&Q_{zx}+Q_{xz}&Q_{zy}-Q_{yz}\\Q_{yx}+Q_{xy}&Q_{yy}-Q_{xx}-Q_{zz}&Q_{zy}+Q_{yz}&Q_{xz}-Q_{zx}\\Q_{zx}+Q_{xz}&Q_{zy}+Q_{yz}&Q_{zz}-Q_{xx}-Q_{yy}&Q_{yx}-Q_{xy}\\Q_{zy}-Q_{yz}&Q_{xz}-Q_{zx}&Q_{yx}-Q_{xy}&Q_{xx}+Q_{yy}+Q_{zz}\end{bmatrix}},}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/70ea5ac826ff7245555d6c20e4280414a9b7fa55" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -6.171ex; width:86.414ex; height:13.509ex;" alt="{\displaystyle K={\frac {1}{3}}{\begin{bmatrix}Q_{xx}-Q_{yy}-Q_{zz}&Q_{yx}+Q_{xy}&Q_{zx}+Q_{xz}&Q_{zy}-Q_{yz}\\Q_{yx}+Q_{xy}&Q_{yy}-Q_{xx}-Q_{zz}&Q_{zy}+Q_{yz}&Q_{xz}-Q_{zx}\\Q_{zx}+Q_{xz}&Q_{zy}+Q_{yz}&Q_{zz}-Q_{xx}-Q_{yy}&Q_{yx}-Q_{xy}\\Q_{zy}-Q_{yz}&Q_{xz}-Q_{zx}&Q_{yx}-Q_{xy}&Q_{xx}+Q_{yy}+Q_{zz}\end{bmatrix}},}"></span></dd></dl> <p>and find the <a href="/wiki/Eigenvector" class="mw-redirect" title="Eigenvector">eigenvector</a>, <span class="texhtml">(<i>x</i>, <i>y</i>, <i>z</i>, <i>w</i>)</span>, of its largest magnitude eigenvalue. (If <span class="texhtml mvar" style="font-style:italic;">Q</span> is truly a rotation matrix, that value will be 1.) The quaternion so obtained will correspond to the rotation matrix closest to the given matrix (<a href="#CITEREFBar-Itzhack2000">Bar-Itzhack 2000</a>) (Note: formulation of the cited article is post-multiplied, works with row vectors). </p> <div class="mw-heading mw-heading3"><h3 id="Polar_decomposition">Polar decomposition</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Rotation_matrix&action=edit&section=34" title="Edit section: Polar decomposition"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>If the <span class="texhtml"><i>n</i> × <i>n</i></span> matrix <span class="texhtml mvar" style="font-style:italic;">M</span> is nonsingular, its columns are linearly independent vectors; thus the <a href="/wiki/Gram%E2%80%93Schmidt_process" title="Gram–Schmidt process">Gram–Schmidt process</a> can adjust them to be an orthonormal basis. Stated in terms of <a href="/wiki/Numerical_linear_algebra" title="Numerical linear algebra">numerical linear algebra</a>, we convert <span class="texhtml mvar" style="font-style:italic;">M</span> to an orthogonal matrix, <span class="texhtml mvar" style="font-style:italic;">Q</span>, using <a href="/wiki/QR_decomposition" title="QR decomposition">QR decomposition</a>. However, we often prefer a <span class="texhtml mvar" style="font-style:italic;">Q</span> closest to <span class="texhtml mvar" style="font-style:italic;">M</span>, which this method does not accomplish. For that, the tool we want is the <a href="/wiki/Polar_decomposition" title="Polar decomposition">polar decomposition</a> (<a href="#CITEREFFanHoffman1955">Fan & Hoffman 1955</a>; <a href="#CITEREFHigham1989">Higham 1989</a>). </p><p>To measure closeness, we may use any <a href="/wiki/Matrix_norm" title="Matrix norm">matrix norm</a> invariant under orthogonal transformations. A convenient choice is the <a href="/wiki/Frobenius_norm" class="mw-redirect" title="Frobenius norm">Frobenius norm</a>, <span class="texhtml">‖<span class="nowrap" style="padding-left:0.1em; padding-right:0.1em;"><i>Q</i> − <i>M</i></span>‖<sub>F</sub></span>, squared, which is the sum of the squares of the element differences. Writing this in terms of the <a href="/wiki/Trace_(linear_algebra)" title="Trace (linear algebra)">trace</a>, <span class="texhtml">Tr</span>, our goal is, </p> <dl><dd>Find <span class="texhtml mvar" style="font-style:italic;">Q</span> minimizing <span class="texhtml">Tr( (<i>Q</i> − <i>M</i>)<sup>T</sup>(<i>Q</i> − <i>M</i>) )</span>, subject to <span class="texhtml"><i>Q</i><sup>T</sup><i>Q</i> = <i>I</i></span>.</dd></dl> <p>Though written in matrix terms, the <a href="/wiki/Objective_function" class="mw-redirect" title="Objective function">objective function</a> is just a quadratic polynomial. We can minimize it in the usual way, by finding where its derivative is zero. For a <span class="nowrap">3 × 3</span> matrix, the orthogonality constraint implies six scalar equalities that the entries of <span class="texhtml mvar" style="font-style:italic;">Q</span> must satisfy. To incorporate the constraint(s), we may employ a standard technique, <a href="/wiki/Lagrange_multipliers" class="mw-redirect" title="Lagrange multipliers">Lagrange multipliers</a>, assembled as a symmetric matrix, <span class="texhtml mvar" style="font-style:italic;">Y</span>. Thus our method is: </p> <dl><dd>Differentiate <span class="texhtml">Tr( (<i>Q</i> − <i>M</i>)<sup>T</sup>(<i>Q</i> − <i>M</i>) + (<i>Q</i><sup>T</sup><i>Q</i> − <i>I</i>)<i>Y</i> )</span> with respect to (the entries of) <span class="texhtml mvar" style="font-style:italic;">Q</span>, and equate to zero.</dd></dl> <div style="float:right; font-size:90%; border:1px solid black; padding:1em;"> <p>Consider a <span class="nowrap">2 × 2</span> example. Including constraints, we seek to minimize </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{aligned}&\left(Q_{xx}-M_{xx}\right)^{2}+\left(Q_{xy}-M_{xy}\right)^{2}+\left(Q_{yx}-M_{yx}\right)^{2}+\left(Q_{yy}-M_{yy}\right)^{2}\\&\quad {}+\left(Q_{xx}^{2}+Q_{yx}^{2}-1\right)Y_{xx}+\left(Q_{xy}^{2}+Q_{yy}^{2}-1\right)Y_{yy}+2\left(Q_{xx}Q_{xy}+Q_{yx}Q_{yy}\right)Y_{xy}.\end{aligned}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"> <mtr> <mtd /> <mtd> <msup> <mrow> <mo>(</mo> <mrow> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> <mi>x</mi> </mrow> </msub> <mo>−<!-- − --></mo> <msub> <mi>M</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> <mi>x</mi> </mrow> </msub> </mrow> <mo>)</mo> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mo>+</mo> <msup> <mrow> <mo>(</mo> <mrow> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> <mi>y</mi> </mrow> </msub> <mo>−<!-- − --></mo> <msub> <mi>M</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> <mi>y</mi> </mrow> </msub> </mrow> <mo>)</mo> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mo>+</mo> <msup> <mrow> <mo>(</mo> <mrow> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> <mi>x</mi> </mrow> </msub> <mo>−<!-- − --></mo> <msub> <mi>M</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> <mi>x</mi> </mrow> </msub> </mrow> <mo>)</mo> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mo>+</mo> <msup> <mrow> <mo>(</mo> <mrow> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> <mi>y</mi> </mrow> </msub> <mo>−<!-- − --></mo> <msub> <mi>M</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> <mi>y</mi> </mrow> </msub> </mrow> <mo>)</mo> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> </mtd> </mtr> <mtr> <mtd /> <mtd> <mi></mi> <mspace width="1em" /> <mrow class="MJX-TeXAtom-ORD"> </mrow> <mo>+</mo> <mrow> <mo>(</mo> <mrow> <msubsup> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> <mi>x</mi> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msubsup> <mo>+</mo> <msubsup> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> <mi>x</mi> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msubsup> <mo>−<!-- − --></mo> <mn>1</mn> </mrow> <mo>)</mo> </mrow> <msub> <mi>Y</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> <mi>x</mi> </mrow> </msub> <mo>+</mo> <mrow> <mo>(</mo> <mrow> <msubsup> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> <mi>y</mi> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msubsup> <mo>+</mo> <msubsup> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> <mi>y</mi> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msubsup> <mo>−<!-- − --></mo> <mn>1</mn> </mrow> <mo>)</mo> </mrow> <msub> <mi>Y</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> <mi>y</mi> </mrow> </msub> <mo>+</mo> <mn>2</mn> <mrow> <mo>(</mo> <mrow> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> <mi>x</mi> </mrow> </msub> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> <mi>y</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> <mi>x</mi> </mrow> </msub> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> <mi>y</mi> </mrow> </msub> </mrow> <mo>)</mo> </mrow> <msub> <mi>Y</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> <mi>y</mi> </mrow> </msub> <mo>.</mo> </mtd> </mtr> </mtable> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\begin{aligned}&\left(Q_{xx}-M_{xx}\right)^{2}+\left(Q_{xy}-M_{xy}\right)^{2}+\left(Q_{yx}-M_{yx}\right)^{2}+\left(Q_{yy}-M_{yy}\right)^{2}\\&\quad {}+\left(Q_{xx}^{2}+Q_{yx}^{2}-1\right)Y_{xx}+\left(Q_{xy}^{2}+Q_{yy}^{2}-1\right)Y_{yy}+2\left(Q_{xx}Q_{xy}+Q_{yx}Q_{yy}\right)Y_{xy}.\end{aligned}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/ee225c8f4bc4ddd3bbd65096f519245b9c2214c1" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -2.838ex; width:78.192ex; height:6.843ex;" alt="{\displaystyle {\begin{aligned}&\left(Q_{xx}-M_{xx}\right)^{2}+\left(Q_{xy}-M_{xy}\right)^{2}+\left(Q_{yx}-M_{yx}\right)^{2}+\left(Q_{yy}-M_{yy}\right)^{2}\\&\quad {}+\left(Q_{xx}^{2}+Q_{yx}^{2}-1\right)Y_{xx}+\left(Q_{xy}^{2}+Q_{yy}^{2}-1\right)Y_{yy}+2\left(Q_{xx}Q_{xy}+Q_{yx}Q_{yy}\right)Y_{xy}.\end{aligned}}}"></span></dd></dl> <p>Taking the derivative with respect to <span class="texhtml mvar" style="font-style:italic;">Q<sub>xx</sub></span>, <span class="texhtml mvar" style="font-style:italic;">Q<sub>xy</sub></span>, <span class="texhtml mvar" style="font-style:italic;">Q<sub>yx</sub></span>, <span class="texhtml mvar" style="font-style:italic;">Q<sub>yy</sub></span> in turn, we assemble a matrix. </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle 2{\begin{bmatrix}Q_{xx}-M_{xx}+Q_{xx}Y_{xx}+Q_{xy}Y_{xy}&Q_{xy}-M_{xy}+Q_{xx}Y_{xy}+Q_{xy}Y_{yy}\\Q_{yx}-M_{yx}+Q_{yx}Y_{xx}+Q_{yy}Y_{xy}&Q_{yy}-M_{yy}+Q_{yx}Y_{xy}+Q_{yy}Y_{yy}\end{bmatrix}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mn>2</mn> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> <mi>x</mi> </mrow> </msub> <mo>−<!-- − --></mo> <msub> <mi>M</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> <mi>x</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> <mi>x</mi> </mrow> </msub> <msub> <mi>Y</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> <mi>x</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> <mi>y</mi> </mrow> </msub> <msub> <mi>Y</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> <mi>y</mi> </mrow> </msub> </mtd> <mtd> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> <mi>y</mi> </mrow> </msub> <mo>−<!-- − --></mo> <msub> <mi>M</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> <mi>y</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> <mi>x</mi> </mrow> </msub> <msub> <mi>Y</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> <mi>y</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> <mi>y</mi> </mrow> </msub> <msub> <mi>Y</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> <mi>y</mi> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> <mi>x</mi> </mrow> </msub> <mo>−<!-- − --></mo> <msub> <mi>M</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> <mi>x</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> <mi>x</mi> </mrow> </msub> <msub> <mi>Y</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> <mi>x</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> <mi>y</mi> </mrow> </msub> <msub> <mi>Y</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> <mi>y</mi> </mrow> </msub> </mtd> <mtd> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> <mi>y</mi> </mrow> </msub> <mo>−<!-- − --></mo> <msub> <mi>M</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> <mi>y</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> <mi>x</mi> </mrow> </msub> <msub> <mi>Y</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> <mi>y</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> <mi>y</mi> </mrow> </msub> <msub> <mi>Y</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> <mi>y</mi> </mrow> </msub> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle 2{\begin{bmatrix}Q_{xx}-M_{xx}+Q_{xx}Y_{xx}+Q_{xy}Y_{xy}&Q_{xy}-M_{xy}+Q_{xx}Y_{xy}+Q_{xy}Y_{yy}\\Q_{yx}-M_{yx}+Q_{yx}Y_{xx}+Q_{yy}Y_{xy}&Q_{yy}-M_{yy}+Q_{yx}Y_{xy}+Q_{yy}Y_{yy}\end{bmatrix}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/51d282352f2cd796aee0200c05a04e9118861876" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -2.671ex; width:69.042ex; height:6.509ex;" alt="{\displaystyle 2{\begin{bmatrix}Q_{xx}-M_{xx}+Q_{xx}Y_{xx}+Q_{xy}Y_{xy}&Q_{xy}-M_{xy}+Q_{xx}Y_{xy}+Q_{xy}Y_{yy}\\Q_{yx}-M_{yx}+Q_{yx}Y_{xx}+Q_{yy}Y_{xy}&Q_{yy}-M_{yy}+Q_{yx}Y_{xy}+Q_{yy}Y_{yy}\end{bmatrix}}}"></span></dd></dl> </div> <p>In general, we obtain the equation </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle 0=2(Q-M)+2QY,}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mn>0</mn> <mo>=</mo> <mn>2</mn> <mo stretchy="false">(</mo> <mi>Q</mi> <mo>−<!-- − --></mo> <mi>M</mi> <mo stretchy="false">)</mo> <mo>+</mo> <mn>2</mn> <mi>Q</mi> <mi>Y</mi> <mo>,</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle 0=2(Q-M)+2QY,}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/f6d67d40acc8cb9fdcfb460fb39516528e6993d8" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:22.615ex; height:2.843ex;" alt="{\displaystyle 0=2(Q-M)+2QY,}"></span></dd></dl> <p>so that </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle M=Q(I+Y)=QS,}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>M</mi> <mo>=</mo> <mi>Q</mi> <mo stretchy="false">(</mo> <mi>I</mi> <mo>+</mo> <mi>Y</mi> <mo stretchy="false">)</mo> <mo>=</mo> <mi>Q</mi> <mi>S</mi> <mo>,</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle M=Q(I+Y)=QS,}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/9e2d1173f34e360c665738cd0a54c2c102bbb6f1" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:22.057ex; height:2.843ex;" alt="{\displaystyle M=Q(I+Y)=QS,}"></span></dd></dl> <p>where <span class="texhtml mvar" style="font-style:italic;">Q</span> is orthogonal and <span class="texhtml mvar" style="font-style:italic;">S</span> is symmetric. To ensure a minimum, the <span class="texhtml mvar" style="font-style:italic;">Y</span> matrix (and hence <span class="texhtml mvar" style="font-style:italic;">S</span>) must be positive definite. Linear algebra calls <span class="texhtml mvar" style="font-style:italic;">QS</span> the <a href="/wiki/Polar_decomposition" title="Polar decomposition">polar decomposition</a> of <span class="texhtml mvar" style="font-style:italic;">M</span>, with <span class="texhtml mvar" style="font-style:italic;">S</span> the positive square root of <span class="texhtml"><i>S</i><sup>2</sup> = <i>M</i><sup>T</sup><i>M</i></span>. </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle S^{2}=\left(Q^{\mathsf {T}}M\right)^{\mathsf {T}}\left(Q^{\mathsf {T}}M\right)=M^{\mathsf {T}}QQ^{\mathsf {T}}M=M^{\mathsf {T}}M}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msup> <mi>S</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mo>=</mo> <msup> <mrow> <mo>(</mo> <mrow> <msup> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="sans-serif">T</mi> </mrow> </mrow> </msup> <mi>M</mi> </mrow> <mo>)</mo> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="sans-serif">T</mi> </mrow> </mrow> </msup> <mrow> <mo>(</mo> <mrow> <msup> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="sans-serif">T</mi> </mrow> </mrow> </msup> <mi>M</mi> </mrow> <mo>)</mo> </mrow> <mo>=</mo> <msup> <mi>M</mi> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="sans-serif">T</mi> </mrow> </mrow> </msup> <mi>Q</mi> <msup> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="sans-serif">T</mi> </mrow> </mrow> </msup> <mi>M</mi> <mo>=</mo> <msup> <mi>M</mi> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="sans-serif">T</mi> </mrow> </mrow> </msup> <mi>M</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle S^{2}=\left(Q^{\mathsf {T}}M\right)^{\mathsf {T}}\left(Q^{\mathsf {T}}M\right)=M^{\mathsf {T}}QQ^{\mathsf {T}}M=M^{\mathsf {T}}M}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/a205a2b104099fd4eafe4861c92f4f494c59440e" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:46.747ex; height:3.843ex;" alt="{\displaystyle S^{2}=\left(Q^{\mathsf {T}}M\right)^{\mathsf {T}}\left(Q^{\mathsf {T}}M\right)=M^{\mathsf {T}}QQ^{\mathsf {T}}M=M^{\mathsf {T}}M}"></span></dd></dl> <p>When <span class="texhtml mvar" style="font-style:italic;">M</span> is <a href="/wiki/Non-singular_matrix" class="mw-redirect" title="Non-singular matrix">non-singular</a>, the <span class="texhtml mvar" style="font-style:italic;">Q</span> and <span class="texhtml mvar" style="font-style:italic;">S</span> factors of the polar decomposition are uniquely determined. However, the determinant of <span class="texhtml mvar" style="font-style:italic;">S</span> is positive because <span class="texhtml mvar" style="font-style:italic;">S</span> is positive definite, so <span class="texhtml mvar" style="font-style:italic;">Q</span> inherits the sign of the determinant of <span class="texhtml mvar" style="font-style:italic;">M</span>. That is, <span class="texhtml mvar" style="font-style:italic;">Q</span> is only guaranteed to be orthogonal, not a rotation matrix. This is unavoidable; an <span class="texhtml mvar" style="font-style:italic;">M</span> with negative determinant has no uniquely defined closest rotation matrix. </p> <div class="mw-heading mw-heading3"><h3 id="Axis_and_angle">Axis and angle</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Rotation_matrix&action=edit&section=35" title="Edit section: Axis and angle"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951"><div role="note" class="hatnote navigation-not-searchable">Main article: <a href="/wiki/Axis%E2%80%93angle_representation" title="Axis–angle representation">Axis–angle representation</a></div> <p>To efficiently construct a rotation matrix <span class="texhtml mvar" style="font-style:italic;">Q</span> from an angle <span class="texhtml mvar" style="font-style:italic;">θ</span> and a unit axis <span class="texhtml"><b>u</b></span>, we can take advantage of symmetry and skew-symmetry within the entries. If <span class="texhtml mvar" style="font-style:italic;">x</span>, <span class="texhtml mvar" style="font-style:italic;">y</span>, and <span class="texhtml mvar" style="font-style:italic;">z</span> are the components of the unit vector representing the axis, and </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{aligned}c&=\cos \theta \\s&=\sin \theta \\C&=1-c\end{aligned}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"> <mtr> <mtd> <mi>c</mi> </mtd> <mtd> <mi></mi> <mo>=</mo> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> </mtr> <mtr> <mtd> <mi>s</mi> </mtd> <mtd> <mi></mi> <mo>=</mo> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> </mtd> </mtr> <mtr> <mtd> <mi>C</mi> </mtd> <mtd> <mi></mi> <mo>=</mo> <mn>1</mn> <mo>−<!-- − --></mo> <mi>c</mi> </mtd> </mtr> </mtable> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\begin{aligned}c&=\cos \theta \\s&=\sin \theta \\C&=1-c\end{aligned}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/788deff7e18c278f7426e5829acf46453d1dfd77" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -3.838ex; width:10.626ex; height:8.843ex;" alt="{\displaystyle {\begin{aligned}c&=\cos \theta \\s&=\sin \theta \\C&=1-c\end{aligned}}}"></span></dd></dl> <p>then </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle Q(\theta )={\begin{bmatrix}xxC+c&xyC-zs&xzC+ys\\yxC+zs&yyC+c&yzC-xs\\zxC-ys&zyC+xs&zzC+c\end{bmatrix}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>Q</mi> <mo stretchy="false">(</mo> <mi>θ<!-- θ --></mi> <mo stretchy="false">)</mo> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow> <mo>[</mo> <mtable rowspacing="4pt" columnspacing="1em"> <mtr> <mtd> <mi>x</mi> <mi>x</mi> <mi>C</mi> <mo>+</mo> <mi>c</mi> </mtd> <mtd> <mi>x</mi> <mi>y</mi> <mi>C</mi> <mo>−<!-- − --></mo> <mi>z</mi> <mi>s</mi> </mtd> <mtd> <mi>x</mi> <mi>z</mi> <mi>C</mi> <mo>+</mo> <mi>y</mi> <mi>s</mi> </mtd> </mtr> <mtr> <mtd> <mi>y</mi> <mi>x</mi> <mi>C</mi> <mo>+</mo> <mi>z</mi> <mi>s</mi> </mtd> <mtd> <mi>y</mi> <mi>y</mi> <mi>C</mi> <mo>+</mo> <mi>c</mi> </mtd> <mtd> <mi>y</mi> <mi>z</mi> <mi>C</mi> <mo>−<!-- − --></mo> <mi>x</mi> <mi>s</mi> </mtd> </mtr> <mtr> <mtd> <mi>z</mi> <mi>x</mi> <mi>C</mi> <mo>−<!-- − --></mo> <mi>y</mi> <mi>s</mi> </mtd> <mtd> <mi>z</mi> <mi>y</mi> <mi>C</mi> <mo>+</mo> <mi>x</mi> <mi>s</mi> </mtd> <mtd> <mi>z</mi> <mi>z</mi> <mi>C</mi> <mo>+</mo> <mi>c</mi> </mtd> </mtr> </mtable> <mo>]</mo> </mrow> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle Q(\theta )={\begin{bmatrix}xxC+c&xyC-zs&xzC+ys\\yxC+zs&yyC+c&yzC-xs\\zxC-ys&zyC+xs&zzC+c\end{bmatrix}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/cd3eead2a537feaff5b5309d77f142f5e00c562b" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -4.171ex; width:44.145ex; height:9.509ex;" alt="{\displaystyle Q(\theta )={\begin{bmatrix}xxC+c&xyC-zs&xzC+ys\\yxC+zs&yyC+c&yzC-xs\\zxC-ys&zyC+xs&zzC+c\end{bmatrix}}}"></span></dd></dl> <p>Determining an axis and angle, like determining a quaternion, is only possible up to the sign; that is, <span class="texhtml">(<b>u</b>, <i>θ</i>)</span> and <span class="texhtml">(−<b>u</b>, −<i>θ</i>)</span> correspond to the same rotation matrix, just like <span class="texhtml"><i>q</i></span> and <span class="texhtml">−<i>q</i></span>. Additionally, axis–angle extraction presents additional difficulties. The angle can be restricted to be from 0° to 180°, but angles are formally ambiguous by multiples of 360°. When the angle is zero, the axis is undefined. When the angle is 180°, the matrix becomes symmetric, which has implications in extracting the axis. Near multiples of 180°, care is needed to avoid numerical problems: in extracting the angle, a <a href="/wiki/Atan2" title="Atan2">two-argument arctangent</a> with <span class="texhtml"><a href="/wiki/Atan2" title="Atan2">atan2</a>(sin <i>θ</i>, cos <i>θ</i>)</span> equal to <span class="texhtml mvar" style="font-style:italic;">θ</span> avoids the insensitivity of arccos; and in computing the axis magnitude in order to force unit magnitude, a brute-force approach can lose accuracy through underflow (<a href="#CITEREFMolerMorrison1983">Moler & Morrison 1983</a>). </p><p>A partial approach is as follows: </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{aligned}x&=Q_{zy}-Q_{yz}\\y&=Q_{xz}-Q_{zx}\\z&=Q_{yx}-Q_{xy}\\r&={\sqrt {x^{2}+y^{2}+z^{2}}}\\t&=Q_{xx}+Q_{yy}+Q_{zz}\\\theta &=\operatorname {atan2} (r,t-1)\end{aligned}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"> <mtr> <mtd> <mi>x</mi> </mtd> <mtd> <mi></mi> <mo>=</mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>z</mi> <mi>y</mi> </mrow> </msub> <mo>−<!-- − --></mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> <mi>z</mi> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <mi>y</mi> </mtd> <mtd> <mi></mi> <mo>=</mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> <mi>z</mi> </mrow> </msub> <mo>−<!-- − --></mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>z</mi> <mi>x</mi> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <mi>z</mi> </mtd> <mtd> <mi></mi> <mo>=</mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> <mi>x</mi> </mrow> </msub> <mo>−<!-- − --></mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> <mi>y</mi> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <mi>r</mi> </mtd> <mtd> <mi></mi> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <msqrt> <msup> <mi>x</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mo>+</mo> <msup> <mi>y</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mo>+</mo> <msup> <mi>z</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> </msqrt> </mrow> </mtd> </mtr> <mtr> <mtd> <mi>t</mi> </mtd> <mtd> <mi></mi> <mo>=</mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>x</mi> <mi>x</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>y</mi> <mi>y</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>z</mi> <mi>z</mi> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <mi>θ<!-- θ --></mi> </mtd> <mtd> <mi></mi> <mo>=</mo> <mi>atan2</mi> <mo>⁡<!-- --></mo> <mo stretchy="false">(</mo> <mi>r</mi> <mo>,</mo> <mi>t</mi> <mo>−<!-- − --></mo> <mn>1</mn> <mo stretchy="false">)</mo> </mtd> </mtr> </mtable> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\begin{aligned}x&=Q_{zy}-Q_{yz}\\y&=Q_{xz}-Q_{zx}\\z&=Q_{yx}-Q_{xy}\\r&={\sqrt {x^{2}+y^{2}+z^{2}}}\\t&=Q_{xx}+Q_{yy}+Q_{zz}\\\theta &=\operatorname {atan2} (r,t-1)\end{aligned}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/32517c00b06c2aad23d0113098baf1d8e18efd14" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -9.838ex; width:22.126ex; height:20.843ex;" alt="{\displaystyle {\begin{aligned}x&=Q_{zy}-Q_{yz}\\y&=Q_{xz}-Q_{zx}\\z&=Q_{yx}-Q_{xy}\\r&={\sqrt {x^{2}+y^{2}+z^{2}}}\\t&=Q_{xx}+Q_{yy}+Q_{zz}\\\theta &=\operatorname {atan2} (r,t-1)\end{aligned}}}"></span></dd></dl> <p>The <span class="texhtml mvar" style="font-style:italic;">x</span>-, <span class="texhtml mvar" style="font-style:italic;">y</span>-, and <span class="texhtml mvar" style="font-style:italic;">z</span>-components of the axis would then be divided by <span class="texhtml mvar" style="font-style:italic;">r</span>. A fully robust approach will use a different algorithm when <span class="texhtml mvar" style="font-style:italic;">t</span>, the <a href="/wiki/Trace_(linear_algebra)" title="Trace (linear algebra)">trace</a> of the matrix <span class="texhtml mvar" style="font-style:italic;">Q</span>, is negative, as with quaternion extraction. When <span class="texhtml mvar" style="font-style:italic;">r</span> is zero because the angle is zero, an axis must be provided from some source other than the matrix. </p> <div class="mw-heading mw-heading3"><h3 id="Euler_angles">Euler angles</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Rotation_matrix&action=edit&section=36" title="Edit section: Euler angles"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Complexity of conversion escalates with <a href="/wiki/Euler_angles" title="Euler angles">Euler angles</a> (used here in the broad sense). The first difficulty is to establish which of the twenty-four variations of Cartesian axis order we will use. Suppose the three angles are <span class="texhtml"><i>θ</i><sub>1</sub></span>, <span class="texhtml"><i>θ</i><sub>2</sub></span>, <span class="texhtml"><i>θ</i><sub>3</sub></span>; physics and chemistry may interpret these as </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle Q(\theta _{1},\theta _{2},\theta _{3})=Q_{\mathbf {z} }(\theta _{1})Q_{\mathbf {y} }(\theta _{2})Q_{\mathbf {z} }(\theta _{3}),}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>Q</mi> <mo stretchy="false">(</mo> <msub> <mi>θ<!-- θ --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>1</mn> </mrow> </msub> <mo>,</mo> <msub> <mi>θ<!-- θ --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msub> <mo>,</mo> <msub> <mi>θ<!-- θ --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>3</mn> </mrow> </msub> <mo stretchy="false">)</mo> <mo>=</mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">z</mi> </mrow> </mrow> </msub> <mo stretchy="false">(</mo> <msub> <mi>θ<!-- θ --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>1</mn> </mrow> </msub> <mo stretchy="false">)</mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">y</mi> </mrow> </mrow> </msub> <mo stretchy="false">(</mo> <msub> <mi>θ<!-- θ --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msub> <mo stretchy="false">)</mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">z</mi> </mrow> </mrow> </msub> <mo stretchy="false">(</mo> <msub> <mi>θ<!-- θ --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>3</mn> </mrow> </msub> <mo stretchy="false">)</mo> <mo>,</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle Q(\theta _{1},\theta _{2},\theta _{3})=Q_{\mathbf {z} }(\theta _{1})Q_{\mathbf {y} }(\theta _{2})Q_{\mathbf {z} }(\theta _{3}),}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/0b63d745271567f26f1741331b5d8071fc21c7a0" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:36.646ex; height:3.009ex;" alt="{\displaystyle Q(\theta _{1},\theta _{2},\theta _{3})=Q_{\mathbf {z} }(\theta _{1})Q_{\mathbf {y} }(\theta _{2})Q_{\mathbf {z} }(\theta _{3}),}"></span></dd></dl> <p>while aircraft dynamics may use </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle Q(\theta _{1},\theta _{2},\theta _{3})=Q_{\mathbf {z} }(\theta _{3})Q_{\mathbf {y} }(\theta _{2})Q_{\mathbf {x} }(\theta _{1}).}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>Q</mi> <mo stretchy="false">(</mo> <msub> <mi>θ<!-- θ --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>1</mn> </mrow> </msub> <mo>,</mo> <msub> <mi>θ<!-- θ --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msub> <mo>,</mo> <msub> <mi>θ<!-- θ --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>3</mn> </mrow> </msub> <mo stretchy="false">)</mo> <mo>=</mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">z</mi> </mrow> </mrow> </msub> <mo stretchy="false">(</mo> <msub> <mi>θ<!-- θ --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>3</mn> </mrow> </msub> <mo stretchy="false">)</mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">y</mi> </mrow> </mrow> </msub> <mo stretchy="false">(</mo> <msub> <mi>θ<!-- θ --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msub> <mo stretchy="false">)</mo> <msub> <mi>Q</mi> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">x</mi> </mrow> </mrow> </msub> <mo stretchy="false">(</mo> <msub> <mi>θ<!-- θ --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>1</mn> </mrow> </msub> <mo stretchy="false">)</mo> <mo>.</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle Q(\theta _{1},\theta _{2},\theta _{3})=Q_{\mathbf {z} }(\theta _{3})Q_{\mathbf {y} }(\theta _{2})Q_{\mathbf {x} }(\theta _{1}).}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/b27f92ecd4b35e857a7cdf987c125331230b8bce" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:36.804ex; height:3.009ex;" alt="{\displaystyle Q(\theta _{1},\theta _{2},\theta _{3})=Q_{\mathbf {z} }(\theta _{3})Q_{\mathbf {y} }(\theta _{2})Q_{\mathbf {x} }(\theta _{1}).}"></span></dd></dl> <p>One systematic approach begins with choosing the rightmost axis. Among all <a href="/wiki/Permutation" title="Permutation">permutations</a> of <span class="texhtml">(<i>x</i>,<i>y</i>,<i>z</i>)</span>, only two place that axis first; one is an even permutation and the other odd. Choosing parity thus establishes the middle axis. That leaves two choices for the left-most axis, either duplicating the first or not. These three choices gives us <span class="nowrap">3 × 2 × 2 = 12</span> variations; we double that to 24 by choosing static or rotating axes. </p><p>This is enough to construct a matrix from angles, but triples differing in many ways can give the same rotation matrix. For example, suppose we use the <span class="texhtml"><b>zyz</b></span> convention above; then we have the following equivalent pairs: </p> <dl><dd><table style="text-align:right"> <tbody><tr> <td>(90°,</td> <td>45°,</td> <td>−105°)</td> <td>≡</td> <td>(−270°,</td> <td>−315°,</td> <td>255°)</td> <td><i>multiples of 360°</i> </td></tr> <tr> <td>(72°,</td> <td>0°,</td> <td>0°)</td> <td>≡</td> <td>(40°,</td> <td>0°,</td> <td>32°)</td> <td><i>singular alignment</i> </td></tr> <tr> <td>(45°,</td> <td>60°,</td> <td>−30°)</td> <td>≡</td> <td>(−135°,</td> <td>−60°,</td> <td>150°)</td> <td><i>bistable flip</i> </td></tr></tbody></table></dd></dl> <p>Angles for any order can be found using a concise common routine (<a href="#CITEREFHerterLott1993">Herter & Lott 1993</a>; <a href="#CITEREFShoemake1994">Shoemake 1994</a>). </p><p>The problem of singular alignment, the mathematical analog of physical <a href="/wiki/Gimbal_lock" title="Gimbal lock">gimbal lock</a>, occurs when the middle rotation aligns the axes of the first and last rotations. It afflicts every axis order at either even or odd multiples of 90°. These singularities are not characteristic of the rotation matrix as such, and only occur with the usage of Euler angles. </p><p>The singularities are avoided when considering and manipulating the rotation matrix as orthonormal row vectors (in 3D applications often named the right-vector, up-vector and out-vector) instead of as angles. The singularities are also avoided when working with quaternions. </p> <div class="mw-heading mw-heading3"><h3 id="Vector_to_vector_formulation">Vector to vector formulation</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Rotation_matrix&action=edit&section=37" title="Edit section: Vector to vector formulation"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>In some instances it is interesting to describe a rotation by specifying how a vector is mapped into another through the shortest path (smallest angle). In <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbb {R} ^{3}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msup> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="double-struck">R</mi> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mn>3</mn> </mrow> </msup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \mathbb {R} ^{3}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/f936ddf584f8f3dd2a0ed08917001b7a404c10b5" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.732ex; height:2.676ex;" alt="{\displaystyle \mathbb {R} ^{3}}"></span> this completely describes the associated rotation matrix. In general, given <span class="texhtml"><i>x</i>, <i>y</i> ∈ <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbb {S} }"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="double-struck">S</mi> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \mathbb {S} }</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/9f9d5874c5d7f68eba1cec9da9ccbe53903303bb" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.293ex; height:2.176ex;" alt="{\displaystyle \mathbb {S} }"></span><sup><i>n</i></sup></span>, the matrix </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle R:=I+yx^{\mathsf {T}}-xy^{\mathsf {T}}+{\frac {1}{1+\langle x,y\rangle }}\left(yx^{\mathsf {T}}-xy^{\mathsf {T}}\right)^{2}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>R</mi> <mo>:=</mo> <mi>I</mi> <mo>+</mo> <mi>y</mi> <msup> <mi>x</mi> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="sans-serif">T</mi> </mrow> </mrow> </msup> <mo>−<!-- − --></mo> <mi>x</mi> <msup> <mi>y</mi> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="sans-serif">T</mi> </mrow> </mrow> </msup> <mo>+</mo> <mrow class="MJX-TeXAtom-ORD"> <mfrac> <mn>1</mn> <mrow> <mn>1</mn> <mo>+</mo> <mo fence="false" stretchy="false">⟨<!-- ⟨ --></mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo fence="false" stretchy="false">⟩<!-- ⟩ --></mo> </mrow> </mfrac> </mrow> <msup> <mrow> <mo>(</mo> <mrow> <mi>y</mi> <msup> <mi>x</mi> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="sans-serif">T</mi> </mrow> </mrow> </msup> <mo>−<!-- − --></mo> <mi>x</mi> <msup> <mi>y</mi> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="sans-serif">T</mi> </mrow> </mrow> </msup> </mrow> <mo>)</mo> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle R:=I+yx^{\mathsf {T}}-xy^{\mathsf {T}}+{\frac {1}{1+\langle x,y\rangle }}\left(yx^{\mathsf {T}}-xy^{\mathsf {T}}\right)^{2}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/7db67fe64cb8c0f08fa6165f5c3aefb8c8ddc0e3" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -2.671ex; width:46.751ex; height:6.009ex;" alt="{\displaystyle R:=I+yx^{\mathsf {T}}-xy^{\mathsf {T}}+{\frac {1}{1+\langle x,y\rangle }}\left(yx^{\mathsf {T}}-xy^{\mathsf {T}}\right)^{2}}"></span></dd></dl> <p>belongs to <span class="texhtml">SO(<i>n</i> + 1)</span> and maps <span class="texhtml mvar" style="font-style:italic;">x</span> to <span class="texhtml mvar" style="font-style:italic;">y</span>.<sup id="cite_ref-24" class="reference"><a href="#cite_note-24"><span class="cite-bracket">[</span>20<span class="cite-bracket">]</span></a></sup> </p> <div class="mw-heading mw-heading2"><h2 id="Uniform_random_rotation_matrices">Uniform random rotation matrices</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Rotation_matrix&action=edit&section=38" title="Edit section: Uniform random rotation matrices"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>We sometimes need to generate a uniformly distributed random rotation matrix. It seems intuitively clear in two dimensions that this means the rotation angle is uniformly distributed between 0 and 2<span class="texhtml mvar" style="font-style:italic;">π</span>. That intuition is correct, but does not carry over to higher dimensions. For example, if we decompose <span class="nowrap">3 × 3</span> rotation matrices in axis–angle form, the angle should <i>not</i> be uniformly distributed; the probability that (the magnitude of) the angle is at most <span class="texhtml mvar" style="font-style:italic;">θ</span> should be <span class="texhtml"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1214402035"><span class="sfrac">⁠<span class="tion"><span class="num">1</span><span class="sr-only">/</span><span class="den">π</span></span>⁠</span>(<i>θ</i> − sin <i>θ</i>)</span>, for <span class="texhtml">0 ≤ <i>θ</i> ≤ π</span>. </p><p>Since <span class="texhtml">SO(<i>n</i>)</span> is a connected and locally compact Lie group, we have a simple standard criterion for uniformity, namely that the distribution be unchanged when composed with any arbitrary rotation (a Lie group "translation"). This definition corresponds to what is called <i><a href="/wiki/Haar_measure" title="Haar measure">Haar measure</a></i>. <a href="#CITEREFLeónMasséRivest2006">León, Massé & Rivest (2006)</a> show how to use the Cayley transform to generate and test matrices according to this criterion. </p><p>We can also generate a uniform distribution in any dimension using the <i>subgroup algorithm</i> of <a href="#CITEREFDiaconisShahshahani1987">Diaconis & Shahshahani (1987)</a>. This recursively exploits the nested dimensions group structure of <span class="texhtml">SO(<i>n</i>)</span>, as follows. Generate a uniform angle and construct a <span class="nowrap">2 × 2</span> rotation matrix. To step from <span class="texhtml"><i>n</i></span> to <span class="texhtml"><i>n</i> + 1</span>, generate a vector <span class="texhtml"><b>v</b></span> uniformly distributed on the <span class="texhtml mvar" style="font-style:italic;">n</span>-sphere <span class="texhtml"><i>S</i><sup><i>n</i></sup></span>, embed the <span class="texhtml"><i>n</i> × <i>n</i></span> matrix in the next larger size with last column <span class="nowrap">(0, ..., 0, 1)</span>, and rotate the larger matrix so the last column becomes <span class="texhtml"><b>v</b></span>. </p><p>As usual, we have special alternatives for the <span class="nowrap">3 × 3</span> case. Each of these methods begins with three independent random scalars uniformly distributed on the unit interval. <a href="#CITEREFArvo1992">Arvo (1992)</a> takes advantage of the odd dimension to change a <a href="/wiki/Householder_reflection" class="mw-redirect" title="Householder reflection">Householder reflection</a> to a rotation by negation, and uses that to aim the axis of a uniform planar rotation. </p><p>Another method uses unit quaternions. Multiplication of rotation matrices is homomorphic to multiplication of quaternions, and multiplication by a unit quaternion rotates the unit sphere. Since the homomorphism is a local <a href="/wiki/Isometry" title="Isometry">isometry</a>, we immediately conclude that to produce a uniform distribution on SO(3) we may use a uniform distribution on <span class="texhtml"><i>S</i><sup>3</sup></span>. In practice: create a four-element vector where each element is a sampling of a normal distribution. Normalize its length and you have a uniformly sampled random unit quaternion which represents a uniformly sampled random rotation. Note that the aforementioned only applies to rotations in dimension 3. For a generalised idea of quaternions, one should look into <a href="/wiki/Geometric_algebra#Rotations" title="Geometric algebra">Rotors</a>. </p><p>Euler angles can also be used, though not with each angle uniformly distributed (<a href="#CITEREFMurnaghan1962">Murnaghan 1962</a>; <a href="#CITEREFMiles1965">Miles 1965</a>). </p><p>For the axis–angle form, the axis is uniformly distributed over the unit sphere of directions, <span class="texhtml"><i>S</i><sup>2</sup></span>, while the angle has the nonuniform distribution over <span class="nowrap">[0,<span class="texhtml mvar" style="font-style:italic;">π</span>]</span> noted previously (<a href="#CITEREFMiles1965">Miles 1965</a>). </p> <div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Rotation_matrix&action=edit&section=39" title="Edit section: See also"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1184024115">.mw-parser-output .div-col{margin-top:0.3em;column-width:30em}.mw-parser-output .div-col-small{font-size:90%}.mw-parser-output .div-col-rules{column-rule:1px solid #aaa}.mw-parser-output .div-col dl,.mw-parser-output .div-col ol,.mw-parser-output .div-col ul{margin-top:0}.mw-parser-output .div-col li,.mw-parser-output .div-col dd{page-break-inside:avoid;break-inside:avoid-column}</style><div class="div-col" style="column-width: 20em;"> <ul><li><a href="/wiki/Euler%E2%80%93Rodrigues_formula" title="Euler–Rodrigues formula">Euler–Rodrigues formula</a></li> <li><a href="/wiki/Euler%27s_rotation_theorem" title="Euler's rotation theorem">Euler's rotation theorem</a></li> <li><a href="/wiki/Rodrigues%27_rotation_formula" title="Rodrigues' rotation formula">Rodrigues' rotation formula</a></li> <li><a href="/wiki/Plane_of_rotation" title="Plane of rotation">Plane of rotation</a></li> <li><a href="/wiki/Axis%E2%80%93angle_representation" title="Axis–angle representation">Axis–angle representation</a></li> <li><a href="/wiki/Rotation_group_SO(3)" class="mw-redirect" title="Rotation group SO(3)">Rotation group SO(3)</a></li> <li><a href="/wiki/Rotation_formalisms_in_three_dimensions" title="Rotation formalisms in three dimensions">Rotation formalisms in three dimensions</a></li> <li><a href="/wiki/Rotation_operator_(vector_space)" class="mw-redirect" title="Rotation operator (vector space)">Rotation operator (vector space)</a></li> <li><a href="/wiki/Transformation_matrix" title="Transformation matrix">Transformation matrix</a></li> <li><a href="/wiki/Yaw,_pitch_and_roll" class="mw-redirect" title="Yaw, pitch and roll">Yaw-pitch-roll system</a></li> <li><a href="/wiki/Kabsch_algorithm" title="Kabsch algorithm">Kabsch algorithm</a></li> <li><a href="/wiki/Isometry" title="Isometry">Isometry</a></li> <li><a href="/wiki/Rigid_transformation" title="Rigid transformation">Rigid transformation</a></li> <li><a href="/wiki/Rotations_in_4-dimensional_Euclidean_space" title="Rotations in 4-dimensional Euclidean space">Rotations in 4-dimensional Euclidean space</a></li> <li><a href="/wiki/List_of_trigonometric_identities#Angle_sum_and_difference_identities" title="List of trigonometric identities">Trigonometric Identities</a></li> <li><a href="/wiki/Versor" title="Versor">Versor</a></li></ul> </div> <div class="mw-heading mw-heading2"><h2 id="Remarks">Remarks</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Rotation_matrix&action=edit&section=40" title="Edit section: Remarks"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1239543626">.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}</style><div class="reflist"> <div class="mw-references-wrap"><ol class="references"> <li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text">Note that if instead of rotating vectors, it is the reference frame that is being rotated, the signs on the <span class="texhtml">sin <i>θ</i></span> terms will be reversed. If reference frame A is rotated anti-clockwise about the origin through an angle <span class="texhtml mvar" style="font-style:italic;">θ</span> to create reference frame B, then <span class="texhtml mvar" style="font-style:italic;">R<sub>x</sub></span> (with the signs flipped) will transform a vector described in reference frame A coordinates to reference frame B coordinates. Coordinate frame transformations in aerospace, robotics, and other fields are often performed using this interpretation of the rotation matrix.</span> </li> <li id="cite_note-12"><span class="mw-cite-backlink"><b><a href="#cite_ref-12">^</a></b></span> <span class="reference-text">Note that <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {u} \otimes \mathbf {u} ={\bigl (}[\mathbf {u} ]_{\times }{\bigr )}^{2}+{\mathbf {I} }}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> <mo>⊗<!-- ⊗ --></mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-OPEN"> <mo maxsize="1.2em" minsize="1.2em">(</mo> </mrow> </mrow> <mo stretchy="false">[</mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> <msub> <mo stretchy="false">]</mo> <mrow class="MJX-TeXAtom-ORD"> <mo>×<!-- × --></mo> </mrow> </msub> <msup> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-CLOSE"> <mo maxsize="1.2em" minsize="1.2em">)</mo> </mrow> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mo>+</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">I</mi> </mrow> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \mathbf {u} \otimes \mathbf {u} ={\bigl (}[\mathbf {u} ]_{\times }{\bigr )}^{2}+{\mathbf {I} }}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/7dcf8163a3eb651f9af32eac4c5607585aadf524" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:20.237ex; height:3.676ex;" alt="{\displaystyle \mathbf {u} \otimes \mathbf {u} ={\bigl (}[\mathbf {u} ]_{\times }{\bigr )}^{2}+{\mathbf {I} }}"></span></dd></dl> so that, in Rodrigues' notation, equivalently, <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {R} =\mathbf {I} +(\sin \theta )[\mathbf {u} ]_{\times }+(1-\cos \theta ){\bigl (}[\mathbf {u} ]_{\times }{\bigr )}^{2}.}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">R</mi> </mrow> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">I</mi> </mrow> <mo>+</mo> <mo stretchy="false">(</mo> <mi>sin</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> <mo stretchy="false">)</mo> <mo stretchy="false">[</mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> <msub> <mo stretchy="false">]</mo> <mrow class="MJX-TeXAtom-ORD"> <mo>×<!-- × --></mo> </mrow> </msub> <mo>+</mo> <mo stretchy="false">(</mo> <mn>1</mn> <mo>−<!-- − --></mo> <mi>cos</mi> <mo>⁡<!-- --></mo> <mi>θ<!-- θ --></mi> <mo stretchy="false">)</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-OPEN"> <mo maxsize="1.2em" minsize="1.2em">(</mo> </mrow> </mrow> <mo stretchy="false">[</mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">u</mi> </mrow> <msub> <mo stretchy="false">]</mo> <mrow class="MJX-TeXAtom-ORD"> <mo>×<!-- × --></mo> </mrow> </msub> <msup> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-CLOSE"> <mo maxsize="1.2em" minsize="1.2em">)</mo> </mrow> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msup> <mo>.</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \mathbf {R} =\mathbf {I} +(\sin \theta )[\mathbf {u} ]_{\times }+(1-\cos \theta ){\bigl (}[\mathbf {u} ]_{\times }{\bigr )}^{2}.}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/282727a43a016d243ecb74feb8a4dc864a961f17" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:40.75ex; height:3.676ex;" alt="{\displaystyle \mathbf {R} =\mathbf {I} +(\sin \theta )[\mathbf {u} ]_{\times }+(1-\cos \theta ){\bigl (}[\mathbf {u} ]_{\times }{\bigr )}^{2}.}"></span></dd></dl> </span></li> <li id="cite_note-16"><span class="mw-cite-backlink"><b><a href="#cite_ref-16">^</a></b></span> <span class="reference-text">Note that this exponential map of skew-symmetric matrices to rotation matrices is quite different from the Cayley transform discussed earlier, differing to the third order, <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle e^{2A}-{\frac {I+A}{I-A}}=-{\tfrac {2}{3}}A^{3}+\mathrm {O} \left(A^{4}\right).}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msup> <mi>e</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> <mi>A</mi> </mrow> </msup> <mo>−<!-- − --></mo> <mrow class="MJX-TeXAtom-ORD"> <mfrac> <mrow> <mi>I</mi> <mo>+</mo> <mi>A</mi> </mrow> <mrow> <mi>I</mi> <mo>−<!-- − --></mo> <mi>A</mi> </mrow> </mfrac> </mrow> <mo>=</mo> <mo>−<!-- − --></mo> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="false" scriptlevel="0"> <mfrac> <mn>2</mn> <mn>3</mn> </mfrac> </mstyle> </mrow> <msup> <mi>A</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>3</mn> </mrow> </msup> <mo>+</mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="normal">O</mi> </mrow> <mrow> <mo>(</mo> <msup> <mi>A</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>4</mn> </mrow> </msup> <mo>)</mo> </mrow> <mo>.</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle e^{2A}-{\frac {I+A}{I-A}}=-{\tfrac {2}{3}}A^{3}+\mathrm {O} \left(A^{4}\right).}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/80b0dd822b81c7c9306407f1b3b3abc645b2dd48" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -2.171ex; width:33.161ex; height:5.676ex;" alt="{\displaystyle e^{2A}-{\frac {I+A}{I-A}}=-{\tfrac {2}{3}}A^{3}+\mathrm {O} \left(A^{4}\right).}"></span></dd></dl> Conversely, a <a href="/wiki/Skew-symmetric_matrix" title="Skew-symmetric matrix">skew-symmetric matrix</a> <span class="texhtml mvar" style="font-style:italic;">A</span> specifying a rotation matrix through the Cayley map specifies the <i>same</i> rotation matrix through the map <span class="texhtml">exp(2 artanh <i>A</i>)</span>.</span> </li> <li id="cite_note-18"><span class="mw-cite-backlink"><b><a href="#cite_ref-18">^</a></b></span> <span class="reference-text">For a detailed derivation, see <a href="/wiki/Derivative_of_the_exponential_map" title="Derivative of the exponential map">Derivative of the exponential map</a>. Issues of convergence of this series to the right element of the Lie algebra are here swept under the carpet. Convergence is guaranteed when <span class="texhtml">‖<span class="nowrap" style="padding-left:0.1em; padding-right:0.1em;"><i>X</i></span>‖ + ‖<span class="nowrap" style="padding-left:0.1em; padding-right:0.1em;"><i>Y</i></span>‖ < log 2</span> and <span class="texhtml">‖<span class="nowrap" style="padding-left:0.1em; padding-right:0.1em;"><i>Z</i></span>‖ < log 2</span>. If these conditions are not fulfilled, the series may still converge. A solution always exists since <span class="texhtml">exp</span> is onto<sup class="noprint Inline-Template" style="margin-left:0.1em; white-space:nowrap;">[<i><a href="/wiki/Wikipedia:Please_clarify" title="Wikipedia:Please clarify"><span title="The text near this tag may need clarification or removal of jargon. (June 2017)">clarification needed</span></a></i>]</sup> in the cases under consideration.</span> </li> </ol></div></div> <div class="mw-heading mw-heading2"><h2 id="Notes">Notes</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Rotation_matrix&action=edit&section=41" title="Edit section: Notes"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1239543626"><div class="reflist"> <div class="mw-references-wrap mw-references-columns"><ol class="references"> <li id="cite_note-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-1">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("//upload.wikimedia.org/wikipedia/commons/6/65/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("//upload.wikimedia.org/wikipedia/commons/d/d6/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("//upload.wikimedia.org/wikipedia/commons/a/aa/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("//upload.wikimedia.org/wikipedia/commons/4/4c/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}</style><cite id="CITEREFSwokowski1979" class="citation book cs1">Swokowski, Earl (1979). <span class="id-lock-registration" title="Free registration required"><a rel="nofollow" class="external text" href="https://archive.org/details/studentsupplemen00bron"><i>Calculus with Analytic Geometry</i></a></span> (Second ed.). Boston: Prindle, Weber, and Schmidt. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/0-87150-268-2" title="Special:BookSources/0-87150-268-2"><bdi>0-87150-268-2</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=Calculus+with+Analytic+Geometry&rft.place=Boston&rft.edition=Second&rft.pub=Prindle%2C+Weber%2C+and+Schmidt&rft.date=1979&rft.isbn=0-87150-268-2&rft.aulast=Swokowski&rft.aufirst=Earl&rft_id=https%3A%2F%2Farchive.org%2Fdetails%2Fstudentsupplemen00bron&rfr_id=info%3Asid%2Fen.wikipedia.org%3ARotation+matrix" class="Z3988"></span></span> </li> <li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFW3C_recommendation2003" class="citation web cs1">W3C recommendation (2003). <a rel="nofollow" class="external text" href="http://www.w3.org/TR/SVG/coords.html#InitialCoordinateSystem">"Scalable Vector Graphics – the initial coordinate system"</a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Scalable+Vector+Graphics+%E2%80%93+the+initial+coordinate+system&rft.date=2003&rft.au=W3C+recommendation&rft_id=http%3A%2F%2Fwww.w3.org%2FTR%2FSVG%2Fcoords.html%23InitialCoordinateSystem&rfr_id=info%3Asid%2Fen.wikipedia.org%3ARotation+matrix" class="Z3988"></span><span class="cs1-maint citation-comment"><code class="cs1-code">{{<a href="/wiki/Template:Cite_web" title="Template:Cite web">cite web</a>}}</code>: CS1 maint: numeric names: authors list (<a href="/wiki/Category:CS1_maint:_numeric_names:_authors_list" title="Category:CS1 maint: numeric names: authors list">link</a>)</span></span> </li> <li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-4">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://extranet.nmrfam.wisc.edu/nmrfam_documents/bchm800/notes/chapt4.pdf">"Rotation Matrices"</a> <span class="cs1-format">(PDF)</span><span class="reference-accessdate">. Retrieved <span class="nowrap">30 November</span> 2021</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Rotation+Matrices&rft_id=http%3A%2F%2Fextranet.nmrfam.wisc.edu%2Fnmrfam_documents%2Fbchm800%2Fnotes%2Fchapt4.pdf&rfr_id=info%3Asid%2Fen.wikipedia.org%3ARotation+matrix" class="Z3988"></span></span> </li> <li id="cite_note-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-5">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFKuo_Kan2018" class="citation arxiv cs1">Kuo Kan, Liang (6 October 2018). "Efficient conversion from rotating matrix to rotation axis and angle by extending Rodrigues' formula". <a href="/wiki/ArXiv_(identifier)" class="mw-redirect" title="ArXiv (identifier)">arXiv</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://arxiv.org/abs/1810.02999">1810.02999</a></span> [<a rel="nofollow" class="external text" href="https://arxiv.org/archive/cs.CG">cs.CG</a>].</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=preprint&rft.jtitle=arXiv&rft.atitle=Efficient+conversion+from+rotating+matrix+to+rotation+axis+and+angle+by+extending+Rodrigues%27+formula&rft.date=2018-10-06&rft_id=info%3Aarxiv%2F1810.02999&rft.aulast=Kuo+Kan&rft.aufirst=Liang&rfr_id=info%3Asid%2Fen.wikipedia.org%3ARotation+matrix" class="Z3988"></span></span> </li> <li id="cite_note-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-6">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFTaylorKriegman1994" class="citation journal cs1">Taylor, Camillo J.; Kriegman, David J. (1994). <a rel="nofollow" class="external text" href="https://www.cis.upenn.edu/~cjtaylor/PUBLICATIONS/pdfs/TaylorTR94b.pdf">"Minimization on the Lie Group SO(3) and Related Manifolds"</a> <span class="cs1-format">(PDF)</span>. <i>Technical Report No. 9405</i>. Yale University.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=Technical+Report+No.+9405&rft.atitle=Minimization+on+the+Lie+Group+SO%283%29+and+Related+Manifolds&rft.date=1994&rft.aulast=Taylor&rft.aufirst=Camillo+J.&rft.au=Kriegman%2C+David+J.&rft_id=https%3A%2F%2Fwww.cis.upenn.edu%2F~cjtaylor%2FPUBLICATIONS%2Fpdfs%2FTaylorTR94b.pdf&rfr_id=info%3Asid%2Fen.wikipedia.org%3ARotation+matrix" class="Z3988"></span></span> </li> <li id="cite_note-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-7">^</a></b></span> <span class="reference-text"> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFBalakrishnan1999" class="citation journal cs1">Balakrishnan, V. (1999). <a rel="nofollow" class="external text" href="https://www.ias.ac.in/describe/article/reso/004/10/0061-0068">"How is a vector rotated?"</a>. <i>Resonance</i>. <b>4</b> (10): 61–68.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=Resonance&rft.atitle=How+is+a+vector+rotated%3F&rft.volume=4&rft.issue=10&rft.pages=61-68&rft.date=1999&rft.aulast=Balakrishnan&rft.aufirst=V.&rft_id=https%3A%2F%2Fwww.ias.ac.in%2Fdescribe%2Farticle%2Freso%2F004%2F10%2F0061-0068&rfr_id=info%3Asid%2Fen.wikipedia.org%3ARotation+matrix" class="Z3988"></span></span> </li> <li id="cite_note-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-8">^</a></b></span> <span class="reference-text"> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFMorawiec2004" class="citation book cs1">Morawiec, Adam (2004). <i>Orientations and Rotations</i>. Springer. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1007%2F978-3-662-09156-2">10.1007/978-3-662-09156-2</a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=Orientations+and+Rotations&rft.pub=Springer&rft.date=2004&rft_id=info%3Adoi%2F10.1007%2F978-3-662-09156-2&rft.aulast=Morawiec&rft.aufirst=Adam&rfr_id=info%3Asid%2Fen.wikipedia.org%3ARotation+matrix" class="Z3988"></span></span> </li> <li id="cite_note-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-9">^</a></b></span> <span class="reference-text"> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFPalazzolo1976" class="citation journal cs1">Palazzolo, A. (1976). "Formalism for the rotation matrix of rotations about an arbitrary axis". <i>Am. J. Phys</i>. <b>44</b> (1): 63–67. <a href="/wiki/Bibcode_(identifier)" class="mw-redirect" title="Bibcode (identifier)">Bibcode</a>:<a rel="nofollow" class="external text" href="https://ui.adsabs.harvard.edu/abs/1976AmJPh..44...63P">1976AmJPh..44...63P</a>. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1119%2F1.10140">10.1119/1.10140</a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=Am.+J.+Phys.&rft.atitle=Formalism+for+the+rotation+matrix+of+rotations+about+an+arbitrary+axis&rft.volume=44&rft.issue=1&rft.pages=63-67&rft.date=1976&rft_id=info%3Adoi%2F10.1119%2F1.10140&rft_id=info%3Abibcode%2F1976AmJPh..44...63P&rft.aulast=Palazzolo&rft.aufirst=A.&rfr_id=info%3Asid%2Fen.wikipedia.org%3ARotation+matrix" class="Z3988"></span></span> </li> <li id="cite_note-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-10">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFCole2015" class="citation thesis cs1">Cole, Ian R. (January 2015). <a rel="nofollow" class="external text" href="https://dspace.lboro.ac.uk/dspace-jspui/handle/2134/18050"><i>Modelling CPV</i></a> (thesis). Loughborough University. <a href="/wiki/Hdl_(identifier)" class="mw-redirect" title="Hdl (identifier)">hdl</a>:<a rel="nofollow" class="external text" href="https://hdl.handle.net/2134%2F18050">2134/18050</a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adissertation&rft.title=Modelling+CPV&rft.inst=Loughborough+University&rft.date=2015-01&rft_id=info%3Ahdl%2F2134%2F18050&rft.aulast=Cole&rft.aufirst=Ian+R.&rft_id=https%3A%2F%2Fdspace.lboro.ac.uk%2Fdspace-jspui%2Fhandle%2F2134%2F18050&rfr_id=info%3Asid%2Fen.wikipedia.org%3ARotation+matrix" class="Z3988"></span></span> </li> <li id="cite_note-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-11">^</a></b></span> <span class="reference-text"> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFMathews1976" class="citation journal cs1">Mathews, Jon (1976). "Coordinate-free rotation formalism". <i>Am. J. Phys</i>. <b>44</b> (12): 121. <a href="/wiki/Bibcode_(identifier)" class="mw-redirect" title="Bibcode (identifier)">Bibcode</a>:<a rel="nofollow" class="external text" href="https://ui.adsabs.harvard.edu/abs/1976AmJPh..44.1210M">1976AmJPh..44.1210M</a>. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1119%2F1.10264">10.1119/1.10264</a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=Am.+J.+Phys.&rft.atitle=Coordinate-free+rotation+formalism&rft.volume=44&rft.issue=12&rft.pages=121&rft.date=1976&rft_id=info%3Adoi%2F10.1119%2F1.10264&rft_id=info%3Abibcode%2F1976AmJPh..44.1210M&rft.aulast=Mathews&rft.aufirst=Jon&rfr_id=info%3Asid%2Fen.wikipedia.org%3ARotation+matrix" class="Z3988"></span></span> </li> <li id="cite_note-13"><span class="mw-cite-backlink"><b><a href="#cite_ref-13">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFKoehlerTrickey1978" class="citation journal cs1">Koehler, T. R.; Trickey, S. B. (1978). "Euler vectors and rotations about an arbitrary axis". <i>Am. J. Phys</i>. <b>46</b> (6): 650. <a href="/wiki/Bibcode_(identifier)" class="mw-redirect" title="Bibcode (identifier)">Bibcode</a>:<a rel="nofollow" class="external text" href="https://ui.adsabs.harvard.edu/abs/1976AmJPh..46..650K">1976AmJPh..46..650K</a>. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1119%2F1.11223">10.1119/1.11223</a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=Am.+J.+Phys.&rft.atitle=Euler+vectors+and+rotations+about+an+arbitrary+axis&rft.volume=46&rft.issue=6&rft.pages=650&rft.date=1978&rft_id=info%3Adoi%2F10.1119%2F1.11223&rft_id=info%3Abibcode%2F1976AmJPh..46..650K&rft.aulast=Koehler&rft.aufirst=T.+R.&rft.au=Trickey%2C+S.+B.&rfr_id=info%3Asid%2Fen.wikipedia.org%3ARotation+matrix" class="Z3988"></span></span> </li> <li id="cite_note-14"><span class="mw-cite-backlink"><b><a href="#cite_ref-14">^</a></b></span> <span class="reference-text"><a href="#CITEREFBaker2003">Baker (2003)</a>; <a href="#CITEREFFultonHarris1991">Fulton & Harris (1991)</a></span> </li> <li id="cite_note-15"><span class="mw-cite-backlink"><b><a href="#cite_ref-15">^</a></b></span> <span class="reference-text">(<a href="#CITEREFWedderburn1934">Wedderburn 1934</a>, §8.02)</span> </li> <li id="cite_note-17"><span class="mw-cite-backlink"><b><a href="#cite_ref-17">^</a></b></span> <span class="reference-text"><a href="#CITEREFHall2004">Hall 2004</a>, Ch. 3; <a href="#CITEREFVaradarajan1984">Varadarajan 1984</a>, §2.15</span> </li> <li id="cite_note-19"><span class="mw-cite-backlink"><b><a href="#cite_ref-19">^</a></b></span> <span class="reference-text">(<a href="#CITEREFEngø2001">Engø 2001</a>)</span> </li> <li id="cite_note-20"><span class="mw-cite-backlink"><b><a href="#cite_ref-20">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFCurtrightFairlieZachos2014" class="citation journal cs1"><a href="/wiki/Thomas_Curtright" title="Thomas Curtright">Curtright, T L</a>; <a href="/wiki/David_Fairlie" title="David Fairlie">Fairlie, D B</a>; <a href="/wiki/Cosmas_Zachos" title="Cosmas Zachos">Zachos, C K</a> (2014). "A compact formula for rotations as spin matrix polynomials". <i>SIGMA</i>. <b>10</b>: 084. <a href="/wiki/ArXiv_(identifier)" class="mw-redirect" title="ArXiv (identifier)">arXiv</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://arxiv.org/abs/1402.3541">1402.3541</a></span>. <a href="/wiki/Bibcode_(identifier)" class="mw-redirect" title="Bibcode (identifier)">Bibcode</a>:<a rel="nofollow" class="external text" href="https://ui.adsabs.harvard.edu/abs/2014SIGMA..10..084C">2014SIGMA..10..084C</a>. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.3842%2FSIGMA.2014.084">10.3842/SIGMA.2014.084</a>. <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:18776942">18776942</a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=SIGMA&rft.atitle=A+compact+formula+for+rotations+as+spin+matrix+polynomials&rft.volume=10&rft.pages=084&rft.date=2014&rft_id=info%3Aarxiv%2F1402.3541&rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A18776942%23id-name%3DS2CID&rft_id=info%3Adoi%2F10.3842%2FSIGMA.2014.084&rft_id=info%3Abibcode%2F2014SIGMA..10..084C&rft.aulast=Curtright&rft.aufirst=T+L&rft.au=Fairlie%2C+D+B&rft.au=Zachos%2C+C+K&rfr_id=info%3Asid%2Fen.wikipedia.org%3ARotation+matrix" class="Z3988"></span></span> </li> <li id="cite_note-21"><span class="mw-cite-backlink"><b><a href="#cite_ref-21">^</a></b></span> <span class="reference-text"><a href="#CITEREFBaker2003">Baker 2003</a>, Ch. 5; <a href="#CITEREFFultonHarris1991">Fulton & Harris 1991</a>, pp. 299–315</span> </li> <li id="cite_note-22"><span class="mw-cite-backlink"><b><a href="#cite_ref-22">^</a></b></span> <span class="reference-text">(<a href="#CITEREFGoldsteinPooleSafko2002">Goldstein, Poole & Safko 2002</a>, §4.8)</span> </li> <li id="cite_note-23"><span class="mw-cite-backlink"><b><a href="#cite_ref-23">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFShoemake1985" class="citation conference cs1">Shoemake, Ken (1985). "Animating rotation with quaternion curves". <a rel="nofollow" class="external text" href="https://archive.org/details/siggraph85confer0000sigg/page/n2/"><i>Computer Graphics: SIGGRAPH '85 Conference Proceedings</i></a>. SIGGRAPH '85, 22–26 July 1985, San Francisco. Vol. 19. Association for Computing Machinery. pp. 245–254. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F325334.325242">10.1145/325334.325242</a></span>. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/0897911660" title="Special:BookSources/0897911660"><bdi>0897911660</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=conference&rft.atitle=Animating+rotation+with+quaternion+curves&rft.btitle=Computer+Graphics%3A+SIGGRAPH+%2785+Conference+Proceedings&rft.pages=245-254&rft.pub=Association+for+Computing+Machinery&rft.date=1985&rft_id=info%3Adoi%2F10.1145%2F325334.325242&rft.isbn=0897911660&rft.aulast=Shoemake&rft.aufirst=Ken&rft_id=https%3A%2F%2Farchive.org%2Fdetails%2Fsiggraph85confer0000sigg%2Fpage%2Fn2%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3ARotation+matrix" class="Z3988"></span></span> </li> <li id="cite_note-24"><span class="mw-cite-backlink"><b><a href="#cite_ref-24">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFCidTojo2018" class="citation journal cs1">Cid, Jose Ángel; Tojo, F. Adrián F. (2018). <a rel="nofollow" class="external text" href="http://www.math.u-szeged.hu/ejqtde/periodica.html?periodica=1&paramtipus_ertek=publication&param_ertek=6497">"A Lipschitz condition along a transversal foliation implies local uniqueness for ODEs"</a>. <i>Electronic Journal of Qualitative Theory of Differential Equations</i>. <b>13</b> (13): 1–14. <a href="/wiki/ArXiv_(identifier)" class="mw-redirect" title="ArXiv (identifier)">arXiv</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://arxiv.org/abs/1801.01724">1801.01724</a></span>. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://doi.org/10.14232%2Fejqtde.2018.1.13">10.14232/ejqtde.2018.1.13</a></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=Electronic+Journal+of+Qualitative+Theory+of+Differential+Equations&rft.atitle=A+Lipschitz+condition+along+a+transversal+foliation+implies+local+uniqueness+for+ODEs&rft.volume=13&rft.issue=13&rft.pages=1-14&rft.date=2018&rft_id=info%3Aarxiv%2F1801.01724&rft_id=info%3Adoi%2F10.14232%2Fejqtde.2018.1.13&rft.aulast=Cid&rft.aufirst=Jose+%C3%81ngel&rft.au=Tojo%2C+F.+Adri%C3%A1n+F.&rft_id=http%3A%2F%2Fwww.math.u-szeged.hu%2Fejqtde%2Fperiodica.html%3Fperiodica%3D1%26paramtipus_ertek%3Dpublication%26param_ertek%3D6497&rfr_id=info%3Asid%2Fen.wikipedia.org%3ARotation+matrix" class="Z3988"></span></span> </li> </ol></div></div> <div class="mw-heading mw-heading2"><h2 id="References">References</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Rotation_matrix&action=edit&section=42" title="Edit section: References"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFArvo1992" class="citation cs2">Arvo, James (1992), "Fast random rotation matrices", in David Kirk (ed.), <a rel="nofollow" class="external text" href="https://archive.org/details/isbn_9780124096738/page/117"><i>Graphics Gems III</i></a>, San Diego: <a href="/wiki/Academic_Press" title="Academic Press">Academic Press</a> Professional, pp. <a rel="nofollow" class="external text" href="https://archive.org/details/isbn_9780124096738/page/117">117–120</a>, <a href="/wiki/Bibcode_(identifier)" class="mw-redirect" title="Bibcode (identifier)">Bibcode</a>:<a rel="nofollow" class="external text" href="https://ui.adsabs.harvard.edu/abs/1992grge.book.....K">1992grge.book.....K</a>, <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/978-0-12-409671-4" title="Special:BookSources/978-0-12-409671-4"><bdi>978-0-12-409671-4</bdi></a></cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=bookitem&rft.atitle=Fast+random+rotation+matrices&rft.btitle=Graphics+Gems+III&rft.place=San+Diego&rft.pages=117-120&rft.pub=Academic+Press+Professional&rft.date=1992&rft_id=info%3Abibcode%2F1992grge.book.....K&rft.isbn=978-0-12-409671-4&rft.aulast=Arvo&rft.aufirst=James&rft_id=https%3A%2F%2Farchive.org%2Fdetails%2Fisbn_9780124096738%2Fpage%2F117&rfr_id=info%3Asid%2Fen.wikipedia.org%3ARotation+matrix" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFBaker2003" class="citation cs2">Baker, Andrew (2003), <span class="id-lock-registration" title="Free registration required"><a rel="nofollow" class="external text" href="https://archive.org/details/matrixgroupsintr0000bake"><i>Matrix Groups: An Introduction to Lie Group Theory</i></a></span>, <a href="/wiki/Springer-Verlag" class="mw-redirect" title="Springer-Verlag">Springer</a>, <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/978-1-85233-470-3" title="Special:BookSources/978-1-85233-470-3"><bdi>978-1-85233-470-3</bdi></a></cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=Matrix+Groups%3A+An+Introduction+to+Lie+Group+Theory&rft.pub=Springer&rft.date=2003&rft.isbn=978-1-85233-470-3&rft.aulast=Baker&rft.aufirst=Andrew&rft_id=https%3A%2F%2Farchive.org%2Fdetails%2Fmatrixgroupsintr0000bake&rfr_id=info%3Asid%2Fen.wikipedia.org%3ARotation+matrix" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFBar-Itzhack2000" class="citation cs2">Bar-Itzhack, Itzhack Y. (Nov–Dec 2000), "New method for extracting the quaternion from a rotation matrix", <i>Journal of Guidance, Control and Dynamics</i>, <b>23</b> (6): 1085–1087, <a href="/wiki/Bibcode_(identifier)" class="mw-redirect" title="Bibcode (identifier)">Bibcode</a>:<a rel="nofollow" class="external text" href="https://ui.adsabs.harvard.edu/abs/2000JGCD...23.1085B">2000JGCD...23.1085B</a>, <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.2514%2F2.4654">10.2514/2.4654</a>, <a href="/wiki/ISSN_(identifier)" class="mw-redirect" title="ISSN (identifier)">ISSN</a> <a rel="nofollow" class="external text" href="https://search.worldcat.org/issn/0731-5090">0731-5090</a></cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=Journal+of+Guidance%2C+Control+and+Dynamics&rft.atitle=New+method+for+extracting+the+quaternion+from+a+rotation+matrix&rft.volume=23&rft.issue=6&rft.pages=1085-1087&rft.date=2000-11%2F2000-12&rft.issn=0731-5090&rft_id=info%3Adoi%2F10.2514%2F2.4654&rft_id=info%3Abibcode%2F2000JGCD...23.1085B&rft.aulast=Bar-Itzhack&rft.aufirst=Itzhack+Y.&rfr_id=info%3Asid%2Fen.wikipedia.org%3ARotation+matrix" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFBjörckBowie1971" class="citation cs2">Björck, Åke; Bowie, Clazett (June 1971), "An iterative algorithm for computing the best estimate of an orthogonal matrix", <i>SIAM Journal on Numerical Analysis</i>, <b>8</b> (2): 358–364, <a href="/wiki/Bibcode_(identifier)" class="mw-redirect" title="Bibcode (identifier)">Bibcode</a>:<a rel="nofollow" class="external text" href="https://ui.adsabs.harvard.edu/abs/1971SJNA....8..358B">1971SJNA....8..358B</a>, <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1137%2F0708036">10.1137/0708036</a>, <a href="/wiki/ISSN_(identifier)" class="mw-redirect" title="ISSN (identifier)">ISSN</a> <a rel="nofollow" class="external text" href="https://search.worldcat.org/issn/0036-1429">0036-1429</a></cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=SIAM+Journal+on+Numerical+Analysis&rft.atitle=An+iterative+algorithm+for+computing+the+best+estimate+of+an+orthogonal+matrix&rft.volume=8&rft.issue=2&rft.pages=358-364&rft.date=1971-06&rft.issn=0036-1429&rft_id=info%3Adoi%2F10.1137%2F0708036&rft_id=info%3Abibcode%2F1971SJNA....8..358B&rft.aulast=Bj%C3%B6rck&rft.aufirst=%C3%85ke&rft.au=Bowie%2C+Clazett&rfr_id=info%3Asid%2Fen.wikipedia.org%3ARotation+matrix" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFCayley1846" class="citation cs2"><a href="/wiki/Arthur_Cayley" title="Arthur Cayley">Cayley, Arthur</a> (1846), <a rel="nofollow" class="external text" href="https://zenodo.org/record/1448846">"Sur quelques propriétés des déterminants gauches"</a>, <i><a href="/wiki/Journal_f%C3%BCr_die_reine_und_angewandte_Mathematik" class="mw-redirect" title="Journal für die reine und angewandte Mathematik">Journal für die reine und angewandte Mathematik</a></i>, <b>1846</b> (32): 119–123, <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1515%2Fcrll.1846.32.119">10.1515/crll.1846.32.119</a>, <a href="/wiki/ISSN_(identifier)" class="mw-redirect" title="ISSN (identifier)">ISSN</a> <a rel="nofollow" class="external text" href="https://search.worldcat.org/issn/0075-4102">0075-4102</a>, <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:199546746">199546746</a></cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=Journal+f%C3%BCr+die+reine+und+angewandte+Mathematik&rft.atitle=Sur+quelques+propri%C3%A9t%C3%A9s+des+d%C3%A9terminants+gauches&rft.volume=1846&rft.issue=32&rft.pages=119-123&rft.date=1846&rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A199546746%23id-name%3DS2CID&rft.issn=0075-4102&rft_id=info%3Adoi%2F10.1515%2Fcrll.1846.32.119&rft.aulast=Cayley&rft.aufirst=Arthur&rft_id=https%3A%2F%2Fzenodo.org%2Frecord%2F1448846&rfr_id=info%3Asid%2Fen.wikipedia.org%3ARotation+matrix" class="Z3988"></span>; reprinted as article 52 in <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFCayley1889" class="citation cs2 cs1-prop-long-vol"><a href="/wiki/Arthur_Cayley" title="Arthur Cayley">Cayley, Arthur</a> (1889), <a rel="nofollow" class="external text" href="http://www.hti.umich.edu/cgi/t/text/pageviewer-idx?c=umhistmath;cc=umhistmath;rgn=full%20text;idno=ABS3153.0001.001;didno=ABS3153.0001.001;view=image;seq=00000349"><i>The collected mathematical papers of Arthur Cayley</i></a>, vol. I (1841–1853), <a href="/wiki/Cambridge_University_Press" title="Cambridge University Press">Cambridge University Press</a>, pp. 332–336</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=The+collected+mathematical+papers+of+Arthur+Cayley&rft.pages=332-336&rft.pub=Cambridge+University+Press&rft.date=1889&rft.aulast=Cayley&rft.aufirst=Arthur&rft_id=http%3A%2F%2Fwww.hti.umich.edu%2Fcgi%2Ft%2Ftext%2Fpageviewer-idx%3Fc%3Dumhistmath%3Bcc%3Dumhistmath%3Brgn%3Dfull%2520text%3Bidno%3DABS3153.0001.001%3Bdidno%3DABS3153.0001.001%3Bview%3Dimage%3Bseq%3D00000349&rfr_id=info%3Asid%2Fen.wikipedia.org%3ARotation+matrix" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFDiaconisShahshahani1987" class="citation cs2"><a href="/wiki/Persi_Diaconis" title="Persi Diaconis">Diaconis, Persi</a>; Shahshahani, Mehrdad (1987), "The subgroup algorithm for generating uniform random variables", <i>Probability in the Engineering and Informational Sciences</i>, <b>1</b>: 15–32, <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1017%2FS0269964800000255">10.1017/S0269964800000255</a>, <a href="/wiki/ISSN_(identifier)" class="mw-redirect" title="ISSN (identifier)">ISSN</a> <a rel="nofollow" class="external text" href="https://search.worldcat.org/issn/0269-9648">0269-9648</a>, <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:122752374">122752374</a></cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=Probability+in+the+Engineering+and+Informational+Sciences&rft.atitle=The+subgroup+algorithm+for+generating+uniform+random+variables&rft.volume=1&rft.pages=15-32&rft.date=1987&rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A122752374%23id-name%3DS2CID&rft.issn=0269-9648&rft_id=info%3Adoi%2F10.1017%2FS0269964800000255&rft.aulast=Diaconis&rft.aufirst=Persi&rft.au=Shahshahani%2C+Mehrdad&rfr_id=info%3Asid%2Fen.wikipedia.org%3ARotation+matrix" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFEngø2001" class="citation cs2">Engø, Kenth (June 2001), <a rel="nofollow" class="external text" href="http://www.ii.uib.no/publikasjoner/texrap/abstract/2000-201.html">"On the BCH-formula in <b>so</b>(3)"</a>, <i>BIT Numerical Mathematics</i>, <b>41</b> (3): 629–632, <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1023%2FA%3A1021979515229">10.1023/A:1021979515229</a>, <a href="/wiki/ISSN_(identifier)" class="mw-redirect" title="ISSN (identifier)">ISSN</a> <a rel="nofollow" class="external text" href="https://search.worldcat.org/issn/0006-3835">0006-3835</a>, <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:126053191">126053191</a></cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=BIT+Numerical+Mathematics&rft.atitle=On+the+BCH-formula+in+so%283%29&rft.volume=41&rft.issue=3&rft.pages=629-632&rft.date=2001-06&rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A126053191%23id-name%3DS2CID&rft.issn=0006-3835&rft_id=info%3Adoi%2F10.1023%2FA%3A1021979515229&rft.aulast=Eng%C3%B8&rft.aufirst=Kenth&rft_id=http%3A%2F%2Fwww.ii.uib.no%2Fpublikasjoner%2Ftexrap%2Fabstract%2F2000-201.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3ARotation+matrix" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFFanHoffman1955" class="citation cs2">Fan, Ky; Hoffman, Alan J. (February 1955), "Some metric inequalities in the space of matrices", <i><a href="/wiki/Proceedings_of_the_American_Mathematical_Society" title="Proceedings of the American Mathematical Society">Proceedings of the American Mathematical Society</a></i>, <b>6</b> (1): 111–116, <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://doi.org/10.2307%2F2032662">10.2307/2032662</a></span>, <a href="/wiki/ISSN_(identifier)" class="mw-redirect" title="ISSN (identifier)">ISSN</a> <a rel="nofollow" class="external text" href="https://search.worldcat.org/issn/0002-9939">0002-9939</a>, <a href="/wiki/JSTOR_(identifier)" class="mw-redirect" title="JSTOR (identifier)">JSTOR</a> <a rel="nofollow" class="external text" href="https://www.jstor.org/stable/2032662">2032662</a></cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=Proceedings+of+the+American+Mathematical+Society&rft.atitle=Some+metric+inequalities+in+the+space+of+matrices&rft.volume=6&rft.issue=1&rft.pages=111-116&rft.date=1955-02&rft.issn=0002-9939&rft_id=https%3A%2F%2Fwww.jstor.org%2Fstable%2F2032662%23id-name%3DJSTOR&rft_id=info%3Adoi%2F10.2307%2F2032662&rft.aulast=Fan&rft.aufirst=Ky&rft.au=Hoffman%2C+Alan+J.&rfr_id=info%3Asid%2Fen.wikipedia.org%3ARotation+matrix" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFFultonHarris1991" class="citation cs2"><a href="/wiki/William_Fulton_(mathematician)" title="William Fulton (mathematician)">Fulton, William</a>; <a href="/wiki/Joe_Harris_(mathematician)" title="Joe Harris (mathematician)">Harris, Joe</a> (1991), <i>Representation Theory: A First Course</i>, <a href="/wiki/Graduate_Texts_in_Mathematics" title="Graduate Texts in Mathematics">Graduate Texts in Mathematics</a>, vol. 129, New York, Berlin, Heidelberg: <a href="/wiki/Springer-Verlag" class="mw-redirect" title="Springer-Verlag">Springer</a>, <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/978-0-387-97495-8" title="Special:BookSources/978-0-387-97495-8"><bdi>978-0-387-97495-8</bdi></a>, <a href="/wiki/MR_(identifier)" class="mw-redirect" title="MR (identifier)">MR</a> <a rel="nofollow" class="external text" href="https://mathscinet.ams.org/mathscinet-getitem?mr=1153249">1153249</a></cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=Representation+Theory%3A+A+First+Course&rft.place=New+York%2C+Berlin%2C+Heidelberg&rft.series=Graduate+Texts+in+Mathematics&rft.pub=Springer&rft.date=1991&rft.isbn=978-0-387-97495-8&rft_id=https%3A%2F%2Fmathscinet.ams.org%2Fmathscinet-getitem%3Fmr%3D1153249%23id-name%3DMR&rft.aulast=Fulton&rft.aufirst=William&rft.au=Harris%2C+Joe&rfr_id=info%3Asid%2Fen.wikipedia.org%3ARotation+matrix" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFGoldsteinPooleSafko2002" class="citation cs2"><a href="/wiki/Herbert_Goldstein" title="Herbert Goldstein">Goldstein, Herbert</a>; <a href="/w/index.php?title=Charles_P._Poole&action=edit&redlink=1" class="new" title="Charles P. Poole (page does not exist)">Poole, Charles P.</a>; Safko, John L. (2002), <i>Classical Mechanics</i> (third ed.), <a href="/wiki/Addison_Wesley" class="mw-redirect" title="Addison Wesley">Addison Wesley</a>, <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/978-0-201-65702-9" title="Special:BookSources/978-0-201-65702-9"><bdi>978-0-201-65702-9</bdi></a></cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=Classical+Mechanics&rft.edition=third&rft.pub=Addison+Wesley&rft.date=2002&rft.isbn=978-0-201-65702-9&rft.aulast=Goldstein&rft.aufirst=Herbert&rft.au=Poole%2C+Charles+P.&rft.au=Safko%2C+John+L.&rfr_id=info%3Asid%2Fen.wikipedia.org%3ARotation+matrix" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFHall2004" class="citation cs2">Hall, Brian C. (2004), <i>Lie Groups, Lie Algebras, and Representations: An Elementary Introduction</i>, <a href="/wiki/Springer-Verlag" class="mw-redirect" title="Springer-Verlag">Springer</a>, <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/978-0-387-40122-5" title="Special:BookSources/978-0-387-40122-5"><bdi>978-0-387-40122-5</bdi></a></cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=Lie+Groups%2C+Lie+Algebras%2C+and+Representations%3A+An+Elementary+Introduction&rft.pub=Springer&rft.date=2004&rft.isbn=978-0-387-40122-5&rft.aulast=Hall&rft.aufirst=Brian+C.&rfr_id=info%3Asid%2Fen.wikipedia.org%3ARotation+matrix" class="Z3988"></span> (<a href="/wiki/Graduate_Texts_in_Mathematics" title="Graduate Texts in Mathematics">GTM</a> 222)</li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFHerterLott1993" class="citation cs2">Herter, Thomas; Lott, Klaus (September–October 1993), "Algorithms for decomposing 3-D orthogonal matrices into primitive rotations", <i>Computers & Graphics</i>, <b>17</b> (5): 517–527, <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1016%2F0097-8493%2893%2990003-R">10.1016/0097-8493(93)90003-R</a>, <a href="/wiki/ISSN_(identifier)" class="mw-redirect" title="ISSN (identifier)">ISSN</a> <a rel="nofollow" class="external text" href="https://search.worldcat.org/issn/0097-8493">0097-8493</a></cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=Computers+%26+Graphics&rft.atitle=Algorithms+for+decomposing+3-D+orthogonal+matrices+into+primitive+rotations&rft.volume=17&rft.issue=5&rft.pages=517-527&rft.date=1993-09%2F1993-10&rft_id=info%3Adoi%2F10.1016%2F0097-8493%2893%2990003-R&rft.issn=0097-8493&rft.aulast=Herter&rft.aufirst=Thomas&rft.au=Lott%2C+Klaus&rfr_id=info%3Asid%2Fen.wikipedia.org%3ARotation+matrix" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFHigham1989" class="citation cs2">Higham, Nicholas J. (October 1, 1989), "Matrix nearness problems and applications", in Gover, Michael J. C.; Barnett, Stephen (eds.), <a rel="nofollow" class="external text" href="https://archive.org/details/applicationsofma0000unse/page/1"><i>Applications of Matrix Theory</i></a>, <a href="/wiki/Oxford_University_Press" title="Oxford University Press">Oxford University Press</a>, pp. <a rel="nofollow" class="external text" href="https://archive.org/details/applicationsofma0000unse/page/1">1–27</a>, <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/978-0-19-853625-3" title="Special:BookSources/978-0-19-853625-3"><bdi>978-0-19-853625-3</bdi></a></cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=bookitem&rft.atitle=Matrix+nearness+problems+and+applications&rft.btitle=Applications+of+Matrix+Theory&rft.pages=1-27&rft.pub=Oxford+University+Press&rft.date=1989-10-01&rft.isbn=978-0-19-853625-3&rft.aulast=Higham&rft.aufirst=Nicholas+J.&rft_id=https%3A%2F%2Farchive.org%2Fdetails%2Fapplicationsofma0000unse%2Fpage%2F1&rfr_id=info%3Asid%2Fen.wikipedia.org%3ARotation+matrix" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFLeónMasséRivest2006" class="citation cs2">León, Carlos A.; Massé, Jean-Claude; Rivest, Louis-Paul (February 2006), <a rel="nofollow" class="external text" href="http://www.mat.ulaval.ca/pages/lpr/">"A statistical model for random rotations"</a>, <i>Journal of Multivariate Analysis</i>, <b>97</b> (2): 412–430, <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://doi.org/10.1016%2Fj.jmva.2005.03.009">10.1016/j.jmva.2005.03.009</a></span>, <a href="/wiki/ISSN_(identifier)" class="mw-redirect" title="ISSN (identifier)">ISSN</a> <a rel="nofollow" class="external text" href="https://search.worldcat.org/issn/0047-259X">0047-259X</a></cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=Journal+of+Multivariate+Analysis&rft.atitle=A+statistical+model+for+random+rotations&rft.volume=97&rft.issue=2&rft.pages=412-430&rft.date=2006-02&rft_id=info%3Adoi%2F10.1016%2Fj.jmva.2005.03.009&rft.issn=0047-259X&rft.aulast=Le%C3%B3n&rft.aufirst=Carlos+A.&rft.au=Mass%C3%A9%2C+Jean-Claude&rft.au=Rivest%2C+Louis-Paul&rft_id=http%3A%2F%2Fwww.mat.ulaval.ca%2Fpages%2Flpr%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3ARotation+matrix" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFMiles1965" class="citation cs2">Miles, Roger E. (December 1965), "On random rotations in <i>R</i><sup>3</sup>", <i><a href="/wiki/Biometrika" title="Biometrika">Biometrika</a></i>, <b>52</b> (3/4): 636–639, <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.2307%2F2333716">10.2307/2333716</a>, <a href="/wiki/ISSN_(identifier)" class="mw-redirect" title="ISSN (identifier)">ISSN</a> <a rel="nofollow" class="external text" href="https://search.worldcat.org/issn/0006-3444">0006-3444</a>, <a href="/wiki/JSTOR_(identifier)" class="mw-redirect" title="JSTOR (identifier)">JSTOR</a> <a rel="nofollow" class="external text" href="https://www.jstor.org/stable/2333716">2333716</a></cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=Biometrika&rft.atitle=On+random+rotations+in+R%3Csup%3E3%3C%2Fsup%3E&rft.volume=52&rft.issue=3%2F4&rft.pages=636-639&rft.date=1965-12&rft.issn=0006-3444&rft_id=https%3A%2F%2Fwww.jstor.org%2Fstable%2F2333716%23id-name%3DJSTOR&rft_id=info%3Adoi%2F10.2307%2F2333716&rft.aulast=Miles&rft.aufirst=Roger+E.&rfr_id=info%3Asid%2Fen.wikipedia.org%3ARotation+matrix" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFMolerMorrison1983" class="citation cs2"><a href="/wiki/Cleve_Moler" title="Cleve Moler">Moler, Cleve</a>; Morrison, Donald (1983), <a rel="nofollow" class="external text" href="http://domino.watson.ibm.com/tchjr/journalindex.nsf/0b9bc46ed06cbac1852565e6006fe1a0/0043d03ee1c1013c85256bfa0067f5a6?OpenDocument">"Replacing square roots by pythagorean sums"</a>, <i>IBM Journal of Research and Development</i>, <b>27</b> (6): 577–581, <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1147%2Frd.276.0577">10.1147/rd.276.0577</a>, <a href="/wiki/ISSN_(identifier)" class="mw-redirect" title="ISSN (identifier)">ISSN</a> <a rel="nofollow" class="external text" href="https://search.worldcat.org/issn/0018-8646">0018-8646</a></cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=IBM+Journal+of+Research+and+Development&rft.atitle=Replacing+square+roots+by+pythagorean+sums&rft.volume=27&rft.issue=6&rft.pages=577-581&rft.date=1983&rft_id=info%3Adoi%2F10.1147%2Frd.276.0577&rft.issn=0018-8646&rft.aulast=Moler&rft.aufirst=Cleve&rft.au=Morrison%2C+Donald&rft_id=http%3A%2F%2Fdomino.watson.ibm.com%2Ftchjr%2Fjournalindex.nsf%2F0b9bc46ed06cbac1852565e6006fe1a0%2F0043d03ee1c1013c85256bfa0067f5a6%3FOpenDocument&rfr_id=info%3Asid%2Fen.wikipedia.org%3ARotation+matrix" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFMurnaghan1950" class="citation cs2"><a href="/wiki/Francis_Dominic_Murnaghan_(mathematician)" title="Francis Dominic Murnaghan (mathematician)">Murnaghan, Francis D.</a> (1950), "The element of volume of the rotation group", <i><a href="/wiki/Proceedings_of_the_National_Academy_of_Sciences" class="mw-redirect" title="Proceedings of the National Academy of Sciences">Proceedings of the National Academy of Sciences</a></i>, <b>36</b> (11): 670–672, <a href="/wiki/Bibcode_(identifier)" class="mw-redirect" title="Bibcode (identifier)">Bibcode</a>:<a rel="nofollow" class="external text" href="https://ui.adsabs.harvard.edu/abs/1950PNAS...36..670M">1950PNAS...36..670M</a>, <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://doi.org/10.1073%2Fpnas.36.11.670">10.1073/pnas.36.11.670</a></span>, <a href="/wiki/ISSN_(identifier)" class="mw-redirect" title="ISSN (identifier)">ISSN</a> <a rel="nofollow" class="external text" href="https://search.worldcat.org/issn/0027-8424">0027-8424</a>, <a href="/wiki/PMC_(identifier)" class="mw-redirect" title="PMC (identifier)">PMC</a> <span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC1063502">1063502</a></span>, <a href="/wiki/PMID_(identifier)" class="mw-redirect" title="PMID (identifier)">PMID</a> <a rel="nofollow" class="external text" href="https://pubmed.ncbi.nlm.nih.gov/16589056">16589056</a></cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=Proceedings+of+the+National+Academy+of+Sciences&rft.atitle=The+element+of+volume+of+the+rotation+group&rft.volume=36&rft.issue=11&rft.pages=670-672&rft.date=1950&rft_id=https%3A%2F%2Fwww.ncbi.nlm.nih.gov%2Fpmc%2Farticles%2FPMC1063502%23id-name%3DPMC&rft_id=info%3Abibcode%2F1950PNAS...36..670M&rft_id=info%3Apmid%2F16589056&rft_id=info%3Adoi%2F10.1073%2Fpnas.36.11.670&rft.issn=0027-8424&rft.aulast=Murnaghan&rft.aufirst=Francis+D.&rfr_id=info%3Asid%2Fen.wikipedia.org%3ARotation+matrix" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFMurnaghan1962" class="citation cs2"><a href="/wiki/Francis_Dominic_Murnaghan_(mathematician)" title="Francis Dominic Murnaghan (mathematician)">Murnaghan, Francis D.</a> (1962), <i>The Unitary and Rotation Groups</i>, Lectures on applied mathematics, Washington: Spartan Books</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=The+Unitary+and+Rotation+Groups&rft.place=Washington&rft.series=Lectures+on+applied+mathematics&rft.pub=Spartan+Books&rft.date=1962&rft.aulast=Murnaghan&rft.aufirst=Francis+D.&rfr_id=info%3Asid%2Fen.wikipedia.org%3ARotation+matrix" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFCayley1889" class="citation cs2 cs1-prop-long-vol"><a href="/wiki/Arthur_Cayley" title="Arthur Cayley">Cayley, Arthur</a> (1889), <a rel="nofollow" class="external text" href="http://www.hti.umich.edu/cgi/t/text/pageviewer-idx?c=umhistmath;cc=umhistmath;rgn=full%20text;idno=ABS3153.0001.001;didno=ABS3153.0001.001;view=image;seq=00000349"><i>The collected mathematical papers of Arthur Cayley</i></a>, vol. I (1841–1853), <a href="/wiki/Cambridge_University_Press" title="Cambridge University Press">Cambridge University Press</a>, pp. 332–336</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=The+collected+mathematical+papers+of+Arthur+Cayley&rft.pages=332-336&rft.pub=Cambridge+University+Press&rft.date=1889&rft.aulast=Cayley&rft.aufirst=Arthur&rft_id=http%3A%2F%2Fwww.hti.umich.edu%2Fcgi%2Ft%2Ftext%2Fpageviewer-idx%3Fc%3Dumhistmath%3Bcc%3Dumhistmath%3Brgn%3Dfull%2520text%3Bidno%3DABS3153.0001.001%3Bdidno%3DABS3153.0001.001%3Bview%3Dimage%3Bseq%3D00000349&rfr_id=info%3Asid%2Fen.wikipedia.org%3ARotation+matrix" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFPaeth1986" class="citation cs2">Paeth, Alan W. (1986), <a rel="nofollow" class="external text" href="https://graphicsinterface.org/wp-content/uploads/gi1986-15.pdf">"A Fast Algorithm for General Raster Rotation"</a> <span class="cs1-format">(PDF)</span>, <i>Proceedings, Graphics Interface '86</i>: 77–81</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=Proceedings%2C+Graphics+Interface+%2786&rft.atitle=A+Fast+Algorithm+for+General+Raster+Rotation&rft.pages=77-81&rft.date=1986&rft.aulast=Paeth&rft.aufirst=Alan+W.&rft_id=https%3A%2F%2Fgraphicsinterface.org%2Fwp-content%2Fuploads%2Fgi1986-15.pdf&rfr_id=info%3Asid%2Fen.wikipedia.org%3ARotation+matrix" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFDaubechiesSweldens1998" class="citation cs2"><a href="/wiki/Ingrid_Daubechies" title="Ingrid Daubechies">Daubechies, Ingrid</a>; <a href="/wiki/Wim_Sweldens" title="Wim Sweldens">Sweldens, Wim</a> (1998), <a rel="nofollow" class="external text" href="https://cm-bell-labs.github.io/who/wim/papers/factor/factor.pdf">"Factoring wavelet transforms into lifting steps"</a> <span class="cs1-format">(PDF)</span>, <i>Journal of Fourier Analysis and Applications</i>, <b>4</b> (3): 247–269, <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1007%2FBF02476026">10.1007/BF02476026</a>, <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:195242970">195242970</a></cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=Journal+of+Fourier+Analysis+and+Applications&rft.atitle=Factoring+wavelet+transforms+into+lifting+steps&rft.volume=4&rft.issue=3&rft.pages=247-269&rft.date=1998&rft_id=info%3Adoi%2F10.1007%2FBF02476026&rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A195242970%23id-name%3DS2CID&rft.aulast=Daubechies&rft.aufirst=Ingrid&rft.au=Sweldens%2C+Wim&rft_id=https%3A%2F%2Fcm-bell-labs.github.io%2Fwho%2Fwim%2Fpapers%2Ffactor%2Ffactor.pdf&rfr_id=info%3Asid%2Fen.wikipedia.org%3ARotation+matrix" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFPique1990" class="citation cs2">Pique, Michael E. (1990), "Rotation Tools", in Andrew S. Glassner (ed.), <a rel="nofollow" class="external text" href="http://www.graphicsgems.org/"><i>Graphics Gems</i></a>, San Diego: <a href="/wiki/Academic_Press" title="Academic Press">Academic Press</a> Professional, pp. 465–469, <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/978-0-12-286166-6" title="Special:BookSources/978-0-12-286166-6"><bdi>978-0-12-286166-6</bdi></a></cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=bookitem&rft.atitle=Rotation+Tools&rft.btitle=Graphics+Gems&rft.place=San+Diego&rft.pages=465-469&rft.pub=Academic+Press+Professional&rft.date=1990&rft.isbn=978-0-12-286166-6&rft.aulast=Pique&rft.aufirst=Michael+E.&rft_id=http%3A%2F%2Fwww.graphicsgems.org%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3ARotation+matrix" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFPressTeukolskyVetterlingFlannery2007" class="citation cs2">Press, William H.; Teukolsky, Saul A.; Vetterling, William T.; Flannery, Brian P. (2007), <a rel="nofollow" class="external text" href="https://web.archive.org/web/20110811154417/http://apps.nrbook.com/empanel/index.html#pg=1130">"Section 21.5.2. Picking a Random Rotation Matrix"</a>, <i>Numerical Recipes: The Art of Scientific Computing</i> (3rd ed.), New York: Cambridge University Press, <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/978-0-521-88068-8" title="Special:BookSources/978-0-521-88068-8"><bdi>978-0-521-88068-8</bdi></a>, archived from <a rel="nofollow" class="external text" href="http://apps.nrbook.com/empanel/index.html#pg=1130">the original</a> on 2011-08-11<span class="reference-accessdate">, retrieved <span class="nowrap">2011-08-18</span></span></cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=bookitem&rft.atitle=Section+21.5.2.+Picking+a+Random+Rotation+Matrix&rft.btitle=Numerical+Recipes%3A+The+Art+of+Scientific+Computing&rft.place=New+York&rft.edition=3rd&rft.pub=Cambridge+University+Press&rft.date=2007&rft.isbn=978-0-521-88068-8&rft.aulast=Press&rft.aufirst=William+H.&rft.au=Teukolsky%2C+Saul+A.&rft.au=Vetterling%2C+William+T.&rft.au=Flannery%2C+Brian+P.&rft_id=http%3A%2F%2Fapps.nrbook.com%2Fempanel%2Findex.html%23pg%3D1130&rfr_id=info%3Asid%2Fen.wikipedia.org%3ARotation+matrix" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFShepperd1978" class="citation cs2">Shepperd, Stanley W. (May–June 1978), "Quaternion from rotation matrix", <i>Journal of Guidance and Control</i>, <b>1</b> (3): 223–224, <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.2514%2F3.55767b">10.2514/3.55767b</a></cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=Journal+of+Guidance+and+Control&rft.atitle=Quaternion+from+rotation+matrix&rft.volume=1&rft.issue=3&rft.pages=223-224&rft.date=1978-05%2F1978-06&rft_id=info%3Adoi%2F10.2514%2F3.55767b&rft.aulast=Shepperd&rft.aufirst=Stanley+W.&rfr_id=info%3Asid%2Fen.wikipedia.org%3ARotation+matrix" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFShoemake1994" class="citation cs2">Shoemake, Ken (1994), "Euler angle conversion", in Paul Heckbert (ed.), <a rel="nofollow" class="external text" href="https://archive.org/details/isbn_9780123361554/page/222"><i>Graphics Gems IV</i></a>, San Diego: <a href="/wiki/Academic_Press" title="Academic Press">Academic Press</a> Professional, pp. <a rel="nofollow" class="external text" href="https://archive.org/details/isbn_9780123361554/page/222">222–229</a>, <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/978-0-12-336155-4" title="Special:BookSources/978-0-12-336155-4"><bdi>978-0-12-336155-4</bdi></a></cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=bookitem&rft.atitle=Euler+angle+conversion&rft.btitle=Graphics+Gems+IV&rft.place=San+Diego&rft.pages=222-229&rft.pub=Academic+Press+Professional&rft.date=1994&rft.isbn=978-0-12-336155-4&rft.aulast=Shoemake&rft.aufirst=Ken&rft_id=https%3A%2F%2Farchive.org%2Fdetails%2Fisbn_9780123361554%2Fpage%2F222&rfr_id=info%3Asid%2Fen.wikipedia.org%3ARotation+matrix" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFStuelpnagel1964" class="citation cs2">Stuelpnagel, John (October 1964), "On the parameterization of the three-dimensional rotation group", <i>SIAM Review</i>, <b>6</b> (4): 422–430, <a href="/wiki/Bibcode_(identifier)" class="mw-redirect" title="Bibcode (identifier)">Bibcode</a>:<a rel="nofollow" class="external text" href="https://ui.adsabs.harvard.edu/abs/1964SIAMR...6..422S">1964SIAMR...6..422S</a>, <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1137%2F1006093">10.1137/1006093</a>, <a href="/wiki/ISSN_(identifier)" class="mw-redirect" title="ISSN (identifier)">ISSN</a> <a rel="nofollow" class="external text" href="https://search.worldcat.org/issn/0036-1445">0036-1445</a>, <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:13990266">13990266</a></cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=SIAM+Review&rft.atitle=On+the+parameterization+of+the+three-dimensional+rotation+group&rft.volume=6&rft.issue=4&rft.pages=422-430&rft.date=1964-10&rft_id=info%3Adoi%2F10.1137%2F1006093&rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A13990266%23id-name%3DS2CID&rft.issn=0036-1445&rft_id=info%3Abibcode%2F1964SIAMR...6..422S&rft.aulast=Stuelpnagel&rft.aufirst=John&rfr_id=info%3Asid%2Fen.wikipedia.org%3ARotation+matrix" class="Z3988"></span> (Also <a rel="nofollow" class="external text" href="https://ntrs.nasa.gov/search.jsp">NASA-CR-53568</a>.)</li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFVaradarajan1984" class="citation cs2">Varadarajan, Veeravalli S. (1984), <i>Lie Groups, Lie Algebras, and Their Representation</i>, <a href="/wiki/Springer-Verlag" class="mw-redirect" title="Springer-Verlag">Springer</a>, <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/978-0-387-90969-1" title="Special:BookSources/978-0-387-90969-1"><bdi>978-0-387-90969-1</bdi></a></cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=Lie+Groups%2C+Lie+Algebras%2C+and+Their+Representation&rft.pub=Springer&rft.date=1984&rft.isbn=978-0-387-90969-1&rft.aulast=Varadarajan&rft.aufirst=Veeravalli+S.&rfr_id=info%3Asid%2Fen.wikipedia.org%3ARotation+matrix" class="Z3988"></span> (<a href="/wiki/Graduate_Texts_in_Mathematics" title="Graduate Texts in Mathematics">GTM</a> 102)</li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFWedderburn1934" class="citation cs2"><a href="/wiki/Joseph_Wedderburn" title="Joseph Wedderburn">Wedderburn, Joseph H. M.</a> (1934), <a rel="nofollow" class="external text" href="https://scholar.google.co.uk/scholar?hl=en&lr=&q=author%3AWedderburn+intitle%3ALectures+on+Matrices&as_publication=&as_ylo=1934&as_yhi=1934&btnG=Search"><i>Lectures on Matrices</i></a>, <a href="/wiki/American_Mathematical_Society" title="American Mathematical Society">AMS</a>, <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/978-0-8218-3204-2" title="Special:BookSources/978-0-8218-3204-2"><bdi>978-0-8218-3204-2</bdi></a></cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=Lectures+on+Matrices&rft.pub=AMS&rft.date=1934&rft.isbn=978-0-8218-3204-2&rft.aulast=Wedderburn&rft.aufirst=Joseph+H.+M.&rft_id=https%3A%2F%2Fscholar.google.co.uk%2Fscholar%3Fhl%3Den%26lr%3D%26q%3Dauthor%253AWedderburn%2Bintitle%253ALectures%2Bon%2BMatrices%26as_publication%3D%26as_ylo%3D1934%26as_yhi%3D1934%26btnG%3DSearch&rfr_id=info%3Asid%2Fen.wikipedia.org%3ARotation+matrix" class="Z3988"></span></li></ul> <div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Rotation_matrix&action=edit&section=43" title="Edit section: External links"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation cs2"><a rel="nofollow" class="external text" href="https://www.encyclopediaofmath.org/index.php?title=Rotation">"Rotation"</a>, <i><a href="/wiki/Encyclopedia_of_Mathematics" title="Encyclopedia of Mathematics">Encyclopedia of Mathematics</a></i>, <a href="/wiki/European_Mathematical_Society" title="European Mathematical Society">EMS Press</a>, 2001 [1994]</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=bookitem&rft.atitle=Rotation&rft.btitle=Encyclopedia+of+Mathematics&rft.pub=EMS+Press&rft.date=2001&rft_id=https%3A%2F%2Fwww.encyclopediaofmath.org%2Findex.php%3Ftitle%3DRotation&rfr_id=info%3Asid%2Fen.wikipedia.org%3ARotation+matrix" class="Z3988"></span></li> <li><a rel="nofollow" class="external text" href="http://mathworld.wolfram.com/RotationMatrix.html">Rotation matrices at Mathworld</a></li> <li><a rel="nofollow" class="external text" href="http://www.mathaware.org/mam/00/master/dimension/demos/plane-rotate.html">Math Awareness Month 2000 interactive demo</a> (requires <a href="/wiki/Java_(programming_language)" title="Java (programming language)">Java</a>)</li> <li><a rel="nofollow" class="external text" href="http://www.mathpages.com/home/kmath593/kmath593.htm">Rotation Matrices</a> at MathPages</li> <li><span class="languageicon">(in Italian)</span> <a rel="nofollow" class="external text" href="http://ansi.altervista.org">A parametrization of SOn(R) by generalized Euler Angles</a></li> <li><a rel="nofollow" class="external text" href="http://www.euclideanspace.com/maths/geometry/affine/aroundPoint/">Rotation about any point</a></li></ul> <div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}</style><style data-mw-deduplicate="TemplateStyles:r1236075235">.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}</style></div><div role="navigation" class="navbox" aria-labelledby="Matrix_classes" style="padding:3px"><table class="nowraplinks hlist mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><style data-mw-deduplicate="TemplateStyles:r1239400231">.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}</style><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:Matrix_classes" title="Template:Matrix classes"><abbr title="View this template">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:Matrix_classes" title="Template talk:Matrix classes"><abbr title="Discuss this template">t</abbr></a></li><li class="nv-edit"><a href="/wiki/Special:EditPage/Template:Matrix_classes" title="Special:EditPage/Template:Matrix classes"><abbr title="Edit this template">e</abbr></a></li></ul></div><div id="Matrix_classes" style="font-size:114%;margin:0 4em"><a href="/wiki/Matrix_(mathematics)" title="Matrix (mathematics)">Matrix</a> classes</div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">Explicitly constrained entries</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Alternant_matrix" title="Alternant matrix">Alternant</a></li> <li><a href="/wiki/Anti-diagonal_matrix" title="Anti-diagonal matrix">Anti-diagonal</a></li> <li><a href="/wiki/Skew-Hermitian_matrix" title="Skew-Hermitian matrix">Anti-Hermitian</a></li> <li><a href="/wiki/Skew-symmetric_matrix" title="Skew-symmetric matrix">Anti-symmetric</a></li> <li><a href="/wiki/Arrowhead_matrix" title="Arrowhead matrix">Arrowhead</a></li> <li><a href="/wiki/Band_matrix" title="Band matrix">Band</a></li> <li><a href="/wiki/Bidiagonal_matrix" title="Bidiagonal matrix">Bidiagonal</a></li> <li><a href="/wiki/Bisymmetric_matrix" title="Bisymmetric matrix">Bisymmetric</a></li> <li><a href="/wiki/Block-diagonal_matrix" class="mw-redirect" title="Block-diagonal matrix">Block-diagonal</a></li> <li><a href="/wiki/Block_matrix" title="Block matrix">Block</a></li> <li><a href="/wiki/Block_tridiagonal_matrix" class="mw-redirect" title="Block tridiagonal matrix">Block tridiagonal</a></li> <li><a href="/wiki/Boolean_matrix" title="Boolean matrix">Boolean</a></li> <li><a href="/wiki/Cauchy_matrix" title="Cauchy matrix">Cauchy</a></li> <li><a href="/wiki/Centrosymmetric_matrix" title="Centrosymmetric matrix">Centrosymmetric</a></li> <li><a href="/wiki/Conference_matrix" title="Conference matrix">Conference</a></li> <li><a href="/wiki/Complex_Hadamard_matrix" title="Complex Hadamard matrix">Complex Hadamard</a></li> <li><a href="/wiki/Copositive_matrix" title="Copositive matrix">Copositive</a></li> <li><a href="/wiki/Diagonally_dominant_matrix" title="Diagonally dominant matrix">Diagonally dominant</a></li> <li><a href="/wiki/Diagonal_matrix" title="Diagonal matrix">Diagonal</a></li> <li><a href="/wiki/DFT_matrix" title="DFT matrix">Discrete Fourier Transform</a></li> <li><a href="/wiki/Elementary_matrix" title="Elementary matrix">Elementary</a></li> <li><a href="/wiki/Equivalent_matrix" class="mw-redirect" title="Equivalent matrix">Equivalent</a></li> <li><a href="/wiki/Frobenius_matrix" title="Frobenius matrix">Frobenius</a></li> <li><a href="/wiki/Generalized_permutation_matrix" title="Generalized permutation matrix">Generalized permutation</a></li> <li><a href="/wiki/Hadamard_matrix" title="Hadamard matrix">Hadamard</a></li> <li><a href="/wiki/Hankel_matrix" title="Hankel matrix">Hankel</a></li> <li><a href="/wiki/Hermitian_matrix" title="Hermitian matrix">Hermitian</a></li> <li><a href="/wiki/Hessenberg_matrix" title="Hessenberg matrix">Hessenberg</a></li> <li><a href="/wiki/Hollow_matrix" title="Hollow matrix">Hollow</a></li> <li><a href="/wiki/Integer_matrix" title="Integer matrix">Integer</a></li> <li><a href="/wiki/Logical_matrix" title="Logical matrix">Logical</a></li> <li><a href="/wiki/Matrix_unit" title="Matrix unit">Matrix unit</a></li> <li><a href="/wiki/Metzler_matrix" title="Metzler matrix">Metzler</a></li> <li><a href="/wiki/Moore_matrix" title="Moore matrix">Moore</a></li> <li><a href="/wiki/Nonnegative_matrix" title="Nonnegative matrix">Nonnegative</a></li> <li><a href="/wiki/Pentadiagonal_matrix" class="mw-redirect" title="Pentadiagonal matrix">Pentadiagonal</a></li> <li><a href="/wiki/Permutation_matrix" title="Permutation matrix">Permutation</a></li> <li><a href="/wiki/Persymmetric_matrix" title="Persymmetric matrix">Persymmetric</a></li> <li><a href="/wiki/Polynomial_matrix" title="Polynomial matrix">Polynomial</a></li> <li><a href="/wiki/Quaternionic_matrix" title="Quaternionic matrix">Quaternionic</a></li> <li><a href="/wiki/Signature_matrix" title="Signature matrix">Signature</a></li> <li><a href="/wiki/Skew-Hermitian_matrix" title="Skew-Hermitian matrix">Skew-Hermitian</a></li> <li><a href="/wiki/Skew-symmetric_matrix" title="Skew-symmetric matrix">Skew-symmetric</a></li> <li><a href="/wiki/Skyline_matrix" title="Skyline matrix">Skyline</a></li> <li><a href="/wiki/Sparse_matrix" title="Sparse matrix">Sparse</a></li> <li><a href="/wiki/Sylvester_matrix" title="Sylvester matrix">Sylvester</a></li> <li><a href="/wiki/Symmetric_matrix" title="Symmetric matrix">Symmetric</a></li> <li><a href="/wiki/Toeplitz_matrix" title="Toeplitz matrix">Toeplitz</a></li> <li><a href="/wiki/Triangular_matrix" title="Triangular matrix">Triangular</a></li> <li><a href="/wiki/Tridiagonal_matrix" title="Tridiagonal matrix">Tridiagonal</a></li> <li><a href="/wiki/Vandermonde_matrix" title="Vandermonde matrix">Vandermonde</a></li> <li><a href="/wiki/Walsh_matrix" title="Walsh matrix">Walsh</a></li> <li><a href="/wiki/Z-matrix_(mathematics)" title="Z-matrix (mathematics)">Z</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Constant</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Exchange_matrix" title="Exchange matrix">Exchange</a></li> <li><a href="/wiki/Hilbert_matrix" title="Hilbert matrix">Hilbert</a></li> <li><a href="/wiki/Identity_matrix" title="Identity matrix">Identity</a></li> <li><a href="/wiki/Lehmer_matrix" title="Lehmer matrix">Lehmer</a></li> <li><a href="/wiki/Matrix_of_ones" title="Matrix of ones">Of ones</a></li> <li><a href="/wiki/Pascal_matrix" title="Pascal matrix">Pascal</a></li> <li><a href="/wiki/Pauli_matrices" title="Pauli matrices">Pauli</a></li> <li><a href="/wiki/Redheffer_matrix" title="Redheffer matrix">Redheffer</a></li> <li><a href="/wiki/Shift_matrix" title="Shift matrix">Shift</a></li> <li><a href="/wiki/Zero_matrix" title="Zero matrix">Zero</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Conditions on <a href="/wiki/Eigenvalues_and_eigenvectors" title="Eigenvalues and eigenvectors">eigenvalues or eigenvectors</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Companion_matrix" title="Companion matrix">Companion</a></li> <li><a href="/wiki/Convergent_matrix" title="Convergent matrix">Convergent</a></li> <li><a href="/wiki/Defective_matrix" title="Defective matrix">Defective</a></li> <li><a href="/wiki/Definite_matrix" title="Definite matrix">Definite</a></li> <li><a href="/wiki/Diagonalizable_matrix" title="Diagonalizable matrix">Diagonalizable</a></li> <li><a href="/wiki/Hurwitz-stable_matrix" title="Hurwitz-stable matrix">Hurwitz-stable</a></li> <li><a href="/wiki/Positive-definite_matrix" class="mw-redirect" title="Positive-definite matrix">Positive-definite</a></li> <li><a href="/wiki/Stieltjes_matrix" title="Stieltjes matrix">Stieltjes</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Satisfying conditions on <a href="/wiki/Matrix_product" class="mw-redirect" title="Matrix product">products</a> or <a href="/wiki/Inverse_of_a_matrix" class="mw-redirect" title="Inverse of a matrix">inverses</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Matrix_congruence" title="Matrix congruence">Congruent</a></li> <li><a href="/wiki/Idempotent_matrix" title="Idempotent matrix">Idempotent</a> or <a href="/wiki/Projection_(linear_algebra)" title="Projection (linear algebra)">Projection</a></li> <li><a href="/wiki/Invertible_matrix" title="Invertible matrix">Invertible</a></li> <li><a href="/wiki/Involutory_matrix" title="Involutory matrix">Involutory</a></li> <li><a href="/wiki/Nilpotent_matrix" title="Nilpotent matrix">Nilpotent</a></li> <li><a href="/wiki/Normal_matrix" title="Normal matrix">Normal</a></li> <li><a href="/wiki/Orthogonal_matrix" title="Orthogonal matrix">Orthogonal</a></li> <li><a href="/wiki/Unimodular_matrix" title="Unimodular matrix">Unimodular</a></li> <li><a href="/wiki/Unipotent" title="Unipotent">Unipotent</a></li> <li><a href="/wiki/Unitary_matrix" title="Unitary matrix">Unitary</a></li> <li><a href="/wiki/Totally_unimodular_matrix" class="mw-redirect" title="Totally unimodular matrix">Totally unimodular</a></li> <li><a href="/wiki/Weighing_matrix" title="Weighing matrix">Weighing</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">With specific applications</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Adjugate_matrix" title="Adjugate matrix">Adjugate</a></li> <li><a href="/wiki/Alternating_sign_matrix" title="Alternating sign matrix">Alternating sign</a></li> <li><a href="/wiki/Augmented_matrix" title="Augmented matrix">Augmented</a></li> <li><a href="/wiki/B%C3%A9zout_matrix" title="Bézout matrix">Bézout</a></li> <li><a href="/wiki/Carleman_matrix" title="Carleman matrix">Carleman</a></li> <li><a href="/wiki/Cartan_matrix" title="Cartan matrix">Cartan</a></li> <li><a href="/wiki/Circulant_matrix" title="Circulant matrix">Circulant</a></li> <li><a href="/wiki/Cofactor_matrix" class="mw-redirect" title="Cofactor matrix">Cofactor</a></li> <li><a href="/wiki/Commutation_matrix" title="Commutation matrix">Commutation</a></li> <li><a href="/wiki/Confusion_matrix" title="Confusion matrix">Confusion</a></li> <li><a href="/wiki/Coxeter_matrix" class="mw-redirect" title="Coxeter matrix">Coxeter</a></li> <li><a href="/wiki/Distance_matrix" title="Distance matrix">Distance</a></li> <li><a href="/wiki/Duplication_and_elimination_matrices" title="Duplication and elimination matrices">Duplication and elimination</a></li> <li><a href="/wiki/Euclidean_distance_matrix" title="Euclidean distance matrix">Euclidean distance</a></li> <li><a href="/wiki/Fundamental_matrix_(linear_differential_equation)" title="Fundamental matrix (linear differential equation)">Fundamental (linear differential equation)</a></li> <li><a href="/wiki/Generator_matrix" title="Generator matrix">Generator</a></li> <li><a href="/wiki/Gram_matrix" title="Gram matrix">Gram</a></li> <li><a href="/wiki/Hessian_matrix" title="Hessian matrix">Hessian</a></li> <li><a href="/wiki/Householder_transformation" title="Householder transformation">Householder</a></li> <li><a href="/wiki/Jacobian_matrix_and_determinant" title="Jacobian matrix and determinant">Jacobian</a></li> <li><a href="/wiki/Moment_matrix" title="Moment matrix">Moment</a></li> <li><a href="/wiki/Payoff_matrix" class="mw-redirect" title="Payoff matrix">Payoff</a></li> <li><a href="/wiki/Pick_matrix" class="mw-redirect" title="Pick matrix">Pick</a></li> <li><a href="/wiki/Random_matrix" title="Random matrix">Random</a></li> <li><a class="mw-selflink selflink">Rotation</a></li> <li><a href="/wiki/Routh%E2%80%93Hurwitz_matrix" title="Routh–Hurwitz matrix">Routh-Hurwitz</a></li> <li><a href="/wiki/Seifert_matrix" class="mw-redirect" title="Seifert matrix">Seifert</a></li> <li><a href="/wiki/Shear_matrix" class="mw-redirect" title="Shear matrix">Shear</a></li> <li><a href="/wiki/Similarity_matrix" class="mw-redirect" title="Similarity matrix">Similarity</a></li> <li><a href="/wiki/Symplectic_matrix" title="Symplectic matrix">Symplectic</a></li> <li><a href="/wiki/Totally_positive_matrix" title="Totally positive matrix">Totally positive</a></li> <li><a href="/wiki/Transformation_matrix" title="Transformation matrix">Transformation</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Used in <a href="/wiki/Statistics" title="Statistics">statistics</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Centering_matrix" title="Centering matrix">Centering</a></li> <li><a href="/wiki/Correlation_matrix" class="mw-redirect" title="Correlation matrix">Correlation</a></li> <li><a href="/wiki/Covariance_matrix" title="Covariance matrix">Covariance</a></li> <li><a href="/wiki/Design_matrix" title="Design matrix">Design</a></li> <li><a href="/wiki/Doubly_stochastic_matrix" title="Doubly stochastic matrix">Doubly stochastic</a></li> <li><a href="/wiki/Fisher_information_matrix" class="mw-redirect" title="Fisher information matrix">Fisher information</a></li> <li><a href="/wiki/Projection_matrix" title="Projection matrix">Hat</a></li> <li><a href="/wiki/Precision_(statistics)" title="Precision (statistics)">Precision</a></li> <li><a href="/wiki/Stochastic_matrix" title="Stochastic matrix">Stochastic</a></li> <li><a href="/wiki/Stochastic_matrix" title="Stochastic matrix">Transition</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Used in <a href="/wiki/Graph_theory" title="Graph theory">graph theory</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Adjacency_matrix" title="Adjacency matrix">Adjacency</a></li> <li><a href="/wiki/Biadjacency_matrix" class="mw-redirect" title="Biadjacency matrix">Biadjacency</a></li> <li><a href="/wiki/Degree_matrix" title="Degree matrix">Degree</a></li> <li><a href="/wiki/Edmonds_matrix" title="Edmonds matrix">Edmonds</a></li> <li><a href="/wiki/Incidence_matrix" title="Incidence matrix">Incidence</a></li> <li><a href="/wiki/Laplacian_matrix" title="Laplacian matrix">Laplacian</a></li> <li><a href="/wiki/Seidel_adjacency_matrix" title="Seidel adjacency matrix">Seidel adjacency</a></li> <li><a href="/wiki/Tutte_matrix" title="Tutte matrix">Tutte</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Used in science and engineering</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Cabibbo%E2%80%93Kobayashi%E2%80%93Maskawa_matrix" title="Cabibbo–Kobayashi–Maskawa matrix">Cabibbo–Kobayashi–Maskawa</a></li> <li><a href="/wiki/Density_matrix" title="Density matrix">Density</a></li> <li><a href="/wiki/Fundamental_matrix_(computer_vision)" title="Fundamental matrix (computer vision)">Fundamental (computer vision)</a></li> <li><a href="/wiki/Fuzzy_associative_matrix" title="Fuzzy associative matrix">Fuzzy associative</a></li> <li><a href="/wiki/Gamma_matrices" title="Gamma matrices">Gamma</a></li> <li><a href="/wiki/Gell-Mann_matrices" title="Gell-Mann matrices">Gell-Mann</a></li> <li><a href="/wiki/Hamiltonian_matrix" title="Hamiltonian matrix">Hamiltonian</a></li> <li><a href="/wiki/Irregular_matrix" title="Irregular matrix">Irregular</a></li> <li><a href="/wiki/Overlap_matrix" class="mw-redirect" title="Overlap matrix">Overlap</a></li> <li><a href="/wiki/S-matrix" title="S-matrix">S</a></li> <li><a href="/wiki/State-transition_matrix" title="State-transition matrix">State transition</a></li> <li><a href="/wiki/Substitution_matrix" title="Substitution matrix">Substitution</a></li> <li><a href="/wiki/Z-matrix_(chemistry)" title="Z-matrix (chemistry)">Z (chemistry)</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Related terms</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Jordan_normal_form" title="Jordan normal form">Jordan normal form</a></li> <li><a href="/wiki/Linear_independence" title="Linear independence">Linear independence</a></li> <li><a href="/wiki/Matrix_exponential" title="Matrix exponential">Matrix exponential</a></li> <li><a href="/wiki/Matrix_representation_of_conic_sections" title="Matrix representation of conic sections">Matrix representation of conic sections</a></li> <li><a href="/wiki/Perfect_matrix" title="Perfect matrix">Perfect matrix</a></li> <li><a href="/wiki/Pseudoinverse" class="mw-redirect" title="Pseudoinverse">Pseudoinverse</a></li> <li><a href="/wiki/Row_echelon_form" title="Row echelon form">Row echelon form</a></li> <li><a href="/wiki/Wronskian" title="Wronskian">Wronskian</a></li></ul> </div></td></tr><tr><td class="navbox-abovebelow" colspan="2"><div> <ul><li><b><span class="nowrap"><span class="noviewer" typeof="mw:File"><a href="/wiki/File:Nuvola_apps_edu_mathematics_blue-p.svg" class="mw-file-description"><img alt="icon" src="//upload.wikimedia.org/wikipedia/commons/thumb/3/3e/Nuvola_apps_edu_mathematics_blue-p.svg/16px-Nuvola_apps_edu_mathematics_blue-p.svg.png" decoding="async" width="16" height="16" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/3/3e/Nuvola_apps_edu_mathematics_blue-p.svg/24px-Nuvola_apps_edu_mathematics_blue-p.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/3/3e/Nuvola_apps_edu_mathematics_blue-p.svg/32px-Nuvola_apps_edu_mathematics_blue-p.svg.png 2x" data-file-width="128" data-file-height="128" /></a></span> </span><a href="/wiki/Portal:Mathematics" title="Portal:Mathematics">Mathematics portal</a></b></li> <li><a href="/wiki/List_of_matrices" class="mw-redirect" title="List of matrices">List of matrices</a></li> <li><a href="/wiki/Category:Matrices" title="Category:Matrices">Category:Matrices</a></li></ul> </div></td></tr></tbody></table></div> <!-- NewPP limit report Parsed by mw‐web.codfw.main‐6df7948d6c‐zswrb Cached time: 20241127201502 Cache expiry: 2592000 Reduced expiry: false Complications: [vary‐revision‐sha1, show‐toc] CPU time usage: 1.770 seconds Real time usage: 2.070 seconds Preprocessor visited node count: 19000/1000000 Post‐expand include size: 201526/2097152 bytes Template argument size: 26776/2097152 bytes Highest expansion depth: 14/100 Expensive parser function count: 14/500 Unstrip recursion depth: 1/20 Unstrip post‐expand size: 148325/5000000 bytes Lua time usage: 0.951/10.000 seconds Lua memory usage: 17597840/52428800 bytes Number of Wikibase entities loaded: 0/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 1594.704 1 -total 24.20% 385.963 278 Template:Math 18.48% 294.741 2 Template:Reflist 11.84% 188.851 1 Template:Short_description 10.48% 167.134 29 Template:Citation 9.87% 157.332 2 Template:Pagetype 8.12% 129.542 2 Template:Cite_book 6.93% 110.484 8 Template:Harv 6.66% 106.164 1 Template:Matrix_classes 6.58% 104.897 1 Template:In_lang --> <!-- Saved in parser cache with key enwiki:pcache:idhash:856005-0!canonical and timestamp 20241127201502 and revision id 1250574232. Rendering was triggered because: page-view --> </div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Retrieved from "<a dir="ltr" href="https://en.wikipedia.org/w/index.php?title=Rotation_matrix&oldid=1250574232">https://en.wikipedia.org/w/index.php?title=Rotation_matrix&oldid=1250574232</a>"</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Help:Category" title="Help:Category">Categories</a>: <ul><li><a href="/wiki/Category:Transformation_(function)" title="Category:Transformation (function)">Transformation (function)</a></li><li><a href="/wiki/Category:Matrices" title="Category:Matrices">Matrices</a></li><li><a href="/wiki/Category:Mathematical_physics" title="Category:Mathematical physics">Mathematical physics</a></li></ul></div><div id="mw-hidden-catlinks" class="mw-hidden-catlinks mw-hidden-cats-hidden">Hidden categories: <ul><li><a href="/wiki/Category:Wikipedia_articles_needing_clarification_from_June_2017" title="Category:Wikipedia articles needing clarification from June 2017">Wikipedia articles needing clarification from June 2017</a></li><li><a href="/wiki/Category:CS1_maint:_numeric_names:_authors_list" title="Category:CS1 maint: numeric names: authors list">CS1 maint: numeric names: authors list</a></li><li><a href="/wiki/Category:Articles_with_short_description" title="Category:Articles with short description">Articles with short description</a></li><li><a href="/wiki/Category:Short_description_matches_Wikidata" title="Category:Short description matches Wikidata">Short description matches Wikidata</a></li><li><a href="/wiki/Category:CS1:_long_volume_value" title="Category:CS1: long volume value">CS1: long volume value</a></li><li><a href="/wiki/Category:Articles_with_Italian-language_sources_(it)" title="Category:Articles with Italian-language sources (it)">Articles with Italian-language sources (it)</a></li></ul></div></div> </div> </main> </div> <div class="mw-footer-container"> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> This page was last edited on 11 October 2024, at 06:23<span class="anonymous-show"> (UTC)</span>.</li> <li id="footer-info-copyright">Text is available under the <a href="/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-ShareAlike_4.0_International_License" title="Wikipedia:Text of the Creative Commons Attribution-ShareAlike 4.0 International License">Creative Commons Attribution-ShareAlike 4.0 License</a>; additional terms may apply. By using this site, you agree to the <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use" class="extiw" title="foundation:Special:MyLanguage/Policy:Terms of Use">Terms of Use</a> and <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy" class="extiw" title="foundation:Special:MyLanguage/Policy:Privacy policy">Privacy Policy</a>. Wikipedia® is a registered trademark of the <a rel="nofollow" class="external text" href="https://wikimediafoundation.org/">Wikimedia Foundation, Inc.</a>, a non-profit organization.</li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy policy</a></li> <li id="footer-places-about"><a href="/wiki/Wikipedia:About">About Wikipedia</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Wikipedia:General_disclaimer">Disclaimers</a></li> <li id="footer-places-contact"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us">Contact Wikipedia</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct">Code of Conduct</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Developers</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/en.wikipedia.org">Statistics</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Cookie statement</a></li> <li id="footer-places-mobileview"><a href="//en.m.wikipedia.org/w/index.php?title=Rotation_matrix&mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile view</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://wikimediafoundation.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/static/images/footer/wikimedia-button.svg" width="84" height="29" alt="Wikimedia Foundation" loading="lazy"></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/w/resources/assets/poweredby_mediawiki.svg" alt="Powered by MediaWiki" width="88" height="31" loading="lazy"></a></li> </ul> </footer> </div> </div> </div> <div class="vector-settings" id="p-dock-bottom"> <ul></ul> </div><script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgHostname":"mw-web.codfw.main-6df7948d6c-fc7zn","wgBackendResponseTime":190,"wgPageParseReport":{"limitreport":{"cputime":"1.770","walltime":"2.070","ppvisitednodes":{"value":19000,"limit":1000000},"postexpandincludesize":{"value":201526,"limit":2097152},"templateargumentsize":{"value":26776,"limit":2097152},"expansiondepth":{"value":14,"limit":100},"expensivefunctioncount":{"value":14,"limit":500},"unstrip-depth":{"value":1,"limit":20},"unstrip-size":{"value":148325,"limit":5000000},"entityaccesscount":{"value":0,"limit":400},"timingprofile":["100.00% 1594.704 1 -total"," 24.20% 385.963 278 Template:Math"," 18.48% 294.741 2 Template:Reflist"," 11.84% 188.851 1 Template:Short_description"," 10.48% 167.134 29 Template:Citation"," 9.87% 157.332 2 Template:Pagetype"," 8.12% 129.542 2 Template:Cite_book"," 6.93% 110.484 8 Template:Harv"," 6.66% 106.164 1 Template:Matrix_classes"," 6.58% 104.897 1 Template:In_lang"]},"scribunto":{"limitreport-timeusage":{"value":"0.951","limit":"10.000"},"limitreport-memusage":{"value":17597840,"limit":52428800},"limitreport-logs":"anchor_id_list = table#1 {\n [\"CITEREFArvo1992\"] = 1,\n [\"CITEREFBaker2003\"] = 1,\n [\"CITEREFBalakrishnan1999\"] = 1,\n [\"CITEREFBar-Itzhack2000\"] = 1,\n [\"CITEREFBjörckBowie1971\"] = 1,\n [\"CITEREFCayley1846\"] = 1,\n [\"CITEREFCayley1889\"] = 2,\n [\"CITEREFCidTojo2018\"] = 1,\n [\"CITEREFCole2015\"] = 1,\n [\"CITEREFCurtrightFairlieZachos2014\"] = 1,\n [\"CITEREFDaubechiesSweldens1998\"] = 1,\n [\"CITEREFDiaconisShahshahani1987\"] = 1,\n [\"CITEREFEngø2001\"] = 1,\n [\"CITEREFFanHoffman1955\"] = 1,\n [\"CITEREFFultonHarris1991\"] = 1,\n [\"CITEREFGoldsteinPooleSafko2002\"] = 1,\n [\"CITEREFHall2004\"] = 1,\n [\"CITEREFHerterLott1993\"] = 1,\n [\"CITEREFHigham1989\"] = 1,\n [\"CITEREFKoehlerTrickey1978\"] = 1,\n [\"CITEREFKuo_Kan2018\"] = 1,\n [\"CITEREFLeónMasséRivest2006\"] = 1,\n [\"CITEREFMathews1976\"] = 1,\n [\"CITEREFMiles1965\"] = 1,\n [\"CITEREFMolerMorrison1983\"] = 1,\n [\"CITEREFMorawiec2004\"] = 1,\n [\"CITEREFMurnaghan1950\"] = 1,\n [\"CITEREFMurnaghan1962\"] = 1,\n [\"CITEREFPaeth1986\"] = 1,\n [\"CITEREFPalazzolo1976\"] = 1,\n [\"CITEREFPique1990\"] = 1,\n [\"CITEREFPressTeukolskyVetterlingFlannery2007\"] = 1,\n [\"CITEREFShepperd1978\"] = 1,\n [\"CITEREFShoemake1985\"] = 1,\n [\"CITEREFShoemake1994\"] = 1,\n [\"CITEREFStuelpnagel1964\"] = 1,\n [\"CITEREFSwokowski1979\"] = 1,\n [\"CITEREFTaylorKriegman1994\"] = 1,\n [\"CITEREFVaradarajan1984\"] = 1,\n [\"CITEREFW3C_recommendation2003\"] = 1,\n [\"CITEREFWedderburn1934\"] = 1,\n}\ntemplate_list = table#1 {\n [\"=\"] = 51,\n [\"Citation\"] = 29,\n [\"Cite arXiv\"] = 1,\n [\"Cite book\"] = 2,\n [\"Cite conference\"] = 1,\n [\"Cite journal\"] = 7,\n [\"Cite thesis\"] = 1,\n [\"Cite web\"] = 2,\n [\"Clarify\"] = 1,\n [\"Clear\"] = 1,\n [\"Col-1-of-2\"] = 1,\n [\"Col-2-of-2\"] = 1,\n [\"Col-begin\"] = 1,\n [\"Col-end\"] = 1,\n [\"Div col\"] = 1,\n [\"Div col end\"] = 1,\n [\"Harv\"] = 8,\n [\"Harvnb\"] = 12,\n [\"Harvtxt\"] = 5,\n [\"In lang\"] = 1,\n [\"Main\"] = 9,\n [\"Math\"] = 278,\n [\"Matrix classes\"] = 1,\n [\"Multiple image\"] = 2,\n [\"Mvar\"] = 180,\n [\"Norm\"] = 5,\n [\"Nowrap\"] = 57,\n [\"Pi\"] = 3,\n [\"Reflist\"] = 2,\n [\"See also\"] = 2,\n [\"Sfrac\"] = 6,\n [\"Short description\"] = 1,\n [\"Springer\"] = 1,\n [\"Su\"] = 3,\n [\"Tmath\"] = 1,\n}\narticle_whitelist = table#1 {\n}\ntable#1 {\n [\"size\"] = \"tiny\",\n}\n"},"cachereport":{"origin":"mw-web.codfw.main-6df7948d6c-zswrb","timestamp":"20241127201502","ttl":2592000,"transientcontent":false}}});});</script> <script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Article","name":"Rotation matrix","url":"https:\/\/en.wikipedia.org\/wiki\/Rotation_matrix","sameAs":"http:\/\/www.wikidata.org\/entity\/Q1256564","mainEntity":"http:\/\/www.wikidata.org\/entity\/Q1256564","author":{"@type":"Organization","name":"Contributors to Wikimedia projects"},"publisher":{"@type":"Organization","name":"Wikimedia Foundation, Inc.","logo":{"@type":"ImageObject","url":"https:\/\/www.wikimedia.org\/static\/images\/wmf-hor-googpub.png"}},"datePublished":"2004-07-25T08:16:53Z","dateModified":"2024-10-11T06:23:00Z","headline":"matrix representing a Euclidean rotation"}</script> </body> </html>