{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "![En tête general](img/En_tete_general.png)\n", "\n", "\n", "*(C) Copyright Franck CHEVRIER 2019-2020 http://www.python-lycee.com/*\n", "\n", " Pour exécuter une saisie Python, sélectionner la cellule et valider avec SHIFT+Entrée.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![Base_Ball](img/BaseBall_titre.png)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "Dans cette activité, on observe à l'aide d'un appareil photographique à déclenchement en rafale la trajectoire d'une balle lancée par un joueur de Baseball. Ceci permet d'obtenir des images de la scène à intervalle de temps constant.\n", "\n", "L'animation ci-dessous permet d'obtenir de cette façon une chronophotographie de ce lancer. Les distances et les temps sont respectivement exprimés en mètre et en seconde.\n", "\n", "\n", "Pour faire apparaître et activer l'animation, sélectionner la cellule ci-dessous et valider avec SHIFT+Entrée.\n", "\n", "\n", "Vous pouvez ensuite utiliser les menus cinématiques :\n", "\n", "\n", "![Menus_animation](img/menus_animation_GeoGebra.png)\n", "\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#Sélectionner cette zone puis SHIFT+ENTREE\n", "from IPython.display import display, HTML ; display(HTML('fig_dyn_GeoGebra/Base_Ball.html'))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__1. Compléter les saisies ci dessous pour stocker les valeurs des abscisses et des ordonnées obtenues par ce pointage dans les listes Python nommées x et y. Vérifier que la valeur Dt correspond bien à l'intervalle de temps $\\Delta t$ paramétré dans votre pointage.__\n", "\n", "Ne pas oublier de valider cette zone de saisie Python et les suivantes avec SHIFT+Entrée.\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#liste des abscisses des points (à compléter)\n", "x = [0]\n", "\n", "#liste des ordonnées des points (à compléter)\n", "y = [1.6]\n", "\n", "#intervalle de temps entre deux prises de vue\n", "Dt = 0.2 \n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__2. Pour chaque point $M_i(x_i;y_i)$, on fait l'estimation que les coordonnées du vecteur vitesse $\\vec{v_i}$ vérifient :__\n", " \n", " \n", " $\\displaystyle \\left( \\vec{v_i} \\right)_x = \\frac{x_{i+1}-x_i}{Δt}$ et\n", " \n", " $\\displaystyle \\left( \\vec{v_i} \\right)_y = \\frac{y_{i+1}-y_i}{Δt}$ .\n", "\n", "__On a défini ci-dessous la liste vx des abscisses de ces vecteurs. Définir de la même façon la liste vy de leurs ordonnées.__" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# liste des abscisses des vecteurs vitesse\n", "vx = [ (x[i+1]-x[i])/Dt for i in range(len(x)-1) ]\n", "\n", "# liste des ordonnées des vecteurs vitesse (à créer)\n", "vy = [ ]\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__3. En chaque point $M_{i+1}$, on définit le vecteur variation de vitesse $ \\overrightarrow{ \\Delta v }_{ i \\rightarrow i+1 }$ dont les coordonnées vérifient:__\n", " \n", " \n", " $ \\left( \\overrightarrow{ \\Delta v }_{ i \\rightarrow i+1 } \\right)_x = \\left( \\overrightarrow{v_{i+1}} \\right)_x- \\left(\\vec{v_i} \\right)_x$ et \n", " \n", " $ \\left( \\overrightarrow{ \\Delta v }_{ i \\rightarrow i+1 } \\right)_y = \\left( \\overrightarrow{v_{i+1}} \\right)_y- \\left(\\vec{v_i} \\right)_y$ . \n", " \n", "__On a défini ci-dessous la liste Dvx des abscisses de ces vecteurs. Définir de la même façon la liste Dvy de leurs ordonnées.__" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# liste des abscisses des vecteurs variation de vitesse\n", "Dvx = [ vx[i+1]-vx[i] for i in range(len(vx)-1) ]\n", "\n", "# liste des ordonnées des vecteurs variation vitesse (à créer)\n", "Dvy = [ ]\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__4. La fonction Python Pointage ci-dessous permet d'obtenir le tracé des vecteurs vitesse et des vecteurs variation de vitesse pour le pointage. Exécuter cette cellule et la suivante pour observer le graphique.__" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#Exécuter cette cellule\n", "import matplotlib.pyplot as plt\n", "\n", "def Pointage():\n", " \n", " # réglage des axes\n", " plt.figure(num=0, figsize=(12,8), dpi=80) ; fig,ax = plt.subplots(num=0) \n", " ax.set_xlim(( 0,max(x[i]+vx[i]+0.5 for i in range(len(vx))))) ; ax.set_ylim((0,max(y[i]+vy[i]+0.5 for i in range(len(vy))))) ;\n", " \n", " # représentation des points\n", " plt.scatter(x,y,color='red') \n", " \n", " # représentation des vecteurs vitesse\n", " for i in range(len(vx)):\n", " plt.arrow( x[i] , y[i] , vx[i] , vy[i] , head_width=0.2, head_length=0.2, fc='lightblue', ec='blue')\n", " \n", " # représentation des vecteurs variation de vitesse \n", " for i in range(len(Dvx)):\n", " plt.arrow( x[i+1] , y[i+1] , Dvx[i] , Dvy[i] , head_width=0.2, head_length=0.2, fc='coral', ec='orangered')\n", " \n", " # affichage\n", " plt.show()\n", " " ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#Exécuter cette cellule pour appeler la fonction Pointage\n", "Pointage()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__5. a. A l'aide du graphique obtenu et des résultats des deux saisies Python suivantes, justifier que le vecteur variation de vitesse peut être considéré comme constant, et préciser une valeur approchée de sa norme.__" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#Exécuter cette cellule\n", "Dvx" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#Exécuter cette cellule\n", "Dvy" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__5. b. On admet que la balle de Baseball a une masse de $145$ $\\mathrm{g}$.__ \n", "\n", "__A l'aide d'une saisie Python, déterminer l'intensité du poids exercé sur cette balle.__\n", "\n", "On prendra $g=10$ $\\mathrm{N} \\cdot \\mathrm{kg}^{-1}$ pour l'intensité de la pesanteur.\n", " " ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#Effectuer ici la saisie nécessaire pour déterminer l'intensité du poids\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__5.c A l'aide de l'égalité $\\displaystyle \\sum{ \\vec{F}}=m \\; \\frac{\\overrightarrow{\\Delta v}}{\\Delta t}$, justifier qu'on peut considérer que seule la force du vecteur poids s'applique sur la balle.__ \n", "\n", "__Que peut-on en déduire concernant le mouvement de la balle ?__\n", "\n", "On pourra utiliser la cellule ci-dessous pour effectuer les calculs utiles.\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#Effectuer ici les calculs utiles\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__6. Reprendre les questions précédentes pour un autre pointage, obtenu avec d'autres valeurs pour les paramètres $h_0$ (hauteur initiale), $v_0$ (vitesse initiale) et $\\alpha$ (angle du lancer par rapport à l'horizontale).__" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "*(C) Copyright Franck CHEVRIER 2019-2020 http://www.python-lycee.com/*\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "*Remerciements particuliers à Nicolas EHRSAM pour son aide précieuse.*" ] } ], "metadata": { "celltoolbar": "Raw Cell Format", "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.9" } }, "nbformat": 4, "nbformat_minor": 2 }