-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathrotation_2d.html
144 lines (133 loc) · 7.49 KB
/
rotation_2d.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Course on Practical Neuroimaging in Python — Practical neuroimaging analysis</title>
<link rel="stylesheet" href="_static/nature.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: './',
VERSION: '0.2',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true,
SOURCELINK_SUFFIX: '.txt'
};
</script>
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
<link rel="author" title="About these documents" href="about.html" />
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="The dot product of two unit vectors in 2D" href="orthogonal_dots.html" />
<link rel="prev" title="Slice timing correction" href="slice_timing.html" />
</head>
<body role="document">
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="orthogonal_dots.html" title="The dot product of two unit vectors in 2D"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="slice_timing.html" title="Slice timing correction"
accesskey="P">previous</a> |</li>
<big><big><big><li><a href="index.html">Home</a> | </li>
<li><a href="https://github.com/practical-neuroimaging/pna2015">Exercises</a> | </li>
<li><a href="https://calmail.berkeley.edu/manage/list/listinfo/[email protected]">Mailing list</a> | </li></big></big></big>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<div class="section" id="formula-for-rotating-a-vector-in-2d">
<h1>Formula for rotating a vector in 2D<a class="headerlink" href="#formula-for-rotating-a-vector-in-2d" title="Permalink to this headline">¶</a></h1>
<p>Let’s say we have a point <span class="math">\((x_1, y_1)\)</span>. The point also defines the vector <span class="math">\((x_1, y_1)\)</span>.</p>
<p>We rotate this vector anticlockwise around the origin by <span class="math">\(\beta\)</span> degrees.</p>
<p>The rotated vector has coordinates <span class="math">\((x_2, y_2)\)</span>.</p>
<p>Can we get the coordintes of <span class="math">\((x_2, y_2)\)</span> given <span class="math">\((x_1, y_1)\)</span> and <span class="math">\(\beta\)</span>?</p>
<img alt="_images/rotation_2d.png" src="_images/rotation_2d.png" />
<p><span class="math">\(L\)</span> is the length of the vectors <span class="math">\((x_1, y_1)\)</span> and <span class="math">\((x_2, y_2)\)</span> : <span class="math">\(L =
\|(x_1, y_1)\| = \|(x_2, y_2)\|\)</span>.</p>
<p><span class="math">\(\alpha\)</span> is the angle between the x axis and <span class="math">\((x_1, y_1)\)</span>.</p>
<p>We can see from the picture that:</p>
<div class="math">
\[ \begin{align}\begin{aligned}x_2 = r - u\\y_2 = t + s\end{aligned}\end{align} \]</div>
<p>We are going to use some basic trigonometry to get the lengths of <span class="math">\(r, u, t,
s\)</span>.</p>
<p>Because the angles in a triangle sum to 180 degrees, <span class="math">\(\phi\)</span> on the picture is
<span class="math">\(90 - \alpha\)</span> and therefore the angle between lines <span class="math">\(q, t\)</span> is also <span class="math">\(\alpha\)</span>.</p>
<p>Remembering the definitions of <span class="math">\(\cos\)</span> and <span class="math">\(\sin\)</span>:</p>
<div class="math">
\[ \begin{align}\begin{aligned}\cos\theta = \frac{A}{H} \implies A = \cos \theta H\\\sin\theta = \frac{O}{H} \implies O = \sin \theta H\end{aligned}\end{align} \]</div>
<p>Thus:</p>
<div class="math">
\[ \begin{align}\begin{aligned}x_1 = \cos \alpha L\\y_1 = \sin \alpha L\\p = \cos \beta L\\q = \sin \beta L\\r = \cos \alpha p = \cos \alpha \cos \beta L = \cos \beta x_1\\s = \sin \alpha p = \sin \alpha \cos \beta L = \cos \beta y_1\\t = \cos \alpha q = \cos \alpha \sin \beta L = \sin \beta x_1\\u = \sin \alpha q = \sin \alpha \sin \beta L = \sin \beta y_1\end{aligned}\end{align} \]</div>
<p>So:</p>
<div class="math">
\[ \begin{align}\begin{aligned}x_2 = r - u = \cos \beta x_1 - \sin \beta y_1\\y_2 = t + s = \sin \beta x_1 + \cos \beta y_1\end{aligned}\end{align} \]</div>
<p>Luckily this is the same result as <a class="reference external" href="https://en.wikipedia.org/wiki/Rotation_matrix">wikipedia on rotation matrices</a>.</p>
</div>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<h4>Previous topic</h4>
<p class="topless"><a href="slice_timing.html"
title="previous chapter">Slice timing correction</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="orthogonal_dots.html"
title="next chapter">The dot product of two unit vectors in 2D</a></p>
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="_sources/rotation_2d.rst.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
<h3>Quick search</h3>
<form class="search" action="search.html" method="get">
<div><input type="text" name="q" /></div>
<div><input type="submit" value="Go" /></div>
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
>index</a></li>
<li class="right" >
<a href="orthogonal_dots.html" title="The dot product of two unit vectors in 2D"
>next</a> |</li>
<li class="right" >
<a href="slice_timing.html" title="Slice timing correction"
>previous</a> |</li>
<big><big><big><li><a href="index.html">Home</a> | </li>
<li><a href="https://github.com/practical-neuroimaging/pna2015">Exercises</a> | </li>
<li><a href="https://calmail.berkeley.edu/manage/list/listinfo/[email protected]">Mailing list</a> | </li></big></big></big>
</ul>
</div>
<div class="footer" role="contentinfo">
© Copyright 2013-2015, Matthew Brett and J-B Poline.
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.1.
</div>
</body>
</html>