Falling body displacement ========================= Suppose a reference frame :math:`S'` is fixed to a moving object :math:`A` (e.g., Earth) and some body :math:`B` moving freely (i.e. the sum of external non-gravitational forces acting on it is zero). In the case of an inertial frame of reference, the displacement of body :math:`B` from the starting position would follow the usual rule :math:`\vec s = {\vec v}_0 t + \frac{1}{2} {\vec g} t^2`. But in the case of non-inertial frames, we have to take the Coriolis and the centrifugal force into account as well, which results into the series shown below. **Notes:** #. Note that the series is truncated at the fifth term. More terms can be obtained by plugging the result into the equation of motion :math:`\vec a = \vec g + \left[ \vec v, \vec \omega \right]` and integrating it over time. **Conditions:** #. The sum :math:`\vec F` of all other, non-gravitational forces acting on body :math:`B` is :math:`0`. #. :math:`\vec g` is independent of coordinates. .. TODO: add link to source TODO: add `O(t^5)` to the law .. py:currentmodule:: symplyphysics.laws.gravity.vector.falling_body_displacement .. py:data:: displacement Vector of the displacement of body :math:`B` in frame :math:`S'`. See :attr:`~symplyphysics.symbols.classical_mechanics.distance`. Symbol: :code:`s` Latex: :math:`{\vec s}` Dimension: :code:`length` .. py:data:: time :attr:`~symplyphysics.symbols.basic.time`. Symbol: :code:`t` Latex: :math:`t` Dimension: :code:`time` .. py:data:: initial_velocity Vector of the initial velocity of body :math:`B`. See :attr:`~symplyphysics.symbols.classical_mechanics.speed`. Symbol: :code:`v_0` Latex: :math:`{\vec v}_{0}` Dimension: :code:`velocity` .. py:data:: angular_velocity Pseudovector of the angular velocity of body :math:`B`. See :attr:`~symplyphysics.symbols.classical_mechanics.angular_speed`. Symbol: :code:`w` Latex: :math:`{\vec \omega}` Dimension: :code:`angle/time` .. py:data:: acceleration_due_to_gravity Vector of the acceleration due to gravity of body :math:`B`. Symbol: :code:`g` Latex: :math:`{\vec g}` Dimension: :code:`acceleration` .. py:data:: law :code:`s = v_0 * t + t^2 * (g / 2 + cross(v_0, w)) + t^3 / 3 * (cross(g, w) + 2 * cross(cross(v_0, w), w)) + t^4 / 6 * cross(cross(g, w), w)` Latex: .. math:: {\vec s} = {\vec v}_{0} t + t^{2} \left(\frac{{\vec g}}{2} + \left[ {\vec v}_{0}, {\vec \omega} \right]\right) + \frac{t^{3}}{3} \left(\left[ {\vec g}, {\vec \omega} \right] + 2 \left[ \left[ {\vec v}_{0}, {\vec \omega} \right], {\vec \omega} \right]\right) + \frac{t^{4}}{6} \left[ \left[ {\vec g}, {\vec \omega} \right], {\vec \omega} \right]