-
Notifications
You must be signed in to change notification settings - Fork 29
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
2023 updates to orientation chapter. #129
Conversation
Vectors have a magnitude, direction, and sense (:math: |
I use "direction" to tell us what line in space the vector is parallel to and "sense" the positive or negative sense along that direction. I show it a bit more in the vectors chapter. |
@wwolfie this is ready to be checked if you have time. Sorry that I'm late getting this updated. I'll try to do it earlier in the week next week. |
This wording seems to imply that vectors can have a displacement. So I don't think I'll add this. Maybe "even if vectors are drawn with an apparent parallel displacement they are the same". I show this in the figure though, maybe it just isn't as explicit as it could be. |
I admit I did not look at the picture. Your wording -if the picture does not say it- of course is much better. Sense: clear now, thanks! |
Write :math:`{}^N\mathbf{C}^A` for simple rotations about both the shared | ||
:math:`\hat{n}_x` and :math:`\hat{a}_x` and shared :math:`\hat{n}_y` and | ||
:math:`\hat{a}_y` axes, rotating :math:`A` with respect to :math:`N` through | ||
angle :math:`\theta`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The direction of the angle is never specified. Maybe the default direction is best explained at the spot where also the "right-handedness" of the frames is specified?
|
||
\begin{bmatrix} | ||
1 & 0 & 0 \\ | ||
0 & \cos{\theta} & \sin{\theta} \\ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's early morning, but I have convinced myself that this is the inverse of the correct solution
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In [1]: import sympy as sm
In [2]: import sympy.physics.mechanics as me
In [3]: theta = sm.symbols('theta')
In [4]: A = me.ReferenceFrame('A')
In [5]: B = me.ReferenceFrame('B')
In [6]: B.orient_axis(A, theta, A.x); B.dcm(A)
Out[6]:
Matrix([
[1, 0, 0],
[0, cos(theta), sin(theta)],
[0, -sin(theta), cos(theta)]])
In [7]: B.orient_axis(A, theta, A.y); B.dcm(A)
Out[7]:
Matrix([
[cos(theta), 0, -sin(theta)],
[ 0, 1, 0],
[sin(theta), 0, cos(theta)]])
In [8]: B.orient_axis(A, theta, A.z); B.dcm(A)
Out[8]:
Matrix([
[ cos(theta), sin(theta), 0],
[-sin(theta), cos(theta), 0],
[ 0, 0, 1]])
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it is correct, at least per my definition of the rotation matrix notation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, it is a change in notation that tripped me up
Similarly to the simple example above, we can write these equations: | ||
Similar to the simple example above, we can write these equations if the | ||
:math:`\alpha_y` and :math:`\alpha_z` angles relate the :math:`\hat{a}_y` and | ||
:math:`\hat{a}_z` unit vectors to those of :math:`N`: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Easiest to add this comment here rather than make new PR:
In the sentence "Since we are working with mutually perpendicular unit vectors ...", 'mutually perpendicular' and the second 'unit' are not needed, which might confuse readers who do not know the dot product <-> cosine rule by heart.
orientation.rst
Outdated
successive simple orientations to go from :math:`A` to :math:`D`. We can | ||
formulate the direction cosine matrices for the reference frames using the same | ||
technique for the successive simple orientations shown in :ref:`Successive | ||
Orientations`, but now we will have three dimensional orientation between |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A bit unclear, maybe like this:
Orientations`, but now we will have three dimensional orientation between | |
Orientations`, but now we will have a sequence of three rotations between |
orientation.rst
Outdated
formulate the direction cosine matrices for the reference frames using the same | ||
technique for the successive simple orientations shown in :ref:`Successive | ||
Orientations`, but now we will have three dimensional orientation between | ||
:math:`A` and :math:`D` allowing :math:`D` to be oriented in any direction |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure that it is obvious that three is the right number, so would split:
:math:`A` and :math:`D` allowing :math:`D` to be oriented in any direction | |
:math:`A` and :math:`D`. With three rotations, :math:`D` can be oriented in any direction |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I tried to reword this:
successive simple orientations to go from :math:`A` to :math:`D`. We can
formulate the direction cosine matrices for the reference frames using the same
technique for the successive simple orientations shown in :ref:`Successive
Orientations`, but now our sequence of three orientations will enable us to
orient :math:`D` in any way possible relative to :math:`A` in three dimensional
space.
orientation.rst
Outdated
to the handgrip frame. These successive :math:`z\textrm{-}x\textrm{-}y` | ||
orientations are a standard way of describing the orientation of two reference | ||
frames and are often referred to as `Euler Angles`_ [#]_. | ||
With these three successive orientations the camera can be oriented arbitrarily |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems slightly redundant. Perhaps rotation is a better word here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I had a mixture of "rotation" and "orientation" last year when I first wrote this, but ended up changing everything to "orientation" to be consistent and to match the SymPy method names.
Co-authored-by: wwolfie <[email protected]>
Co-authored-by: wwolfie <[email protected]>
Co-authored-by: wwolfie <[email protected]>
Co-authored-by: wwolfie <[email protected]>
Would this not be called an orthonormal matrix, if A * A.T = I and det(A) = 1 ? |
Seems like they are the same thing here: https://en.wikipedia.org/wiki/Orthogonal_matrix |
Thanks for the feedback here. Merging. |
Updates: