Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions angular.rst
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ matrix with time varying elements:
[czx, czy, czz]])

and establish the orientation using
:external:py:meth:`~sympy.physics.vector.frame.ReferenceFrame.orient_explicit`:
:external:py:meth:`~sympy.physics.vector.frame.ReferenceFrame.orient_dcm`:

.. warning::

Expand All @@ -160,7 +160,7 @@ and establish the orientation using

A = me.ReferenceFrame('A')
B = me.ReferenceFrame('B')
B.orient_explicit(A, B_C_A.transpose())
B.orient_dcm(A, B_C_A)
B.dcm(A)

This now let's write the :math:`B` unit vectors in terms of the :math:`A` unit
Expand Down Expand Up @@ -306,7 +306,7 @@ Applying the definition of angular velocity as before, the angular velocity of

A = me.ReferenceFrame('A')
B = me.ReferenceFrame('B')
B.orient_explicit(A, B_C_A.transpose())
B.orient_dcm(A, B_C_A)

mnx = me.dot(B.y.express(A).dt(A), B.z)
mny = me.dot(B.z.express(A).dt(A), B.x)
Expand Down
18 changes: 7 additions & 11 deletions orientation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -556,22 +556,18 @@ orientations. For example:

relates :math:`A` and :math:`N`. ``ReferenceFrame`` objects can be oriented
with respect to one another. The
:external:py:meth:`~sympy.physics.vector.frame.ReferenceFrame.orient_explicit`
:external:py:meth:`~sympy.physics.vector.frame.ReferenceFrame.orient_dcm`
:term:`method` allows you to set the direction cosine matrix between two frames
explicitly:

.. jupyter-execute::

N.orient_explicit(A, A_C_N)

.. todo::

When we change to SymPy 1.13, change ``orient_explicit`` to ``orient_dcm``.
N.orient_dcm(A, A_C_N.transpose())

.. warning::

Note very carefully what version of the direction cosine matrix you pass to
``.orient_explicit()``. Check its docstring with ``N.orient_explicit?``.
``.orient_dcm()``. Check its docstring with ``N.orient_dcm?``.

Now you can ask for the direction cosine matrix of :math:`A` with respect to
:math:`N`, i.e. :math:`{}^A\mathbf{C}^N`, using the
Expand All @@ -593,7 +589,7 @@ reversing the order of the arguments:
Orient reference frame :math:`D` with respect to :math:`F` with a simple
rotation about :math:`y` through angle :math:`\beta` and set this
orientation with
:external:py:meth:`~sympy.physics.vector.frame.ReferenceFrame.orient_explicit`.
:external:py:meth:`~sympy.physics.vector.frame.ReferenceFrame.orient_dcm`.

.. admonition:: Solution
:class: dropdown
Expand All @@ -609,11 +605,11 @@ reversing the order of the arguments:
[0, 1, 0],
[sm.sin(beta), 0, sm.cos(beta)]])

F.orient_explicit(D, F_C_D.transpose())
F.orient_dcm(D, F_C_D)

F.dcm(D)

:external:py:meth:`~sympy.physics.vector.frame.ReferenceFrame.orient_explicit`
:external:py:meth:`~sympy.physics.vector.frame.ReferenceFrame.orient_dcm`
requires you to form the direction cosine matrix yourself, but there are also
methods that relieve you of that necessity. For example,
:external:py:meth:`~sympy.physics.vector.frame.ReferenceFrame.orient_axis`
Expand Down Expand Up @@ -699,7 +695,7 @@ pairs returns the expected direction cosine matrix entry:

.. jupyter-execute::

E.orient_explicit(D, C.dcm(D))
E.orient_dcm(D, D.dcm(C))
E.dcm(D)

Euler Angles
Expand Down
Loading