Skip to content

Commit

Permalink
name changes from blades to bases\n added analytics tracking
Browse files Browse the repository at this point in the history
  • Loading branch information
arsenovic committed Sep 30, 2016
1 parent c7f15fb commit 4fd621c
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 21 deletions.
4 changes: 2 additions & 2 deletions clifford/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -536,15 +536,15 @@ def randomRotor(self):
def basis_vectors(self, **kw):
return basis_vectors(self, **kw)

def blades(self,*args, **kw):
def bases(self,*args, **kw):
'''
Returns a dictionary mapping basis element names to their MultiVector
instances, optionally for specific grades
if you are lazy, you might do this to populate your namespace
with the variables of a given layout.
>>> locals().update(layout.blades())
>>> locals().update(layout.bases())
Expand Down
18 changes: 10 additions & 8 deletions docs/EulerAngles.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -27,16 +27,18 @@
"source": [
"A common way to parameterize rotations in three dimensions is through [Euler Angles](https://en.wikipedia.org/wiki/Euler_angles). \n",
"\n",
"\"Any orientation can be achieved by composing three elemental rotations. The elemental rotations can either occur about the axes of the fixed coordinate system (*extrinsic rotations*) or about the axes of a rotating coordinate system, which is initially aligned with the fixed one, and modifies its orientation after each elemental rotation (*intrinsic rotations*). \"\n",
"\"Any orientation can be achieved by composing three elemental rotations. The elemental rotations can either occur about the axes of the fixed coordinate system (*extrinsic rotations*) or about the axes of a rotating coordinate system, which is initially aligned with the fixed one, and modifies its orientation after each elemental rotation (*intrinsic rotations*). \" -wikipedia\n",
"\n",
"The animation below shows an intrinsic rotation model, as each elemental rotation is applied. Label the left,right, and vertical blue-axes are $e_1, e_2,$ and $e_3$, respectively. \n",
"The animation below shows an intrinsic rotation model as each elemental rotation is applied. Label the left, right, and vertical blue-axes as $e_1, e_2,$ and $e_3$, respectively. \n",
"\n",
"\n",
"The series of rotations can be described:\n",
"\n",
"1. rotate about $e_3$\n",
"2. rotate about the rotated $e_1$, call it $e_1^{'}$\n",
"3. rotate about the twice rotated axis of $e_3$, call it $e_3^{''}$"
"3. rotate about the twice rotated axis of $e_3$, call it $e_3^{''}$\n",
"\n",
"So the rotations are about $e_1, e_{3}^{'}, e_1^{''}$"
]
},
{
Expand Down Expand Up @@ -168,12 +170,12 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"For example, using this to create the rotation shown in the animation above,"
"For example, using this to create a rotation similar to that shown in the animation above,"
]
},
{
"cell_type": "code",
"execution_count": 96,
"execution_count": 100,
"metadata": {
"collapsed": false
},
Expand All @@ -184,7 +186,7 @@
"0.65328 - (0.65328^e12) - (0.38268^e23)"
]
},
"execution_count": 96,
"execution_count": 100,
"metadata": {},
"output_type": "execute_result"
}
Expand Down Expand Up @@ -263,8 +265,6 @@
}
],
"source": [
"from numpy import array \n",
"\n",
"A = [e1,e2,e3] # initial ortho-normal frame\n",
"B = [R*a*~R for a in A] # resultant frame after rotation\n",
"\n",
Expand Down Expand Up @@ -299,6 +299,8 @@
}
],
"source": [
"from numpy import array \n",
"\n",
"M = [float(b|a) for b in B for a in A] # you need float() due to bug in clifford\n",
"array(M).reshape(3,3)"
]
Expand Down
18 changes: 8 additions & 10 deletions docs/_templates/layout.html
Original file line number Diff line number Diff line change
@@ -1,17 +1,15 @@
{% extends "!layout.html" %}
{% block extrahead %}
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-29068876-1']);
_gaq.push(['_trackPageview']);
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
ga('create', 'UA-85010051-1', 'auto');
ga('send', 'pageview');

</script>
</script>
{% endblock %}

{% block sidebarsearch %}
Expand Down
2 changes: 1 addition & 1 deletion docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@

# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
exclude_patterns = ['_build', '.ipynb_checkpoints']
exclude_patterns = ['_build', '**.ipynb_checkpoints']

# The reST default role (used for this markup: `text`) to use for all
# documents.
Expand Down

0 comments on commit 4fd621c

Please sign in to comment.