{ "cells": [ { "cell_type": "markdown", "metadata": { "id": "PdleV478DnIu" }, "source": [ "# Kinematics of particle\n", "\n", "> Marcos Duarte, Renato Naville Watanabe \n", "> [Laboratory of Biomechanics and Motor Control](https://bmclab.pesquisa.ufabc.edu.br) \n", "> Federal University of ABC, Brazil" ] }, { "cell_type": "markdown", "metadata": { "id": "3z2quwjuDnIy" }, "source": [ "
\n", "
\"Momentary

Figure. Momentary velocity vs location for Usain Bolt in the men’s 100m final at the IAAF World Championships in Athletics, Berlin 2009. This measurement represents the velocity of the body (considered as a particle) and was measured with a laser radar. From Graubner and Nixdorf (2011).
\n", "
" ] }, { "cell_type": "markdown", "metadata": { "toc": true, "id": "P4qSUMLfDnIz" }, "source": [ "

Contents

\n", "
" ] }, { "cell_type": "markdown", "metadata": { "id": "cFoLLOP2DnI1" }, "source": [ "## Python setup" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "ExecuteTime": { "end_time": "2021-10-16T00:12:06.145171Z", "start_time": "2021-10-16T00:12:05.900880Z" }, "id": "vx5Gjo5rDnI1" }, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline" ] }, { "cell_type": "markdown", "metadata": { "id": "RFjJVb2UDnI3" }, "source": [ "## Biomechanics & Mechanics\n", "\n", "**A good knowledge of Mechanics is a necessary condition, although not sufficient!, to master Biomechanics**\n", "\n", "For this reason, we will review principles of Classical Mechanics in the context of Biomechanics. \n", "\n", "The book [*Introduction to Statics and Dynamics*](http://ruina.tam.cornell.edu/Book/index.html), written by Andy Ruina and Rudra Pratap, is an excellent reference (a rigorous and yet didactic presentation of Mechanics for undergraduate students) on Classical Mechanics. The preface and first chapter of the book are a good read on how someone should study Mechanics. You should read them!\n", "\n", "The book [*Cinemática e Dinâmica para Engenharia*](https://www.grupogen.com.br/e-book-cinematica-e-dinamica-para-engenharia), available only in Portuguese, written by Domingos Rade, is also a good book on mechanics, and in fact the sequence of topics covered in this book is closer to the sequence we adopted in our Biomechanics I and II courses.\n", "\n", "We will refer to these two books in case you want to study more about the subjects covered here. \n", "Most of the content in this notebook is covered in chapter 12 of the [Ruina and Rudra's book](http://ruina.tam.cornell.edu/Book/index.html) and in chapter 1 of the Rade's book. \n", "\n", "As we argued in the notebook [Biomechanics](http://nbviewer.jupyter.org/github/demotu/BMC/blob/master/notebooks/Biomechanics.ipynb), we will start with a branch of Classical Mechanics that is simpler to measure its related quantities on biological systems, the Kinematics. \n", "\n", "There are some relevant cases in the study of human movement where modeling the human body or one of its segments as a particle might be all we need to explore the phenomenon. The concept of kinematics of a particle, for instance, can be applied to study the performance in the 100-m race; to describe spatial and temporal characteristics of a movement pattern, and to conjecture about how voluntary movements are planned (the minimum jerk hypothesis). \n", "\n", "Now, let's review the concept of kinematics of a particle and later apply to the study of human movement." ] }, { "cell_type": "markdown", "metadata": { "id": "67L2d49pDnI4" }, "source": [ "## Kinematics\n", "\n", "**Kinematics** is the branch of Classical Mechanics that describes the motion of objects without consideration of the causes of motion ([Wikipedia](http://en.wikipedia.org/wiki/Kinematics)). \n", "\n", "Kinematics of a particle is the description of the motion when the object is considered a particle. \n", "\n", "A particle as a physical object does not exist in nature; it is a simplification to understand the motion of a body or it is a conceptual definition such as the center of mass of a system of objects." ] }, { "cell_type": "markdown", "metadata": { "id": "MR3kjyncDnI5" }, "source": [ "### Vectors in Kinematics\n", "\n", "Some mechanical quantities in Kinematics (position and its derivatives) are represented as vectors and others, such as time and distance, are scalars. \n", "A vector in Mechanics is a physical quantity with magnitude, direction, and satisfies some elementary vector arithmetic, whereas a scalar is a physical quantity that is fully expressed by a magnitude (a number) only. \n", "\n", "For a review about scalars and vectors, see chapter 1 of [Ruina and Rudra's book](http://ruina.tam.cornell.edu/Book/index.html). \n", "\n", " For how to use Python to work with scalars and vectors, see the notebook [Scalar and Vector](http://nbviewer.jupyter.org/github/BMCLab/BMC/blob/master/notebooks/ScalarVector.ipynb)." ] }, { "cell_type": "markdown", "metadata": { "id": "yKb0RRJfDnI6" }, "source": [ "## Position\n", "\n", "Consider a point in the three-dimensional Euclidean space described in a Cartesian coordinate system (see the notebook [Frame of reference](http://nbviewer.jupyter.org/github/demotu/BMC/blob/master/notebooks/ReferenceFrame.ipynb) for an introduction on coordinate systems in Mechanics and Biomechanics): \n", "
\n", "
Figure. Representation of a point $\\mathbf{P}$ and its position vector $\\overrightarrow{\\mathbf{r}}$ in a Cartesian coordinate system. The versors $\\hat{\\mathbf{i}},\\, \\hat{\\mathbf{j}},\\, \\hat{\\mathbf{k}}\\,$ form a basis for this coordinate system and are usually represented in the color sequence RGB (red, green, blue) for easier visualization.
" ] }, { "cell_type": "markdown", "metadata": { "id": "04mjNRf2DnI7" }, "source": [ "The position of this point in space can be represented as a triple of values each representing the coordinate at each axis of the Cartesian coordinate system following the $ \\mathbf{X, Y, Z} $ convention order (which is omitted):\n", "\n", "\n", "\\begin{equation}\n", "(x,\\, y,\\, z)\n", "\\label{eq_xyz}\n", "\\end{equation}\n", "" ] }, { "cell_type": "markdown", "metadata": { "id": "k-tE51YtDnI7" }, "source": [ "The position of a particle in space can also be represented by a vector in the Cartesian coordinate system, with the origin of the vector at the origin of the coordinate system and the tip of the vector at the point position:\n", "\n", "\n", "\\begin{equation}\n", "\\overrightarrow{\\mathbf{r}}(t) = x\\,\\hat{\\mathbf{i}} + y\\,\\hat{\\mathbf{j}} + z\\,\\hat{\\mathbf{k}}\n", "\\label{eq_rxyz}\n", "\\end{equation} \n", "\n", "\n", "Where $\\hat{\\mathbf{i}},\\, \\hat{\\mathbf{j}},\\, \\hat{\\mathbf{k}}\\,$ are unit vectors in the directions of the axes $ \\mathbf{X, Y, Z} $. \n", "\n", "For a review on vectors, see the notebook [Scalar and vector](http://nbviewer.ipython.org/github/demotu/BMC/blob/master/notebooks/ScalarVector.ipynb)." ] }, { "cell_type": "markdown", "metadata": { "id": "0yW1Hcy_DnI8" }, "source": [ "With this new notation, the coordinates of a point representing the position of a particle that vary with time would be expressed by the following position vector $\\overrightarrow{\\mathbf{r}}(t)$: \n", "\n", "\n", "\\begin{equation}\n", "\\overrightarrow{\\mathbf{r}}(t) = x(t)\\,\\hat{\\mathbf{i}} + y(t)\\,\\hat{\\mathbf{j}} + z(t)\\,\\hat{\\mathbf{k}}\n", "\\label{eq_rxyzijk}\n", "\\end{equation}\n", "" ] }, { "cell_type": "markdown", "metadata": { "id": "J3fKhK-3DnI8" }, "source": [ "A vector can also be represented in matrix form:\n", "\n", "\n", "\\begin{equation}\n", "\\overrightarrow{\\mathbf{r}}(t) = \\begin{bmatrix} x(t) \\\\y(t) \\\\z(t) \\end{bmatrix}\n", "\\label{eq_rxyzmatrix}\n", "\\end{equation}\n", "" ] }, { "cell_type": "markdown", "metadata": { "id": "MPBxiqMBDnI9" }, "source": [ "And the unit vectors in each Cartesian coordinate in matrix form are given by:\n", "\n", "\n", "\\begin{equation}\n", "\\hat{\\mathbf{i}} = \\begin{bmatrix}1\\\\0\\\\0 \\end{bmatrix},\\; \\hat{\\mathbf{j}} = \\begin{bmatrix}0\\\\1\\\\0 \\end{bmatrix},\\; \\hat{\\mathbf{k}} = \\begin{bmatrix} 0 \\\\ 0 \\\\ 1 \\end{bmatrix}\n", "\\label{eq_ijk}\n", "\\end{equation}\n", "" ] }, { "cell_type": "markdown", "metadata": { "id": "mHDusQAFDnI9" }, "source": [ "## Basis\n", "\n", "In [linear algebra](http://en.wikipedia.org/wiki/Linear_algebra), a set of unit linearly independent vectors as the three vectors above (orthogonal in the Euclidean space) that can represent any vector via [linear combination](http://en.wikipedia.org/wiki/Linear_combination) is called a basis. A basis is the foundation of creating a reference frame and we will study how to do that other time. " ] }, { "cell_type": "markdown", "metadata": { "id": "xbEqEJjsDnI9" }, "source": [ "## Displacement\n", "\n", "The shortest distance between two positions of a particle. \n", "\n", "As the difference between two vectors, displacement is also a vector quantity.\n", "\n", "\n", "\\begin{equation}\n", "\\mathbf{\\overrightarrow{d}} = \\mathbf{\\overrightarrow{r}_2} - \\mathbf{\\overrightarrow{r}_1}\n", "\\label{eq_distance}\n", "\\end{equation}\n", "\n", "\n", "
Figure. Representation of the displacement vector $\\mathbf{\\overrightarrow{d}}$ between two positions $\\mathbf{\\overrightarrow{r}_1}$ and $\\mathbf{\\overrightarrow{r}_2}$.
" ] }, { "cell_type": "markdown", "metadata": { "id": "ouI8zbCmDnI-" }, "source": [ "## Velocity\n", "\n", "Velocity is the rate (with respect to time) of change of the position of a particle. \n", "\n", "The average velocity between two instants is:\n", "\n", "\n", "\\begin{equation}\n", "\\overrightarrow{\\mathbf{v}}(t) = \\frac{\\overrightarrow{\\mathbf{r}}(t_2)-\\overrightarrow{\\mathbf{r}}(t_1)}{t_2-t_1} = \\frac{\\Delta \\overrightarrow{\\mathbf{r}}}{\\Delta t}\n", "\\label{eq_velocity}\n", "\\end{equation}\n", " \n", "\n", "The instantaneous velocity of the particle is obtained when $\\Delta t$ approaches to zero, which from calculus is the first-order [derivative](http://en.wikipedia.org/wiki/Derivative) of the position vector:\n", "\n", "\n", "\\begin{equation}\n", "\\overrightarrow{\\mathbf{v}}(t) = \\lim_{\\Delta t \\to 0} \\frac{\\Delta \\overrightarrow{\\mathbf{r}}}{\\Delta t} = \\lim_{\\Delta t \\to 0} \\frac{\\overrightarrow{\\mathbf{r}}(t+\\Delta t)-\\overrightarrow{\\mathbf{r}}(t)}{\\Delta t} = \\frac{\\mathrm{d}\\overrightarrow{\\mathbf{r}}}{dt}\n", "\\label{eq_velocityderiv}\n", "\\end{equation}\n", " \n", "\n", "For the movement of a particle described with respect to an [inertial Frame of reference](http://nbviewer.jupyter.org/github/demotu/BMC/blob/master/notebooks/ReferenceFrame.ipynb), the derivative of a vector is obtained by differentiating each vector component of the Cartesian coordinates (since the base versors $\\hat{\\mathbf{i}}, \\hat{\\mathbf{j}}, \\hat{\\mathbf{k}}$ are constant): \n", "\n", "\n", "\\begin{equation}\n", "\\overrightarrow{\\mathbf{v}}(t) = \\frac{\\mathrm{d}\\overrightarrow{\\mathbf{r}}(t)}{dt} = \\frac{\\mathrm{d}x(t)}{\\mathrm{d}t}\\hat{\\mathbf{i}} + \\frac{\\mathrm{d}y(t)}{\\mathrm{d}t}\\hat{\\mathbf{j}} + \\frac{\\mathrm{d}z(t)}{\\mathrm{d}t}\\hat{\\mathbf{k}}\n", "\\label{eq_velocityderiv2}\n", "\\end{equation}\n", "\n", "\n", "Or in matrix form (and using the Newton's notation for differentiation):\n", "\n", "\n", "\\begin{equation} \n", "\\overrightarrow{\\mathbf{v}}(t) = \\begin{bmatrix}\n", "\\dot x(t) \\\\\n", "\\dot y(t) \\\\\n", "\\dot z(t)\n", "\\end{bmatrix}\n", "\\label{eq_velocityderiv3}\n", "\\end{equation}\n", "" ] }, { "cell_type": "markdown", "metadata": { "id": "8T6OCR1lDnI-" }, "source": [ "## Acceleration \n", "\n", "Acceleration is the rate (with respect to time) of change of the velocity of a particle, which can also be given by the second-order rate of change of the position.\n", "\n", "The average acceleration between two instants is:\n", "\n", "\n", "\\begin{equation}\n", "\\overrightarrow{\\mathbf{a}}(t) = \\frac{\\overrightarrow{\\mathbf{v}}(t_2)-\\overrightarrow{\\mathbf{v}}(t_1)}{t_2-t_1} = \\frac{\\Delta \\overrightarrow{\\mathbf{v}}}{\\Delta t}\n", "\\label{eq_acc}\n", "\\end{equation}\n", "\n", "\n", "Likewise, instantaneous acceleration is the first-order derivative of the velocity or the second-order derivative of the position vector: \n", "\n", "\n", "\\begin{equation} \n", "\\overrightarrow{\\mathbf{a}}(t) = \\frac{\\mathrm{d}\\overrightarrow{\\mathbf{v}}(t)}{\\mathrm{d}t} = \\frac{\\mathrm{d}^2\\overrightarrow{\\mathbf{r}}(t)}{\\mathrm{d}t^2} = \\frac{\\mathrm{d}^2x(t)}{\\mathrm{d}t^2}\\hat{\\mathbf{i}} + \\frac{\\mathrm{d}^2y(t)}{\\mathrm{d}t^2}\\hat{\\mathbf{j}} + \\frac{\\mathrm{d}^2z(t)}{\\mathrm{d}t^2}\\hat{\\mathbf{k}}\n", "\\label{eq_accderiv}\n", "\\end{equation}\n", "\n", "\n", "And in matrix form:\n", "\n", "\n", "\\begin{equation} \n", "\\overrightarrow{\\mathbf{a}}(t) = \\begin{bmatrix}\n", "\\ddot x(t) \\\\\n", "\\ddot y(t) \\\\\n", "\\ddot z(t)\n", "\\end{bmatrix}\n", "\\label{eq_accderiv2}\n", "\\end{equation}\n", "" ] }, { "cell_type": "markdown", "metadata": { "id": "5KQj-kJ3DnI-" }, "source": [ "For curiosity, see [Notation for differentiation](https://en.wikipedia.org/wiki/Notation_for_differentiation) on the origin of the different notations for differentiation.\n", "\n", "When the base versors change in time, for instance when the basis is attached to a rotating frame or reference, the components of the vector’s derivative is not the derivatives of its components; we will also have to consider the derivative of the basis with respect to time." ] }, { "cell_type": "markdown", "metadata": { "id": "ozi7lb-oDnI_" }, "source": [ "## The antiderivative\n", "\n", "As the acceleration is the derivative of the velocity which is the derivative of position, the inverse mathematical operation is the [antiderivative](http://en.wikipedia.org/wiki/Antiderivative) (or integral):\n", "\n", "\n", "\\begin{equation} \n", "\\begin{array}{l l}\n", "\\mathbf{r}(t) = \\mathbf{r}_0 + \\int \\mathbf{v}(t) \\:\\mathrm{d}t \\\\\n", "\\mathbf{v}(t) = \\mathbf{v}_0 + \\int \\mathbf{a}(t) \\:\\mathrm{d}t \n", "\\end{array}\n", "\\label{eq_antiderivative}\n", "\\end{equation}\n", "" ] }, { "cell_type": "markdown", "metadata": { "id": "vqEhK3toDnI_" }, "source": [ "## Some cases of motion of a particle\n", "\n", "To deduce some trivial cases of motion of a particle (at rest, at constant speed, and at constant acceleration), we can start from the equation for its position and differentiate it to obtain expressions for the velocity and acceleration or the inverse approach, start with the equation for acceleration, and then integrate it to obtain the velocity and position of the particle. Both approachs are valid in Mechanics. For the present case, it probaly makes more sense to start with the expression for acceleration.\n", "\n", "#### Particle at rest\n", "\n", "\n", "\\begin{equation} \n", "\\begin{array}{l l}\n", "\\overrightarrow{\\mathbf{a}}(t) = 0 \\\\\n", "\\overrightarrow{\\mathbf{v}}(t) = 0 \\\\\n", "\\overrightarrow{\\mathbf{r}}(t) = \\overrightarrow{\\mathbf{r}}_0\n", "\\end{array}\n", "\\label{eq_rest}\n", "\\end{equation}\n", "" ] }, { "cell_type": "markdown", "metadata": { "id": "A2CDyS05DnI_" }, "source": [ "#### Particle at constant speed\n", "\n", "\n", "\\begin{equation} \n", "\\begin{array}{l l}\n", "\\overrightarrow{\\mathbf{a}}(t) = 0 \\\\\n", "\\overrightarrow{\\mathbf{v}}(t) = \\overrightarrow{\\mathbf{v}}_0 \\\\\n", "\\overrightarrow{\\mathbf{r}}(t) = \\overrightarrow{\\mathbf{r}}_0 + \\overrightarrow{\\mathbf{v}}_0t\n", "\\end{array}\n", "\\label{eq_constantspeed}\n", "\\end{equation}\n", "" ] }, { "cell_type": "markdown", "metadata": { "id": "HklnapTXDnJA" }, "source": [ "#### Particle at constant acceleration\n", "\n", "\n", "\\begin{equation} \n", "\\begin{array}{l l}\n", "\\overrightarrow{\\mathbf{a}}(t) = \\overrightarrow{\\mathbf{a}}_0 \\\\\n", "\\overrightarrow{\\mathbf{v}}(t) = \\overrightarrow{\\mathbf{v}}_0 + \\overrightarrow{\\mathbf{a}}_0t \\\\\n", "\\overrightarrow{\\mathbf{r}}(t) = \\overrightarrow{\\mathbf{r}}_0 + \\overrightarrow{\\mathbf{v}}_0t + \n", "\\frac{1}{2}\\overrightarrow{\\mathbf{a}}_0 t^2 \n", "\\end{array}\n", "\\label{eq_constantacceleration}\n", "\\end{equation}\n", "" ] }, { "cell_type": "markdown", "metadata": { "id": "qoJu_CDlDnJA" }, "source": [ "### Values for the mechanical quantities" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "ExecuteTime": { "end_time": "2021-10-16T00:12:09.878569Z", "start_time": "2021-10-16T00:12:09.875239Z" }, "id": "zg77xmo-DnJA", "outputId": "89bd1ce1-1daf-4292-8840-87dcc5bc0efd", "colab": { "base_uri": "https://localhost:8080/" } }, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "t: [0. 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0.2 0.22 0.24 0.26\n", " 0.28 0.3 0.32 0.34 0.36 0.38 0.4 0.42 0.44 0.46 0.48 0.5 0.52 0.54\n", " 0.56 0.58 0.6 0.62 0.64 0.66 0.68 0.7 0.72 0.74 0.76 0.78 0.8 0.82\n", " 0.84 0.86 0.88 0.9 0.92 0.94 0.96 0.98 1. 1.02 1.04 1.06 1.08 1.1\n", " 1.12 1.14 1.16 1.18 1.2 1.22 1.24 1.26 1.28 1.3 1.32 1.34 1.36 1.38\n", " 1.4 1.42 1.44 1.46 1.48 1.5 1.52 1.54 1.56 1.58 1.6 1.62 1.64 1.66\n", " 1.68 1.7 1.72 1.74 1.76 1.78 1.8 1.82 1.84 1.86 1.88 1.9 1.92 1.94\n", " 1.96 1.98 2. ]\n", "r: [ 1. 1.0408 1.0832 1.1272 1.1728 1.22 1.2688 1.3192 1.3712\n", " 1.4248 1.48 1.5368 1.5952 1.6552 1.7168 1.78 1.8448 1.9112\n", " 1.9792 2.0488 2.12 2.1928 2.2672 2.3432 2.4208 2.5 2.5808\n", " 2.6632 2.7472 2.8328 2.92 3.0088 3.0992 3.1912 3.2848 3.38\n", " 3.4768 3.5752 3.6752 3.7768 3.88 3.9848 4.0912 4.1992 4.3088\n", " 4.42 4.5328 4.6472 4.7632 4.8808 5. 5.1208 5.2432 5.3672\n", " 5.4928 5.62 5.7488 5.8792 6.0112 6.1448 6.28 6.4168 6.5552\n", " 6.6952 6.8368 6.98 7.1248 7.2712 7.4192 7.5688 7.72 7.8728\n", " 8.0272 8.1832 8.3408 8.5 8.6608 8.8232 8.9872 9.1528 9.32\n", " 9.4888 9.6592 9.8312 10.0048 10.18 10.3568 10.5352 10.7152 10.8968\n", " 11.08 11.2648 11.4512 11.6392 11.8288 12.02 12.2128 12.4072 12.6032\n", " 12.8008 13. ]\n" ] } ], "source": [ "t = np.linspace(0, 2, 101)\n", "print('t:', t)\n", "\n", "r0 = 1\n", "v0 = 2\n", "a0 = 4\n", "r = r0 + v0*t + 1/2*a0*t**2\n", "print('r:', r)" ] }, { "cell_type": "markdown", "metadata": { "id": "7IhewV2PDnJB" }, "source": [ "### Visual representation of these cases" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "ExecuteTime": { "end_time": "2021-10-16T00:13:05.314319Z", "start_time": "2021-10-16T00:13:05.227480Z" }, "id": "swkO6jogDnJB", "outputId": "d8f53b9c-067e-433c-e119-36ec69858343", "colab": { "base_uri": "https://localhost:8080/", "height": 265 } }, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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\n" }, "metadata": { "needs_background": "light" } } ], "source": [ "# a simple plot\n", "plt.plot(t, r);" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "ExecuteTime": { "end_time": "2021-10-16T00:12:10.063562Z", "start_time": "2021-10-16T00:12:10.063554Z" }, "id": "ftS4MfqRDnJC", "outputId": "54f6f152-6c76-4189-8437-4e2082b2e675", "colab": { "base_uri": "https://localhost:8080/", "height": 497 } }, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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gP/973/85je/YeOWjazbsY7SitKwedMsjW5Z3WiV3irhcTQHGkSiFnZDcrNtd52Led5ly5axyy678MwzzzBp0iSmTZvGjTfeiJlx4IEHVs1XUlJC+/btKS0tZerUqdx8883svffeLFiwgLFjx/LMM89w4YUXJnQ7jjnmGI455hjAX+iINCc6TyRGY50nJk+eHPb3E088QadOnfjwww857rjjat12kZZs48aNDBw4kGnTplVrrQ41btw49ttvPy6//PJGjE5i0bt3b3r37g1Ar169yO6azaLli8jtkxs2X0ZaBtlts1vcw3HrQy1QzY1AfzkAACAASURBVMS8efMA+NOf/sQVV1zB559/ztKlSxk1alRYs2tGRgYfffQRAJ988gkrV67kww8/BKCgoIDp06dTWFhYrf5bb72V9u3b1/p6//33G2FLRSReOk9Ut3XrVioqKujSpQtQ+7aLtGTq6puaXX1vu+02zIyLLroobHptsTnneG/ae5SWlVZLntpktKFbVjclT3XQ3mkm5s6dS5s2bXj++efZfffdAd/XNScnJ2y+tLQ0Vq5cSYcOHcjPzw+7aMrJyaG0tJQVK1ZUO0FOmDCBn/3sZ7XGkJubW2u5iCSXzhPVXXLJJQwfPpz9998fqH3bRVqqyq6+r7zySrWy6dOnc/DBB1f9HdrVN9Et1ZVdfc8880zOPPPMei07fvx4+vfvH1N338quvvn5+TjnuPbaaznssMNYsGAB2dnZVfNFbnui1h+rjz/+mEmTJjF06NBqZTXFVuEq+Hb5t5x/7vnccc8dYWXtM9vTIbODznsxUALVTMybN49jjjmm6qIIoLCwkJ49e1abd86cOQwbNqzaAVJ530G0b5azs7PDThoi0vQ0l/PErbfeyq233lr1d3FxMWbGnXfeWTXt9ddf50c/+lGt9Vx22WV88MEHfPDBB6Snp1dNr2nbRVoCdfVtGl19N2/ezGmnncajjz7KDTfcUDW9tthKy0tZuWklp598OhdeeiH5++YDYBid23SmbSvdpx4rJVC1qM+9Bck2d+7cas233bp1Y+PGjVHnHTFiRLXplTdRd+9efYz/yAuWaGK5YBFpbnSe+EFjnSciW7quuuoqcnNzufjii6um1dXSdemll/Lss8/yzjvvMGDAgLCymrZdpCUI7ep7yy23sNdeezFx4sQau/rm5eXxySef0LdvX1q3bg34rr4333wzhYWF1QaFaYrXEzV19Y227Ylw2GGHMW/ePLZv306fPn14/vnnq1rJK51//vmcdNJJjBkzJiyBqim2wtJCNhZu5OILLubAgw/kpFP9EOnplk6Xtl3ITM9MWPwtgRKoZmD79u188803jBw5Mmz6iBEjovYPnjdvHkcffXS16fPnzyc3Nzfqt9FNsWuOiPygOZ0nIlu6OnToQHZ2dljLWm0uueQSnnvuOd555x0GDhxYrbymbReJV1MabEZdfatr7K6+b731Vq3lDz30EIsWLYo6ImpkbABbS7aysWgj0z+ezsv/eZm9B+/NG/99A8N48okn6Tms+vlcaqcEqhn49NNPARg+fHjY9COPPJKrrrqK9evX07Vr16rpZWVlLFy4kBUrVpCVlUXnzp0BeP/992u84bAhXXO2bdvGokWLAKioqOD7779n7ty5ZGdn07dv37jqFJH60XnCu/DCC3niiSd48cUX6dKlC6tWrQKoGuQCat52kZZAXX3DxdvVN1Hrj/Tll1/y+9//ng8++IBWraIPMV4Zm8OxsXAjxeXFABTsX8CyzcsAyGqVRafWndRVOU4aha8ZmDdvHnvssUfVP/9KQ4YMoaCggGeffTZs+i233MKzzz5Lnz59+N3vfgdAUVERL7zwAuedd17C45s5cyYjRoxgxIgRFBYWct111zFixAiuvfbahK9LRKLTecK7//772bp1K4ceemjVkL69e/cOu6iJtu0iLcXcuXM55JBDwqYluqtvY4zWOWHCBObOnVv1Gjt2bLVpeXl5tdZx6aWX8swzz/D222/Xu6tvvOs3s1pfH330EevWrWPQoEFkZGSQkZHBe++9x/33309GRgbFxcXMnTuXYcOHsXb72qrkKVSn1p3o3KazkqcGSNkWKDPbC3guZNIA4Frn3MSQeUYDLwHfBZP+45y7sdGCTBETJkxgwoQJUcuuu+46LrnkEiZMmFD1zclpp53GaaedFjbfI488wr777st+++2X8PhGjx6Nc03nPhGR5qg5nyfqM5RxLOuItu0iLYG6+v6goV19413/999/zxlnnMGaNWvIyMjgmmuuYdy4cVXlmzZtqpZ4nX322eyxxx78/ve/JzMzk7nz5rL/mP0pd+Vh86VZGtlts3W/UwKkbALlnPsSGA5gZunAcuCFKLO+75w7tjFja0qOOuoo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OrTDV1uX26xevZoHHniAQw89dKPthx56KPfcc0/Vfg6S2meekNSZRs8Tb5g0aRLHHnssBx10UDW7L3VqQL0DUPV85Stf2bA8ZswYPvShD/GnP/0JgGeffZYddthho/b9+vVjwYIFbLnlluy///4bJcMddtiBNWvWMH/+/E2ucZ48eTLHH398h7GMHj16k21Llixh3bp1jBw5cqPtI0eO5Be/+EVZfZRUGfOEpM40ep4AuOKKK3jyySd79PJAqT0WUE3i+eef5z/+4z+48847eeGFF1i9ejWrVq3i85//PAArV67c5D8kAA899BBvf/vbN3k69xZbbLHhfa0NHz6c4cOH90AvJPUk84SkzvSGPPHEE08wdepUZs+ezcCBA7v8fqlSXsLXkcz6vsr00ksvsf/++7Nw4UK+8Y1vcPfddzNnzhw233xz9t13XwC23XZbXnnllU3e+/DDD7Pffvttsv3ll18GYMSIEZvs6+6Q+7bbbkv//v158cUXN9r+4osvMmrUqLL7KzUU84R5QuqMeaKqeeLee+9lyZIl7LXXXgwYMIABAwbwm9/8hksvvZQBAwawatWqsvssdYcjUE3gtttu4/XXX+emm27a8M3PNddcw/LlyzckvP3224+rr756k/c+8sgjHHHEEZtsnzt3LqNHj27zW6buDrkPGjSI8ePHM2vWLI477rgN22fNmsUxxxzT4fEkVcY8IakzvSVPfOQjH2HChAkbbTv99NPZbbfdmDp1KoMGDerwmFKlLKCawDbbbMPy5cu59dZbGTduHHfccQcXXnghW265JbvuuisAhx12GOeffz4vvfQS22yzzYb3rl27lj/96U/Mnz+fwYMHM2zYMKC4SbTlsxxaquTSnPPOO49TTjmFiRMncuCBBzJt2jTmz5/P5MmTu3U8SeUxT0jqTG/JE8OGDdtw/DcMGTKE4cOHs/fee3f5eFJXlX0JX0R8rBuvLXoyeBWOPPJIPvWpT3Hqqafy7ne/m7/85S98/OMfZ5999tnwDdK4ceOYOHEiN95440bvveCCC7jxxhvZcccd+eIXvwjA66+/zi233MJZZ51V9VhPOOEEvv3tb/O1r32Nfffdl9mzZ3P77bczZsyYqp9L0t+ZJyR1pjflCamuMrOsF7C+i691wNhyj9/G+d4GPNzi9SrwT63afABY1qLNlzo77vjx47M9jzzy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\n" }, "metadata": { "needs_background": "light" } } ], "source": [ "# a more decorated plot\n", "plt.rc('axes', labelsize=14, titlesize=14) \n", "plt.rc('xtick', labelsize=10)\n", "plt.rc('ytick', labelsize=10) \n", "f, axarr = plt.subplots(3, 3, sharex = True, sharey = True, figsize=(14,7))\n", "plt.suptitle('Scalar kinematics of a particle', fontsize=20);\n", "\n", "tones = np.ones(np.size(t))\n", "\n", "axarr[0, 0].set_title('at rest', fontsize=14);\n", "axarr[0, 0].plot(t, r0*tones, 'g', linewidth=4, label='$r(t)=1$')\n", "axarr[1, 0].plot(t, 0*tones, 'b', linewidth=4, label='$v(t)=0$')\n", "axarr[2, 0].plot(t, 0*tones, 'r', linewidth=4, label='$a(t)=0$')\n", "axarr[0, 0].set_ylabel('r(t) [m]')\n", "axarr[1, 0].set_ylabel('v(t) [m/s]')\n", "axarr[2, 0].set_ylabel('a(t) [m/s$^2$]')\n", "\n", "axarr[0, 1].set_title('at constant speed');\n", "axarr[0, 1].plot(t, r0*tones+v0*t, 'g', linewidth=4, label='$r(t)=1+2t$')\n", "axarr[1, 1].plot(t, v0*tones, 'b', linewidth=4, label='$v(t)=2$')\n", "axarr[2, 1].plot(t, 0*tones, 'r', linewidth=4, label='$a(t)=0$')\n", "\n", "axarr[0, 2].set_title('at constant acceleration');\n", "axarr[0, 2].plot(t, r0*tones+v0*t+1/2.*a0*t**2,'g', linewidth=4,\n", " label='$r(t)=1+2t+\\\\frac{1}{2}4t^2$')\n", "axarr[1, 2].plot(t, v0*tones+a0*t, 'b', linewidth=4,\n", " label='$v(t)=2+4t$')\n", "axarr[2, 2].plot(t, a0*tones, 'r', linewidth=4,\n", " label='$a(t)=4$')\n", "\n", "for i in range(3): \n", " axarr[2, i].set_xlabel('Time [s]');\n", " for j in range(3):\n", " axarr[i,j].set_ylim((-.2, 10))\n", " axarr[i,j].legend(loc = 'upper left', frameon=True, framealpha = 0.9, fontsize=14)\n", " \n", "plt.subplots_adjust(hspace=0.09, wspace=0.07)" ] }, { "cell_type": "markdown", "metadata": { "id": "etd7IGRJDnJC" }, "source": [ "## Symbolic programming\n", "\n", "We can use [Sympy](http://www.sympy.org/en/index.html), a Python library for symbolic mathematics, to deduce the expressions for the cases of motion of a particle we just visualized. \n", "Let's show how to integrate with Sympy for the case of particle with constant acceleration:" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "ExecuteTime": { "end_time": "2021-10-16T00:12:10.396031Z", "start_time": "2021-10-16T00:12:10.179336Z" }, "id": "Cda9l5jXDnJC" }, "outputs": [], "source": [ "import sympy as sym\n", "sym.init_printing(use_latex='mathjax') # print pretty symbols\n", "\n", "t = sym.symbols('t', real=True)\n", "r0, v0, a0 = sym.symbols('r0, v0, a0', real=True, constant=True)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "ExecuteTime": { "end_time": "2021-10-16T00:12:10.530627Z", "start_time": "2021-10-16T00:12:10.397043Z" }, "id": "VNAyl0DoDnJD", "outputId": "97db626a-cfbe-4e3d-f2b2-e20c6a6b5566" }, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle a_{0} t + v_{0}$" ], "text/plain": [ "a₀⋅t + v₀" ] }, "execution_count": 67, "metadata": {}, "output_type": "execute_result" } ], "source": [ "v = sym.integrate(a0, t) + v0 # a constant has to be added\n", "v" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "ExecuteTime": { "end_time": "2021-10-16T00:12:10.540922Z", "start_time": "2021-10-16T00:12:10.534677Z" }, "id": "aVJrwFSODnJD", "outputId": "dccc2f9b-c5f8-48dc-87b8-e4061c0f6e20" }, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle \\frac{a_{0} t^{2}}{2} + r_{0} + t v_{0}$" ], "text/plain": [ " 2 \n", "a₀⋅t \n", "───── + r₀ + t⋅v₀\n", " 2 " ] }, "execution_count": 68, "metadata": {}, "output_type": "execute_result" } ], "source": [ "r = sym.integrate(v, t) + r0 # a constant has to be added\n", "r" ] }, { "cell_type": "markdown", "metadata": { "id": "o7ey6LtjDnJD" }, "source": [ "We can also plot a symbolic expression in a given range after we substitute the symbolic variables with numbers:" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "uyHPWpYDDnJD", "outputId": "a48024d4-9c1b-4251-b965-e290a220bc54" }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from sympy.plotting import plot\n", "\n", "r_n = r.subs({r0:1, v0:2, a0:4}) # r0=1 ... does not work!\n", "\n", "plot(r_n, (t, 0, 2), xlim=(0, 2), ylim=(0, 10), axis_center=(0, 0), line_color='g',\n", " xlabel='Time [s]', ylabel='r(t) [m]', legend=True,\n", " title='Scalar kinematics of a particle at constant acceleration',\n", " backend='matplotlib', size=(5, 3));" ] }, { "cell_type": "markdown", "metadata": { "id": "3-YPLaU_DnJD" }, "source": [ "## Kinematics of human movement" ] }, { "cell_type": "markdown", "metadata": { "id": "PjIoDB4zDnJE" }, "source": [ "### Kinematics of the 100-m race\n", "\n", "An example where the analysis of some aspects of the human body movement can be reduced to the analysis of a particle is the study of the Biomechanics of the 100-m race. \n", "\n", "A technical report with the kinematic data for the 100-m world record by Usain Bolt can be downloaded from the [website for Research Projects](http://www.iaaf.org/development/research) from the International Association of Athletics Federations. \n", "[Here is a direct link for that report](http://www.iaaf.org/download/download?filename=76ade5f9-75a0-4fda-b9bf-1b30be6f60d2.pdf&urlSlug=1-biomechanics-report-wc-berlin-2009-sprint). In particular, the following table shows the data for the three medalists in that race: \n", "
\n", "
\"partial
Figure. Data from the three medalists of the 100-m dash in Berlin, 2009 (IAAF report).
\n", "\n", "The column **RT** in the table above refers to the reaction time of each athlete. The IAAF has a very strict rule about reaction time: any athlete with a reaction time less than 100 ms is disqualified from the competition! See the website [Reaction Times and Sprint False Starts](http://condellpark.com/kd/reactiontime.htm) for a discussion about this rule.\n", "\n", "You can measure your own reaction time in a simple way visiting this website: [http://www.humanbenchmark.com/tests/reactiontime](http://www.humanbenchmark.com/tests/reactiontime).\n", "\n", "The article [A Kinematics Analysis Of Three Best 100 M Performances Ever](http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3661886/) by Krzysztof and Mero presents a detailed kinematic analysis of 100-m races. " ] }, { "cell_type": "markdown", "metadata": { "id": "F2i-uf2-DnJE" }, "source": [ "## More examples\n", "\n", " - If you have access to the Rade's book, study the examples 1.3, 1.5 and 1.7. \n", " - From Ruina's book, study the samples 12.2 and 12.3." ] }, { "cell_type": "markdown", "metadata": { "id": "RxCzkwMmDnJE" }, "source": [ "## Further reading\n", "\n", " - Read the preface and first chapter of the [Ruina and Rudra's book](http://ruina.tam.cornell.edu/Book/index.html) about how someone should study Mechanics. \n", " - See the notebook [Spatial and temporal characteristics](http://nbviewer.jupyter.org/github/demotu/BMC/blob/master/notebooks/SpatialTemporalCharacteristcs.ipynb) about how the simple measurement of spatial and temporal kinematic variables can be very useful to describe the human gait. \n", " - See the notebook [The minimum jerk hypothesis](http://nbviewer.jupyter.org/github/demotu/BMC/blob/master/notebooks/MinimumJerkHypothesis.ipynb) about the conjecture that movements are performed (organized) with the smoothest trajectory possible. " ] }, { "cell_type": "markdown", "metadata": { "id": "kdSzIYg9DnJE" }, "source": [ "## Video lectures on the Internet\n", "\n", " - Khan Academy: [One-dimensional motion](https://www.khanacademy.org/science/ap-physics-1/ap-one-dimensional-motion) \n", " - [Powers of 10, Units, Dimensions, Uncertainties, Scaling Arguments](https://youtu.be/GtOGurrUPmQ) \n", " - [1D Kinematics - Speed, Velocity, Acceleration](https://youtu.be/q9IWoQ199_o) " ] }, { "cell_type": "markdown", "metadata": { "id": "2W_A-TVQDnJF" }, "source": [ "## Problems\n", "\n", "1. Answer the 12 questions of the [Khan Academy's test on one-dimensional motion](https://www.khanacademy.org/science/ap-physics-1/ap-one-dimensional-motion/test/ap-one-dimensional-motion-unit-test?modal=1). \n", "\n", "2. Consider the data for the three medalists of the 100-m dash in Berlin, 2009, shown previously. \n", " a. Calculate the average velocity and acceleration. \n", " b. Plot the graphs for the displacement, velocity, and acceleration versus time. \n", " c. Plot the graphs velocity and acceleration versus partial distance (every 20m). \n", " d. Calculate the average velocity and average acceleration and the instants and values of the peak velocity and peak acceleration. \n", "\n", "3. The article \"Biomechanical Analysis of the Sprint and Hurdles Events at the 2009 IAAF World Championships in Athletics\" by Graubner and Nixdorf lists the 10-m split times for the three medalists of the 100-m dash in Berlin, 2009 and is shown below. \n", " a. Repeat the same calculations performed in problem 2 and compare the results. \n", "
\n", "
\"partial
\n", "
\n", "\n", "4. On an Olympic athletics track, runners A and B start running from the same position on the track, but in opposite directions. If $\\lVert v_A \\rVert=4$ m/s and $\\lVert v_B \\rVert=6$ m/s, how far from the starting line will the runners meet?\n", "\n", "5. A body attached to a spring has its position (in cm) described by the equation $x(t) = 2\\sin(4\\pi t + \\pi/4)$. \n", " a. Calculate the equation for the body velocity and acceleration. \n", " b. Plot the position, velocity, and acceleration in the interval [0, 1] s.\n", " \n", "6. [Ex. 1.2, Rade's book] The rectilinear motion of a particle is given by $x(t) = –12t^3 + 15t^2 + 5t + 2$ [s; m]. Calculate: \n", " a. Velocity and acceleration of the particle as a function of time. Solution: $v(t)=-36t^2+30t+5$ [s; m/s], $a(t)=-72t+30$ [s; m/s2]. \n", " b. Total distance traveled by the particle in the interval $0 \\leq t \\leq 4$ s. Solution: $\\Delta_{0-4}=524.02$m. \n", " c. Maximum value of the velocity module reached by the particle in the interval $0 \\leq t \\leq 4$ s. Solution: $\\lVert v_{max} \\rVert=451.0$m/s. \n", " d. Plots of the position, velocity and acceleration of the particle in the interval $0 \\leq t \\leq 4$ s. \n", " \n", "7. [Ex. 1.4, Rade's book] A stone is released from the opening of a well, and the noise from its fall to the bottom is heard 4 seconds later. Knowing that the speed of sound in air is 340 m/s, determine the depth of the well. Solution: $h=70.55$m. \n", "\n", "8. [Ex. 12.1.11 Ruina's book] The position of a particle is given by $\\overrightarrow{\\mathbf{r}}(t)=(t^2\\hat{\\mathbf{i}}+e^{t}\\hat{\\mathbf{j}})$. \n", " a. Calculate the velocity and acceleration of the particle as functions of time. \n", " b. Draw the path of the particle and show the vectors $\\overrightarrow{\\mathbf{v}}(t)$ and $\\overrightarrow{\\mathbf{a}}(t)$ at $t=1$s.\n", "\n", "9. Sometimes all we have access to is the image with plotted data that interests us. For example, the first figure shown in this Notebook contains velocity versus position data for Usain Bolt's 100m sprint at a much higher resolution than the numerical data shown here. If we want to access numerical data from an image, it is possible to extract this information using some software to automatically identify points of interest. If points cannot be extracted automatically, you may need to do it manually. The [WebPlotDigitizer](https://automeris.io/WebPlotDigitizer/) software is one such tool. Try using it to extract the data from the quoted figure. Note: it won't be easy; you may have to do this manually. Anyway, know that such a tool exists.\n", "\n", "10. There are some nice free software that can be used for the kinematic analysis of human motion. Some of them are: [Kinovea](http://www.kinovea.org/), [Tracker](http://www.cabrillo.edu/~dbrown/tracker/), and [SkillSpector](http://video4coach.com/index.php?option=com_content&task=view&id=13&Itemid=45). Visit their websites and explore these software to understand in which biomechanical applications they could be used. " ] }, { "cell_type": "markdown", "metadata": { "id": "hnjwWLMjDnJF" }, "source": [ "## References\n", "\n", "- Graubner R, Nixdorf E (2011) [Biomechanical Analysis of the Sprint and Hurdles Events at the 2009 IAAF World Championships in Athletics ](http://www.meathathletics.ie/devathletes/pdf/Biomechanics%20of%20Sprints.pdf). [New Studies in Athletics](http://www.iaaf.org/development/new-studies-in-athletics), 1/2, 19-53.\n", "- Krzysztof M, Antti Mero A (2013) [A Kinematics Analysis Of Three Best 100 M Performances Ever](http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3661886/). Journal of Human Kinetics, 36, 149–160.\n", "- [Research Projects](http://www.iaaf.org/development/research) from the International Association of Athletics Federations. \n", "- Rade D (2017) [Cinemática e Dinâmica para Engenharia](https://www.grupogen.com.br/e-book-cinematica-e-dinamica-para-engenharia). Grupo GEN.\n", "- Ruina A, Rudra P (2019) [Introduction to Statics and Dynamics](http://ruina.tam.cornell.edu/Book/index.html). Oxford University Press. " ] } ], "metadata": { "anaconda-cloud": {}, "hide_input": false, "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.13" }, "latex_envs": { "LaTeX_envs_menu_present": true, "autoclose": false, "autocomplete": true, "bibliofile": "biblio.bib", "cite_by": "apalike", "current_citInitial": 1, "eqLabelWithNumbers": true, "eqNumInitial": 1, "hotkeys": { "equation": "Ctrl-E", "itemize": "Ctrl-I" }, "labels_anchors": false, "latex_user_defs": false, "report_style_numbering": false, "user_envs_cfg": false }, "nbTranslate": { "displayLangs": [ "*" ], "hotkey": "alt-t", "langInMainMenu": true, "sourceLang": "en", "targetLang": "fr", "useGoogleTranslate": true }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": true, "sideBar": true, "skip_h1_title": true, "title_cell": "Contents", "title_sidebar": "Contents", "toc_cell": true, "toc_position": {}, "toc_section_display": true, "toc_window_display": false }, "varInspector": { "cols": { "lenName": 16, "lenType": 16, "lenVar": 40 }, "kernels_config": { "python": { "delete_cmd_postfix": "", "delete_cmd_prefix": "del ", "library": "var_list.py", "varRefreshCmd": "print(var_dic_list())" }, "r": { "delete_cmd_postfix": ") ", "delete_cmd_prefix": "rm(", "library": "var_list.r", "varRefreshCmd": "cat(var_dic_list()) " } }, "types_to_exclude": [ "module", "function", "builtin_function_or_method", "instance", "_Feature" ], "window_display": false }, "colab": { "provenance": [] } }, "nbformat": 4, "nbformat_minor": 0 }