{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Beispiel: Physik - Kinematik\n", "\n", "Author: D.H. Pahr, Datum: 12.08.2020\n", "\n", "\n", "## Flugbahn eines Projektils\n", "\n", "In diesem Beispiel wird die Flugbahn eines Projektiles untersucht. Das folgende Bild zeigt eine schematische Skizze. Das Projektil (schwarzer Punkt) wird mit der Geschwindigkeit $v_0$ unter einem Winkel $\\theta$ abgeschossen.\n", "\n", "\"Drawing\"\n", "\n", "**Gegeben**:\n", "\n", "* Anfangsgeschwindigkeit $v_0 = 20 \\frac{\\mathrm{m}}{\\mathrm{s}}$\n", "* Abschusswinkel $\\theta = 15, 30, 45, 60, 75 ^\\circ$\n", "* Erdbeschleunigung $g = 9.81 \\frac{\\mathrm{m}}{\\mathrm{s}^2}$ (entlang $x_2$)\n", "\n", "**Gesucht**:\n", "\n", "* Wertetabelle der Höhe $h(t)=x_2(t)$ über der Zeit für $\\theta=45$° mit 10 Einträgen.\n", "* Flugbahnen für den jeweiligen Abschusswinkel in Form eines xy-Plots (Zeitdauer 3s).\n", "* Animierte Flugbahn für $\\theta=45$°." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Theoretischer Hintergrund\n", "\n", "Die Flugbahn eine Punktes wird mittels eines Postionsvektors $\\vec x(t)$ beschrieben. \n", "\n", "\"Drawing\"\n", "\n", "Der Geschwindigkeitsvektor $\\vec v(t)$ berechnet sich aus der zeitlichen Ableitung der Position (beides Funktionen der Zeit $t$) d.h.:\n", "\n", "$$ \\vec v(t) = \\frac{\\partial \\vec x(t)}{\\partial t} $$\n", "\n", "und der Beschleunigungsvektor $\\vec a(t)$ wir berechnet aus der Geschwindigkeitsänderung:\n", "\n", "$$ \\vec a(t) = \\frac{\\partial \\vec v(t)}{\\partial t} = \\frac{\\partial^2 \\vec x(t)}{\\partial t^2}.$$\n", "\n", "Im vorliegend Beispiel ist die Beschleunigung konstant (Erdbeschleunigung in negativer $x_2$ Richtung) und somit zeitunabhängig: \n", "\n", "$$ \\vec a(t) = \\vec a = \\left( \\begin{array}{c}\n", "0 \\\\\n", "-g \\\\\n", "\\end{array}\\right) = \\mathrm{const}. $$\n", "\n", "Im Falle konstanter Beschleunigung folgt das Weg-Zeit Gesetz d.h. die Positions des Projektils\n", "durch zweifache Integration dieser Differentialgleichung:\n", "\n", "\n", "$$ \\frac{\\partial^2 \\vec x(t)}{\\partial t^2} = \\vec a \\qquad \\Rightarrow \\qquad \\vec x(t) = \\vec x_0 + \\vec v_0 + \\vec a \\frac{t^2}{2}$$\n", "\n", "\n", "mit der Anfangsposition \n", "\n", "$$\\vec x_0 = \\left( \\begin{array}{c}\n", "0 \\\\\n", "0 \\\\\n", "\\end{array}\\right) $$ \n", "\n", "und der Anfangsgeschwindigkeit $\\vec v_0$\n", "\n", "$$\\vec v_0 = \\left( \\begin{array}{c}\n", "v_0 \\cos(\\theta) \\\\\n", "v_0 \\sin(\\theta) \\\\\n", "\\end{array}\\right).$$ \n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Numerische Umsetzung\n", "\n", "### Gegeben:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "\n", "# Anfangsgeschwindigkeit [v0]=m/s\n", "v0 = 20\n", "\n", "# Erdbeschleunigung [g]=m/s2\n", "g = 9.81\n", "\n", "# Abschusswinkel [theta]=rad \n", "np_theta = np.array([15, 30, 45, 60, 75])*np.pi/180.\n", "\n", "# Anfangsverschiebungsvektor [x0]=m\n", "np_x0 = np.array([0, 0])\n", "\n", "# Beschleunigungsvektor [a]=m/s2\n", "np_a = np.array([0, -g])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Hilfsfunktionen" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "### Anfangsgeschwindigkeitsvektor [v0]=m/s\n", "def np_v0(v0, theta): \n", " return np.array([v0*np.cos(theta), v0*np.sin(theta)])" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "### Positionsvector [x]=m\n", "def np_x(t, theta, v0, g):\n", " return np_x0 + np_v0(v0, theta)*t + np_a*(t**2)/2." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Wertetabelle $h(t)$ für 𝜃=45 °" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Bodenkontakt nach 2.883 s\n" ] } ], "source": [ "# Vorgegebener Winkel\n", "theta45=45*np.pi/180.\n", "\n", "# Hilfsfunktion zur Berechnung der Hoehe\n", "def h(t) : \n", " return np_x(t, theta45, v0, g)[1]\n", "\n", "# Zeit wenn Bodenkontakt erreicht wird d.h. h(t)=0 bei t>0!\n", "from scipy import optimize\n", "tmax45 = optimize.newton(h, 10) # Nullstellensuche, Startwert 10s d.h. rechter Nulldurchgang\n", "\n", "print(f\"Bodenkontakt nach {tmax45:.3f} s\")" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[0. 0.32035645 0.64071291 0.96106936 1.28142581 1.60178227\n", " 1.92213872 2.24249517 2.56285163 2.88320808]\n" ] } ], "source": [ "# Zeit von 0...tmax \n", "np_t45 = np.linspace(0, tmax45, 10) \n", "\n", "print(np_t45)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Zeit s | Weg m\n", "-----------------\n", "0.000 | 0.000\n", "0.320 | 4.027\n", "0.641 | 7.047\n", "0.961 | 9.061\n", "1.281 | 10.068\n", "1.602 | 10.068\n", "1.922 | 9.061\n", "2.242 | 7.047\n", "2.563 | 4.027\n", "2.883 | -0.000\n" ] } ], "source": [ "# Wertetabelle\n", "print(\"Zeit s | Weg m\")\n", "print(\"-----------------\")\n", "for t in np_t45: \n", " print(f\"{t:.3f} | {h(t):7.3f}\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Plot der Flugbahnen" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[0. 0.15789474 0.31578947 0.47368421 0.63157895 0.78947368\n", " 0.94736842 1.10526316 1.26315789 1.42105263 1.57894737 1.73684211\n", " 1.89473684 2.05263158 2.21052632 2.36842105 2.52631579 2.68421053\n", " 2.84210526 3. ]\n" ] } ], "source": [ "### betrachtete Zeitspanne 0-4sec \n", "np_t = np.linspace(0, 3, 20)\n", "print(np_t)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "### Erzeugen und Plot der x1-x2 Daten \n", "import matplotlib.pyplot as plt\n", "\n", "# Maximalwerte für Axen Limits\n", "x1max=0; x2max=0\n", "\n", "for theta in np_theta: \n", " # Postitionen in 1 und 2\n", " np_x1 = np.zeros(len(np_t)) ; np_x2 = np.zeros(len(np_t))\n", " for i in range(len(np_t)):\n", " np_x1[i]=np_x(np_t[i], theta, v0, g)[0]\n", " np_x2[i]=np_x(np_t[i], theta, v0, g)[1]\n", " \n", " if np.max(np_x1) > x1max: x1max=np.max(np_x1) \n", " if np.max(np_x2) > x2max: x2max=np.max(np_x2) \n", " \n", " # ... Plots erstellen \n", " plt.plot(np_x1, np_x2, label= f\"{theta*180/np.pi:.1f}°\")\n", "\n", "# ... Achsenbeschriftung\n", "plt.title('Flugbahn nach 3s')\n", "plt.xlabel('Weg $x_1$ in m')\n", "plt.ylabel('Weg $x_2$ in m')\n", "\n", "# Min/Max Werte der Achsen veraendern\n", "plt.axis([0, x1max, 0, x2max*1.1])\n", "\n", "# Legende einfuegen\n", "plt.legend() \n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Animierte Flugbahn" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "scrolled": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Benoetigte Bibliotheken \n", "import matplotlib.animation\n", "\n", "# Animationspunkte\n", "n=30\n", "\n", "# Zeit \n", "np_t = np.linspace(0, tmax45+tmax45/n, n)\n", "\n", "# Wege in x1 und x2\n", "np_x1 = np.zeros(len(np_t)); np_x2 = np.zeros(len(np_t))\n", "for i in range(len(np_t)):\n", " np_x1[i]=np_x(np_t[i], theta45, v0, g)[0]\n", " np_x2[i]=np_x(np_t[i], theta45, v0, g)[1]\n", "\n", "# Erzeugen eines leeren Plots\n", "fig, ax = plt.subplots()\n", "\n", "# Skalierung der Axen\n", "ax.axis([0,np.max(np_x1)*1.1,0,np.max(np_x2)*1.1])\n", "ax.set_title('Animierte Flugbahn')\n", "ax.set_xlabel('Weg $x_1$ in m')\n", "ax.set_ylabel('Weg $x_2$ in m')\n", "\n", "# Leerer Linienplot \n", "flugbahn, = ax.plot([],[],\"o\")" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "scrolled": true }, "outputs": [], "source": [ "# Animationsfunktion\n", "def animate(i):\n", " flugbahn.set_data(np_x1[:i], np_x2[:i])\n", " \n", "ani = matplotlib.animation.FuncAnimation(fig, animate, frames=len(np_t))" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "\n", "
\n", " \n", "
\n", " \n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
\n", "
\n", "\n", "\n", "\n" ], "text/plain": [ "" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Animation anzeigen\n", "from IPython.display import HTML\n", "HTML(ani.to_jshtml())" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.7.6" } }, "nbformat": 4, "nbformat_minor": 4 }