Acceleration due to non-uniform rotation
========================================

Imagine two reference frames, one of which is fixed (:math:`S`) and the other is moving (:math:`S'`). When :math:`S'` rotates
around :math:`S` in a non-uniform way, the acceleration of some body :math:`B` in :math:`S` has a component corresponding to
that non-uniform rotation of :math:`S'`. It is part of the transfer acceleration of body :math:`B` in :math:`S`.

**Notation:**

#. :math:`\vec a \times \vec b` (:code:`cross(a, b)`) is vector product of :math:`\vec a` and :math:`\vec b`.

**Links:**

#. `Wikipedia <https://ru.wikipedia.org/wiki/%D0%A1%D0%BB%D0%BE%D0%B6%D0%BD%D0%BE%D0%B5_%D0%B4%D0%B2%D0%B8%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5#%D0%A3%D1%81%D0%BA%D0%BE%D1%80%D0%B5%D0%BD%D0%B8%D0%B5>`__.

..
    TODO find English link

.. py:currentmodule:: symplyphysics.laws.kinematics.vector.acceleration_due_to_non_uniform_rotation



.. py:function:: non_uniform_rotation_acceleration_law(angular_velocity_, time_, radius_vector_)

    Acceleration due to non-uniform rotation.

    Law:
        :code:`a_rot = cross(Derivative(w(t), t), r)`

    Latex:
        .. math::
            {\vec a}_\text{rot} = \frac{d \vec \omega}{d t} \times \vec r

    :param angular_velocity\_: angular velocity as a function of time

        Symbol: :code:`w(t)`

        Latex: :math:`\vec \omega(t)`

        Dimension: *angle* / *time*

    :param time\_: time

        Symbol: :code:`t`

        Dimension: *time*

    :param radius_vector\_: radius vector, or position vector, of body

        Symbol: :code:`r`

        Latex: :math:`\vec r`

        Dimension: *length*

    :return: acceleration due to non-uniform rotation

        Symbol: :code:`a_rot`

        Latex: :math:`{\vec a}_\text{rot}`

        Dimension: *acceleration*