Buckets:
| { | |
| "cells": [ | |
| { | |
| "cell_type": "code", | |
| "execution_count": 4, | |
| "id": "0bb96fa9", | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "import numpy as np\n", | |
| "from matplotlib import pyplot as plt\n" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "id": "6232a83d", | |
| "metadata": {}, | |
| "source": [ | |
| "## The double pendulum problem" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 2, | |
| "id": "513e2f1a", | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "from numpy import cos,sin,pi\n", | |
| "import matplotlib.animation as animation" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 3, | |
| "id": "85268e02", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/png": "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", | |
| "text/plain": [ | |
| "<Figure size 500x400 with 1 Axes>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "G=9.8\n", | |
| "L1=1.0\n", | |
| "L2=1.0\n", | |
| "L=L1+L2\n", | |
| "M1=1.0\n", | |
| "M2=1.0\n", | |
| "t_stop=2.5\n", | |
| "history_len=500\n", | |
| "\n", | |
| "def derivs(t,state):\n", | |
| " dydx=np.zeros_like(state)\n", | |
| " dydx[0]=state[1]\n", | |
| "\n", | |
| " delta=state[2]-state[0]\n", | |
| " den1=(M1+M2)*L1-M2*cos(delta)*cos(delta)\n", | |
| " dydx[1]=((M2*L1*state[1]*state[1]*sin(delta)*cos(delta)\n", | |
| " +M2*G*sin(state[2])*cos(delta)\n", | |
| " +M2*L2*state[3]*state[3]*sin(delta)\n", | |
| " -(M1+M2)*G*sin(state[0]))\n", | |
| " /den1)\n", | |
| " dydx[2]=state[3]\n", | |
| " den2=(L2/L1)*den1\n", | |
| " dydx[3]=(L2/L1)*den1\n", | |
| " dydx[3]=((-M2*L2*state[3]*state[3]*sin(delta)*cos(delta)\n", | |
| " +(M1+M2)*G*sin(state[0]*cos(delta))\n", | |
| " -(M1+M2)*L1*state[1]*state[1]*sin(delta)\n", | |
| " -(M1+M2)*G*sin(state[2]))\n", | |
| " /den2)\n", | |
| " return dydx\n", | |
| "\n", | |
| "dt=.01\n", | |
| "t=np.arange(0,t_stop,dt)\n", | |
| "\n", | |
| "th1=120.0\n", | |
| "w1=0.0\n", | |
| "th2=-10.0\n", | |
| "w2=0.0\n", | |
| "\n", | |
| "\n", | |
| "state=np.radians([th1,w1,th2,w2])\n", | |
| "\n", | |
| "y=np.empty((len(t),4))\n", | |
| "y[0]=state\n", | |
| "\n", | |
| "for i in range(1,len(t)):\n", | |
| " y[i]=y[i-1]+derivs(t[i-1],y[i-1])*dt\n", | |
| "\n", | |
| "x1=L1*sin(y[:,0])\n", | |
| "y1=-L1*cos(y[:,0])\n", | |
| "\n", | |
| "x2=L2*sin(y[:,2])+x1\n", | |
| "y2=-L1*cos(y[:,2])+y1\n", | |
| "\n", | |
| "fig=plt.figure(figsize=(5,4))\n", | |
| "ax=fig.add_subplot(autoscale_on=False,xlim=(-L,L),ylim=(-L,L))\n", | |
| "ax.set_aspect('equal')\n", | |
| "ax.grid()\n", | |
| "\n", | |
| "line,=ax.plot([],[],'o-',lw=2)\n", | |
| "trace,=ax.plot([],[],lw=1,ms=2)\n", | |
| "time_template='time=%.1fs'\n", | |
| "time_text=ax.text(.05,.9,'',transform=ax.transAxes)\n", | |
| "\n", | |
| "def animate(i):\n", | |
| " thisx=[0,x1[i],x2[i]]\n", | |
| " thisy=[0,y1[i],y2[i]]\n", | |
| "\n", | |
| " history_x=x2[:i]\n", | |
| " history_y=y2[:i]\n", | |
| "\n", | |
| " line.set_data(thisx,thisy)\n", | |
| " trace.set_data(history_x,history_y)\n", | |
| " time_text.set_text(time_template % (i*dt))\n", | |
| " return line, trace, time_text\n", | |
| "ani=animation.FuncAnimation(\n", | |
| " fig,animate,len(y),interval=dt*1000,blit=True\n", | |
| ")\n", | |
| "plt.show()\n", | |
| " \n", | |
| "\n", | |
| "\n" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 4, | |
| "id": "a6f9b729", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/png": "iVBORw0KGgoAAAANSUhEUgAAAv4AAAJOCAYAAADPrwPMAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAV+5JREFUeJzt3Xd4VGX6xvF7ElIoJoEQUlY60kGasgEVWMAgiDRRUEoQEV0QARuwSrMgFkBdFVEpKrYooKuIhiaLICqQRVoEpUgJJZCEGobk/P6YXyYMKSThTCaT8/1cV67MvPOemWceh3jn5D3n2AzDMAQAAACgVPPxdAEAAAAA3I/gDwAAAFgAwR8AAACwAII/AAAAYAEEfwAAAMACCP4AAACABRD8AQAAAAsg+AMAAAAWQPAHAAAALIDgDwCFZLPZNHLkyCvOmz9/vmw2m/bu3ev+ojxg7969stlsmj9/fpG2t9lsmjx5sqk1uUNJrHPy5Mmy2WyeLgOAlyH4A/AaWUE66yswMFBRUVGKiYnRa6+9plOnTnm6RLdavXq1y/v38/NTrVq1NGjQIP3555+eLq/EyMjIUFRUlGw2m7799ltPl1NkZ8+e1eTJk7V69WpPlwKglCjj6QIAoLCmTp2qmjVrym63KykpSatXr9bo0aM1Y8YMffXVV2ratKmnS3SrUaNG6YYbbpDdbtemTZs0Z84cffPNN/rtt98UFRXl6fI8buXKlTp8+LBq1KihhQsX6rbbbruq5zt37pzKlCn+/12ePXtWU6ZMkSS1b9/e5bGnnnpK48aNK/aaAHg3gj8Ar3PbbbepVatWzvvjx4/XypUrdfvtt+uOO+7Qjh07VLZsWQ9W6F4333yz7rzzTknSkCFDVLduXY0aNUoLFizQ+PHjPVyd53344Ydq0aKFBg8erAkTJujMmTMqX758kZ8vMDDQxOrMUaZMGY/8MgLAu7HUB0Cp8I9//ENPP/209u3bpw8//NDlsZUrV+rmm29W+fLlFRISoh49emjHjh0uc2JjY1WjRo0cz5vfWuqFCxeqXr16CgwMVMuWLbVmzZoC1frtt98667nmmmvUrVs3bdu2rWBvNBf/+Mc/JEl79uwp1GvExsaqQoUKOnjwoHr27KkKFSooLCxMjz32mDIyMlzmpqSkKDY2VsHBwQoJCdHgwYOVkpKSo5b27dvn2Dud9Vq59fdyBw8e1H333afw8HAFBASoUaNGmjt37pWb8P/OnTunxYsXq1+/frrrrrt07tw5ffnll7nWU9D3fvka/6zPxO+//64BAwYoODhYYWFhevrpp2UYhv766y/16NFDQUFBioiI0CuvvOLyfBcuXNDEiRPVsmVLBQcHq3z58rr55pu1atUq55y9e/cqLCxMkjRlyhTn8q6sOnL7XF68eFHPPPOMateurYCAANWoUUMTJkxQenq6y7waNWro9ttv19q1a3XjjTcqMDBQtWrV0vvvv1/gPgPwTgR/AKXGwIEDJUnff/+9c2z58uWKiYnR0aNHNXnyZI0dO1br1q1T27Ztr+qg2x9++EGjR4/WgAEDNHXqVCUnJ6tLly7aunVrvtt98MEH6tatmypUqKDp06fr6aef1vbt23XTTTcVuZ4//vhDkhQaGlro18jIyFBMTIxCQ0P18ssvq127dnrllVc0Z84c5xzDMNSjRw998MEHGjBggJ599lkdOHBAgwcPLlK9eTly5Ij+/ve/a/ny5Ro5cqReffVV1alTR0OHDtWsWbMK9BxfffWVTp8+rX79+ikiIkLt27fXwoULc51bkPeen7vvvluZmZl64YUX1Lp1az377LOaNWuWOnfurL/97W+aPn266tSpo8cee8zll8K0tDS9++67at++vaZPn67Jkyfr2LFjiomJUUJCgiQpLCxMb731liSpV69e+uCDD/TBBx+od+/eedZz//33a+LEiWrRooVmzpypdu3aadq0aerXr1+Oubt379add96pzp0765VXXlHFihUVGxt7Vb+AAvACBgB4iXnz5hmSjF9++SXPOcHBwUbz5s2d95s1a2ZUqVLFSE5Odo7973//M3x8fIxBgwY5xwYPHmxUr149x/NNmjTJuPxHpSRDkvHrr786x/bt22cEBgYavXr1ylHvnj17DMMwjFOnThkhISHGsGHDXJ4vKSnJCA4OzjF+uVWrVhmSjLlz5xrHjh0zDh06ZHzzzTdGjRo1DJvNZvzyyy+Feo3BgwcbkoypU6e6zG3evLnRsmVL5/0lS5YYkowXX3zROXbx4kXj5ptvNiQZ8+bNc463a9fOaNeuXY7ac+uvJGPSpEnO+0OHDjUiIyON48ePu8zr16+fERwcbJw9ezbf/hiGYdx+++1G27ZtnffnzJljlClTxjh69GiOegry3nOrM+sz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2yu/yw7kdlXe9u3ba/PmzW6sCgAAACj5vGqPPwAAAICiIfgDAAAAFkDwBwAAACyA4A8AAABYAMEfAAAAsACCfylSo0YNxcbGeroMAAAAlEAEfy+zbt06TZ48WSkpKZ4updilp6frySefVFRUlMqWLavWrVsrPj6+wNsfPHhQd911l0JCQhQUFKQePXrozz//dGPFAAAAJQfB38usW7dOU6ZMyTX4JyYm6p133in+oopJbGysZsyYoXvvvVevvvqqfH191bVrV61du/aK254+fVodOnTQDz/8oAkTJmjKlCnavHmz2rVrp+Tk5GKoHgAAwLO86gJeyF9AQICnS3Cbn3/+WZ988oleeuklPfbYY5KkQYMGqXHjxnriiSe0bt26fLd/8803tWvXLv3888+64YYbJEm33XabGjdurFdeeUXPP/+8298DAACAJ7HH34tMnjxZjz/+uCSpZs2astlsstls2rt3r6Sca/znz58vm82mtWvXatSoUQoLC1NISIiGDx+uCxcuKCUlRYMGDVLFihVVsWJFPfHEEzmujJyZmalZs2apUaNGCgwMVHh4uIYPH66TJ08W19uWJH3++efy9fXVAw884BwLDAzU0KFDtX79ev31119X3P6GG25whn5Jql+/vjp27KjPPvvMZe7rr7+uRo0aqVy5cqpYsaJatWqljz76yNw3BAAAUMzY4+9Fevfurd9//10ff/yxZs6cqcqVK0uSwsLC8t3u4YcfVkREhKZMmaKffvpJc+bMUUhIiNatW6dq1arp+eef19KlS/XSSy+pcePGGjRokHPb4cOHa/78+RoyZIhGjRqlPXv26N///rc2b96sH3/8UX5+fnm+bnp6uk6dOuUyZrfblZaWpuPHj7tsm/Ve8rJ582bVrVtXQUFBLuM33nijJCkhIUFVq1bNddvMzExt2bJF9913X47HbrzxRn3//fc6deqUrrnmGr3zzjsaNWqU7rzzTj3yyCM6f/68tmzZog0bNuiee+7Jt0YAAICSjODvRZo2baoWLVro448/Vs+ePVWjRo0CbRceHq6lS5fKZrPpn//8p3bv3q2XXnpJw4cP11tvvSVJeuCBB1SjRg3NnTvXGfzXrl2rd999VwsXLnQJvR06dFCXLl0UFxeXbxj++OOPNWTIkALVePlfGi53+PBhRUZG5hjPGjt06FCe2544cULp6elX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/rO+h4TYtGCB1L17oRcQlBh8Ps1FP83hrh4W6F9q37591adPHwUHB6t79+5q1aqVoqKiFBgYqJMnT2r79u1au3atli5dqm7duumll14ytcgGDRqoS5cuGjZsmGbPni273a6RI0eqX79+ioqKkiQdPHhQHTt21Pvvv68bb7xRf/zxhz766CN17dpVoaGh2rJli8aMGaNbbrlFTZs2NbU+AABKqzvucFyc6/PPHafsPHHCcSBvr17SnXdy0S7AmxQo+A8dOlQDBgxQXFycPv30U82ZM0epqamSHFfrbdiwoWJiYvTLL7+oQYMGbil04cKFGjlypDp27CgfHx/16dNHr732mvNxu92uxMRE55oof39/LV++XLNmzdKZM2dUtWpV9enTR0899ZRb6gMAoLQKDJQGDHB8AfBeBf7bXEBAgAYMGKAB//+vPjU1VefOnVNoaGix/EmnUqVK+uijj/J8vEaNGrr0cIWqVavqhx9+cHtdAAAAgDco8qK84OBgBQcHm1kLAAAAADcp9JV7AQAAAHgfgj8AAABgAQR/AAAAwAII/gAAAIAFFDr4Dx48WGvWrHFHLQAAAADcpNDBPzU1VZ06ddJ1112n559/XgcPHnRHXQAAAABMVOjgv2TJEh08eFAPPfSQPv30U9WoUUO33XabPv/8c9ntdnfUCAAAAOAqFWmNf1hYmMaOHav//e9/2rBhg+rUqaOBAwcqKipKY8aM0a5du8yuEwAAAMBVuKqDew8fPqz4+HjFx8fL19dXXbt21W+//aaGDRtq5syZZtUIAAAA4CoVOvjb7XZ98cUXuv3221W9enXFxcVp9OjROnTokBYsWKDly5frs88+09SpU91RLwAAAIAiKFPYDSIjI5WZman+/fvr559/VrNmzXLM6dChg0JCQkwoDwAAAIAZCh38Z86cqb59+yowMDDPOSEhIdqzZ89VFQYAAADAPIUO/gMHDnRHHQAAAADciCv3AgAAABZA8AcAAAAsgOAPAAAAWADBHwAAALAAgj8AAABgAQR/AAAAwAII/gAAAIAFEPwBAAAACyD4AwAAABZA8AcAAAAsgOAPAAAAWADBHwAAALAAgj8AAABgAQR/AAAAwAII/gAAAIAFEPwBAAAACyD4AwAAABZA8AcAAAAsgOAPAAAAWADBHwAAALAAgj8AAABgAQR/AAAAwAII/gAAAIAF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DVWFChXUp08fHTlypJiqBgAAAEoOrwj+O3fuVGZmpt5++21t27ZNM2fO1OzZszVhwoR8txszZoz+85//KC4uTj/88IMOHTqk3r17F1PVAAAAQMlRxtMFFESXLl3UpUsX5/1atWopMTFRb731ll5++eVct0lNTdV7772njz76SP/4xz8kSfPmzVODBg30008/6e9//3ux1A4AAACUBF6xxz83qampqlSpUp6Pb9y4UXa7XZ06dXKO1a9fX9WqVdP69euLo0QAAACgxPCKPf6X2717t15//fU89/ZLUlJSkvz9/RUSEuIyHh4erqSkpDy3S09PV3p6uvN+amqqJOnEiRNXVzQkSXa7XWfPnlVycrL8/Pw8XY7Xo5/mop/mop/mop/mop/mop/mysqdhmGY+rweDf7jxo3T9OnT852zY8cO1a9f33n/4MGD6tKli/r27athw4aZXtO0adM0ZcqUHON169Y1/bUAAACAvCQnJys4ONi057MZZv8qUQjHjh1TcnJyvnNq1aolf39/SdKhQ4fUvn17/f3vf9f8+fPl45P3SqWVK1eqY8eOOnnypMte/+rVq2v06NEaM2ZMrttdvsc/JSVF1atX1/79+01tvFWlpaWpatWq+uuvvxQUFOTpcrwe/TQX/TQX/TQX/TQX/TQX/TRXamqqqlWrliPHXi2P7vEPCwtTWFhYgeYePHhQHTp0UMuWLTVv3rx8Q78ktWzZUn5+flqxYoX69OkjSUpMTNT+/fsVHR2d53YBAQEKCAjIMR4cHMwH2URBQUH000T001z001z001z001z001z001xXyruFfj5Tn81NDh48qPbt26tatWp6+eWXdezYMSUlJbms1T948KDq16+vn3/+WZIjqA8dOlRjx47VqlWrtHHjRg0ZMkTR0dGc0QcAAACW4xUH98bHx2v37t3avXu3rr32WpfHslYq2e12JSYm6uzZs87HZs6cKR8fH/Xp00fp6emKiYnRm2++Way1AwAAACWBVwT/2NhYxcbG5junRo0aOY58DgwM1BtvvKE33nijyK8dEBCgSZMm5br8B4VHP81FP81FP81FP81FP81FP81FP83lrn569OBeAAAAAMXDK9b4AwAAALg6BH8AAADAAgj+AAAAgAUQ/C+zd+9eDR06VDVr1lTZsmVVu3ZtTZo0SRcuXMh3u/Pnz2vEiBEKDQ1V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VjiDflpamjZs2FDoMy15i4L2Mzo6WikpKdq4caNatmwpSVq5cqUyMzOdYb4gEhISJKnUfj5z4+/vr5YtW2rFihXq2bOnJMefrFesWKGRI0fmuk10dLRWrFih0aNHO8fi4+NL7c/JwihKPy+XkZGh3377TV27dnVjpaVXdHR0jtMj8vk0V0JCgqV+TubFMAw9/PDDWrx4sVavXq2aNWtecRvTfn4W5ejj0uzAgQNGnTp1jI4dOxoHDhwwDh8+7Py6dE69evWMDRs2OMcefPBBo1q1asbKlSuNX3/91YiOjjaio6M98RZKnH379hmbN282pkyZYlSoUMHYvHmzsXnzZuPUqVPOOfXq1TMWLVpkGIZhnDp1ynjssceM9evXG3v27DGWL19utGjRwrjuuuuM8+fPe+ptlBiF7adhGMYLL7xghISEGF9++aWxZcsWo0ePHkbNmjWNc+fOeeItlChdunQxmjdvbmzYsMFYu3atcd111xn9+/d3Pn75v/fdu3cbU6dONX799Vdjz549xpdffmnUqlXLuOWWWzz1Fjzmk08+MQICAoz58+cb27dvNx544AEjJCTESEpKMgzDMAYOHGiMGzfOOf/HH380ypQpY7z88svGjh07jEmTJhl+fn7Gb7/95qm3UKIUtp9TpkwxvvvuO+OPP/4wNm7caPTr188IDAw0tm3b5qm3UKKcOnXK+fNRkjFjxgxj8+bNxr59+wzDMIxx48YZAwcOdM7/888/jXLlyhmPP/64sWPHDuONN94wfH19jWXLlnnqLZQohe3nzJkzjSVLlhi7du0yfvvtN+ORRx4xfHx8jOXLl3vqLZQYDz30kBEcHGysXr3aJWeePXvWOcddPz8J/peZN2+eISnXryx79uwxJBmrVq1yjp07d8745z//aVSsWNEoV66c0atXL5dfFqxs8ODBufbz0v5JMubNm2cYhmGcPXvWuPXWW42wsDDDz8/PqF69ujFs2DDn//ysrrD9NAzHKT2ffvppIzw83AgICDA6duxoJCYmFn/xJVBycrLRv39/o0KFCkZQUJAxZMgQl1+iLv/3vn//fuOWW24xKlWqZAQEBBh16tQxHn/8cSM1NdVD78CzXn/9daNatWqGv7+/ceONNxo//fST87F27doZgwcPdpn/2WefGXXr1jX8/f2NRo0aGd98800xV1yyFaafo0ePds4NDw83unbtamzatMkDVZdMWaeTvPwrq4eDBw822rVrl2ObZs2aGf7+/katWrVcfo5aXWH7OX36dKN27dpGYGCgUalSJaN9+/bGypUrPVN8CZNXzrz08+aun5+2/y8AAAAAQClmmbP6AAAAAFZG8AcAAAAsgOAPAAAAWADBHwAAALAAgj8AAABgAQR/AAAAwAII/gAAAIAFEPwBAAAACyD4AwBM9d577+nWW2+9quc4fvy4qlSpogMHDphUFQCAK/cCAExz/vx51apVS3FxcWrbtu1VPddjjz2mkydP6r333jOpOgCwNvb4AwBM8/nnnysoKOiqQ78kDRkyRAsXLtSJEydMqAwAQPAHAORw7NgxRURE6Pnnn3eOrVu3Tv7+/lqxYkWe233yySfq3r27y1hsbKx69uyp559/XuHh4QoJCdHUqVN18eJFPf7446pUqZKuvfZazZs3z2W7Ro0aKSoqSosXLzb3zQGARRH8AQA5hIWFae7cuZo8ebJ+/fVXnTp1SgMHDtTIkSPVsWPHPLdbu3atWrVqlWN85cqVOnTokNasWaMZM2Zo0qRJuv3221WxYkVt2LBBDz74oIYPH55jTf+NN96o//73v6a/PwCwItb4AwDyNGLECC1fvlytWrXSb7/9pl9++UUBAQG5zk1JSVHFihW1Zs0a3Xzzzc7x2NhYrV69Wn/++ad8fBz7m+rXr68qVapozZo1kqSMjAwFBwfr3XffVb9+/Zzbjh07Vps3b9aqVavc+C4BwBrKeLoAAEDJ9fLLL6tx48aKi4vTxo0b8wz9knTu3DlJUmBgYI7HGjVq5Az9khQeHq7GjRs77/v6+io0NFRHjx512a5s2bI6e/bs1b4NAIBY6gMAyMcff/yhQ4cOKTMzU3v37s13bmhoqGw2m06ePJnjMT8/P5f7Npst17HMzEyXsRMnTigsLKxoxQMAXBD8AQC5unDhggYMGKC7775bzzzzjO6///4ce+Qv5e/vr4YNG2r79u2m1bB161Y1b97ctOcDACsj+AMAcvWvf/1Lqampeu211/Tkk0+qbt26uu+++/LdJiYmRmvXrjXl9c+ePauNGzde9cXAAAAOBH8AQA6rV6/WrFmz9MEHHygoKEg+Pj764IMP9N///ldvvfVWntsNHTpUS5cuVWpq6lXX8OWXX6patWouBwoDAIqOs/oAAEzVt29ftWjRQuPHj7+q5/n73/+uUaNG6Z577jGpMgCwNvb4AwBM9dJLL6lChQpX9RzHjx9X79691b9/f5OqAgCwxx8AAACwAPb4AwAAABZA8AcAAAAsgOAPAAAAWADBHwAAALAAgj8AAABgAQR/AAAAwAII/gAAAIAFEPwBAAAACyD4AwAAABZA8AcAAAAs4P8AxdWRtZS+2CoAAAAASUVORK5CYII=", | |
| "text/plain": [ | |
| "<Figure size 800x600 with 1 Axes>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "import numpy as np\n", | |
| "import matplotlib.pyplot as plt\n", | |
| "from matplotlib import animation\n", | |
| "\n", | |
| "# Constantes physiques\n", | |
| "G = 9.8\n", | |
| "L1 = 1.0\n", | |
| "L2 = 1.0\n", | |
| "L = L1 + L2\n", | |
| "M1 = 1.0\n", | |
| "M2 = 1.0\n", | |
| "t_stop = 2.5\n", | |
| "history_len = 500\n", | |
| "\n", | |
| "def derivs(t, state):\n", | |
| " \"\"\"Calcul des dérivées pour le double pendule\"\"\"\n", | |
| " dydx = np.zeros_like(state)\n", | |
| " \n", | |
| " # Extraction des variables\n", | |
| " theta1, omega1, theta2, omega2 = state\n", | |
| " delta = theta2 - theta1\n", | |
| " \n", | |
| " # Dénominateurs communs\n", | |
| " den1 = (M1 + M2) * L1 - M2 * L1 * np.cos(delta)**2\n", | |
| " \n", | |
| " # Équations pour theta1 (premier pendule)\n", | |
| " dydx[0] = omega1\n", | |
| " \n", | |
| " num1 = (M2 * L1 * omega1**2 * np.sin(delta) * np.cos(delta) +\n", | |
| " M2 * G * np.sin(theta2) * np.cos(delta) +\n", | |
| " M2 * L2 * omega2**2 * np.sin(delta) -\n", | |
| " (M1 + M2) * G * np.sin(theta1))\n", | |
| " dydx[1] = num1 / den1\n", | |
| " \n", | |
| " # Équations pour theta2 (second pendule)\n", | |
| " dydx[2] = omega2\n", | |
| " \n", | |
| " num2 = (-M2 * L2 * omega2**2 * np.sin(delta) * np.cos(delta) +\n", | |
| " (M1 + M2) * G * np.sin(theta1) * np.cos(delta) -\n", | |
| " (M1 + M2) * L1 * omega1**2 * np.sin(delta) -\n", | |
| " (M1 + M2) * G * np.sin(theta2))\n", | |
| " dydx[3] = num2 / (L2/L1 * den1)\n", | |
| " \n", | |
| " return dydx\n", | |
| "\n", | |
| "# Conditions initiales\n", | |
| "th1 = 120.0\n", | |
| "w1 = 0.0\n", | |
| "th2 = -10.0\n", | |
| "w2 = 0.0\n", | |
| "\n", | |
| "# Conversion en radians et création de l'état initial\n", | |
| "state = np.radians([th1, w1, th2, w2])\n", | |
| "\n", | |
| "# Intégration numérique (méthode d'Euler)\n", | |
| "dt = 0.01\n", | |
| "t = np.arange(0, t_stop, dt)\n", | |
| "y = np.zeros((len(t), 4))\n", | |
| "y[0] = state\n", | |
| "\n", | |
| "for i in range(1, len(t)):\n", | |
| " y[i] = y[i-1] + derivs(t[i-1], y[i-1]) * dt\n", | |
| "\n", | |
| "# Calcul des positions\n", | |
| "x1 = L1 * np.sin(y[:, 0])\n", | |
| "y1 = -L1 * np.cos(y[:, 0])\n", | |
| "\n", | |
| "x2 = L2 * np.sin(y[:, 2]) + x1\n", | |
| "y2 = -L2 * np.cos(y[:, 2]) + y1\n", | |
| "\n", | |
| "# Création de la figure\n", | |
| "fig = plt.figure(figsize=(8, 6))\n", | |
| "ax = fig.add_subplot(autoscale_on=False, xlim=(-L, L), ylim=(-L, 1))\n", | |
| "ax.set_aspect('equal')\n", | |
| "ax.grid()\n", | |
| "\n", | |
| "line, = ax.plot([], [], 'o-', lw=2, color='blue', markersize=8)\n", | |
| "trace, = ax.plot([], [], '-', lw=1, color='red', alpha=0.5)\n", | |
| "time_template = 'time = %.1fs'\n", | |
| "time_text = ax.text(0.05, 0.95, '', transform=ax.transAxes, fontsize=12)\n", | |
| "\n", | |
| "def animate(i):\n", | |
| " \"\"\"Fonction d'animation\"\"\"\n", | |
| " # Positions actuelles\n", | |
| " thisx = [0, x1[i], x2[i]]\n", | |
| " thisy = [0, y1[i], y2[i]]\n", | |
| " \n", | |
| " # Historique de la trajectoire (dernières history_len positions)\n", | |
| " history_x = x2[max(0, i - history_len):i + 1]\n", | |
| " history_y = y2[max(0, i - history_len):i + 1]\n", | |
| " \n", | |
| " # Mise à jour des données\n", | |
| " line.set_data(thisx, thisy)\n", | |
| " trace.set_data(history_x, history_y)\n", | |
| " time_text.set_text(time_template % (i * dt))\n", | |
| " \n", | |
| " return line, trace, time_text\n", | |
| "\n", | |
| "# Création de l'animation\n", | |
| "ani = animation.FuncAnimation(\n", | |
| " fig, animate, len(y),\n", | |
| " interval=dt * 1000, blit=True, repeat=False\n", | |
| ")\n", | |
| "\n", | |
| "plt.title('Double Pendule Animation')\n", | |
| "plt.xlabel('x (m)')\n", | |
| "plt.ylabel('y (m)')\n", | |
| "plt.tight_layout()\n", | |
| "plt.show()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 25, | |
| "id": "27a10698", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stderr", | |
| "output_type": "stream", | |
| "text": [ | |
| "MovieWriter ffmpeg unavailable; using Pillow instead.\n" | |
| ] | |
| }, | |
| { | |
| "data": { | |
| "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAFlCAYAAAAQ3qhuAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAcblJREFUeJztnXlcVOX3x993hgFBNlHZFBWXXFNxx33fyrTMrCyXr2mZVi79KtttM83SLM3KXLIss8XSzEJzSUVNjdxxDzdQQUFBYWDm98eRTQEZmGGG4Xm/Xvc1zJ17n3vmcudzn3ue85yjmc1mMwqFQqFwKnT2NkChUCgU1keJu0KhUDghStwVCoXCCVHirlAoFE6IEneFQqFwQpS4KxQKhROixF2hUCicECXuCoVC4YQocVcoFAonRIm7QqFQOCE2FfepU6fSsmVLvLy88Pf3Z8CAAURHR992v+XLl1OvXj3KlSvHnXfeyerVq21ppkKhUDgdNhX3jRs3MnbsWLZt20ZERARGo5GePXuSnJyc7z5bt27loYceYuTIkfzzzz8MGDCAAQMGsG/fPluaqlAoFE6FVpKJwy5cuIC/vz8bN26kY8eOeW4zePBgkpOTWbVqVda6Nm3a0LRpU+bNm1dSpioUCkWpxqUkD5aYmAiAn59fvttERkYyceLEXOt69erFihUr8tw+NTWV1NTUrPcmk4mEhAQqVqyIpmnFN1qhUCjshNls5sqVKwQHB6PTWeZoKTFxN5lMjB8/nnbt2tGoUaN8t4uNjSUgICDXuoCAAGJjY/PcfurUqUyZMsWqtioUCoUjcerUKapWrWrRPiUm7mPHjmXfvn1s3rzZqu1Onjw5V08/MTGRatWqcfjw4QKfEBTZGI1G1q9fT5cuXTAYDPY2p1SgzpnlqHNmOQkJCdxxxx14eXlZvG+JiPu4ceNYtWoVmzZtuu3dJzAwkLi4uFzr4uLiCAwMzHN7Nzc33Nzcblnv5+dHxYoVi250GcJoNOLh4UHFihXVj66QqHNmOeqcFZ2iuJhtGi1jNpsZN24cP/30E3/++SehoaG33Sc8PJx169blWhcREUF4eLitzFQoFAqnw6Y997Fjx7J06VJ+/vlnvLy8svzmPj4+uLu7AzB06FCqVKnC1KlTAXjmmWfo1KkT77//PnfddRfffvstO3fu5LPPPrOlqQqFQuFU2LTn/sknn5CYmEjnzp0JCgrKWpYtW5a1TUxMDOfOnct637ZtW5YuXcpnn31GkyZN+P7771mxYkWBg7AKhUKhyI1Ne+6FCaHfsGHDLesGDRrEoEGDbGCRQqFQlA1UbhmFQqFwQpS4KxQKhROixF2hUCicECXuCoVC4YQocVcoFAonRIm7QqFQOCFK3BUKhcIJUeKuUCgUTogSd4VCoXBClLgrFAqFE6LEXaFQKJwQJe4KhULhhChxVygUCidEibsFbNiwAU3TuHz5sr1NUSgUigJR4p4PnTt3Zvz48bnWtW3blnPnzuHj42Mfo4pB586d0TQt1/LEE08UuI/ZbObVV18lKCgId3d3unfvzpEjR0rIYoVCURyUuFuAq6srgYGBRapn6AiMGjWKc+fOZS3Tp08vcPvp06cze/Zs5s2bx/bt2ylfvjy9evXi+vXrJWSxQqEoKkrc82D48OFs3LiRDz/8MKuXe/LkyVvcMosWLcLX15dVq1ZRt25dPDw8uP/++0lJSWHx4sXUqFGDChUq8PTTT5ORkZHVfmpqKs8++yxVqlShfPnytG7dOs+iJdbGw8ODwMDArMXb2zvfbc1mM7NmzeLll1+mf//+NG7cmC+//JKzZ8+yYsUKANLS0hg3bhxBQUGUK1eO6tWrZ5VLVCgU9kWJex58+OGHhIeH5+rphoSE5LltSkoKs2fP5ttvv2XNmjVs2LCBe++9l9WrV7N69WqWLFnCp59+yvfff5+1z7hx44iMjOTbb79lz549DBo0iN69exfo8ujTpw+enp75Lg0bNrzt9/r666+pVKkSjRo1YvLkyaSkpOS77YkTJ4iNjaV79+5Z63x8fGjdujWRkZEAzJ49m19++YXvvvuO6Ohovv76a2rUqHFbOxQKhe2xaZm90oqPjw+urq5ZPd2CMBqNfPLJJ9SqVQuA+++/nyVLlhAXF4enpycNGjSgS5curF+/nsGDBxMTE8PChQuJiYkhODgYgGeffZY1a9awcOFC3nnnnTyPM3/+fK5du5avHQaDoUA7H374YapXr05wcDB79uzh+eefJzo6mh9//DHP7TOLmQcEBORaHxAQkPVZTEwMderUoX379miaRvXq1Qu0QaFQlBxK3IuJh4dHlrCDiF+NGjXw9PTMte78+fMA7N27l4yMDO64445c7aSmplKxYsV8j1OlSpVi2Tl69Oisv++8806CgoLo1q0bx44do1q1akVqc/jw4fTo0YO6devSu3dv7r77bnr27FksOxUKhXVQ4l5Mbu4xa5qW5zqTyQTA1atX0ev17Nq1C71en2u7nDeEm+nTpw9//fVXvp9Xr16d/fv3F9ru1q1bA3D06NE8xT3ziSUuLo6goKCs9XFxcTRt2hSAZs2aceLECX777TfWrl3LAw88QPfu3XO5oBQKhX1Q4p4Prq6uuQZBrUVYWBgZGRmcP3+eDh06FHq/4rplbiYqKgogl3DnJDQ0lMDAQNatW5cl5klJSWzfvp0xY8Zkbeft7c3gwYMZPHgw999/P7179yYhIQE/Pz+L7FEoFNZFiXs+1KhRg+3bt3Py5Ek8PT2tJlZ33HEHQ4YMYejQobz//vuEhYVx4cIF1q1bR+PGjbnrrrvy3K84bpljx46xdOlS+vbtS8WKFdmzZw8TJkygY8eONG7cGKPRCECjRo149913uffee9E0jfHjx/PWW29Rp04dQkNDeeWVVwgODmbAgAFkmMxMePktDF5+tGjenKbVKrB8+XICAwPx9fUtsq0KhcI6KHHPh2effZZhw4bRoEEDrl27xokTJ6zW9sKFC3nrrbeYNGkSZ86coVKlSrRp04a7777basfIiaurK2vXrmXWrFkkJycTEhLCwIEDefnll3Ntd/jwYRITE7PeP/fccyQnJzN69GguX75M+/btJSLo6CWmrDzA4d3nufLPItIvnUWn03Fn02asXr0anU4FYSkU9kYzm81mexthTZKSkvDx8eHixYsFDlAqsjEajaxevZq+ffve1r2zZt85xny1m5svmsxpXZ880ozejfJ29TgTlpwzhaDOmeXEx8dTqVIlEhMTC5yXkheqi6UoNBkmM1NWHrhF2IGsdVNWHiDD5FT9BYWiVKLEXVFodpxI4Fxi/qkHzMC5xOvsOJFQckYpFIo8UeKuKDTnrxQup0xht1MoFLbDpuK+adMm+vXrR3BwMJqmZeUkyY/M3C03L5kzIhX2xd+rXKG2q+Ch/KkKhb2xqbgnJyfTpEkT5syZY9F+0dHRubIX+vv728hChSW0CvUjyKcct8uJ+favB9l/NvE2WykUClti01DIPn360KdPH4v38/f3V7HSDohep/FavwaM+Wo3GuQ5sAoQHXeV/h9v4eludRjTuRYGvfL+KRQljUPGuTdt2pTU1FQaNWrE66+/Trt27fLdNjU1ldTU1Kz3SUlJgIRdZU7OURRM5nkqzPnqVrcSHz3YhLdWHyI2Kfu8B/m4MaxNdVZEneVQ3FXSTWY+iDjMH/tjmX5fI+oE5J9aoTRiyTlTCOqcWU5xzlWJxblrmsZPP/3EgAED8t0mOjqaDRs20KJFC1JTU5k/fz5Llixh+/btNGvWLM99Xn/9daZMmXLL+qVLl+Lh4WEt8xU3YTLDsSSNJCN4G6CWtxmdBukm+P20jrVnNEw3HDh6zcxdISa6BMs2CoWicKSkpPDwww8XKc7docQ9Lzp16kS1atVYsmRJnp/n1XMPCQnh3LlzahJTITEajURERNCjRw+rTS7593Qiz/2wj+MXk7PWNavmy7T7GlKjYnmrHMOe2OKcOTvqnFlOfHw8QUFBRRJ3h3TL5KRVq1Zs3rw538/d3Nxwc3O7Zb3BYFAXkIVY85y1CK3E6mc68P4f0czffAKzGXbHXKbfnEhe6F2PoeE10DlBN15dZ5ajzlnhKc55cviRrqioqHwzFyocjMQzcO1y1ttyBj0v3dWA7x4Pp3pFcZFdN5p4feUBhszfzqmE/CtBKRSK4mFTcb969SpRUVFZ6WVPnDhBVFQUMTExAEyePJmhQ4dmbT9r1ix+/vlnjh49yr59+xg/fjx//vknY8eOtaWZCmuQehU+bCLL31/k+qhlDT9+e6YDQ8OzKzVFHo+n96xNfLMjBidLb6RQOAQ2FfedO3cSFhZGWFgYABMnTiQsLIxXX30VgHPnzmUJPUjB5UmTJnHnnXfSqVMn/v33X9auXUu3bt1saabCGrh5gt4A1y/D5pm3fOzh6sIb/Rvx9WOtqeLrDkByWgaTf9zL8IV/E1tAWgOFQmE5NvW5d+7cucBe2aJFi3K9f+6553juuedsaZLCljQbBts/gQb9892kXe1KrBnfgbdWHWTZzlMAbDx8gZ4zN/L6PQ25N6wKmlb6ffEKhb1xeJ+7ohTR6x2oEAop8QVu5lXOwLT7G7NgeAv8vWQwPOl6OhO/+5fRS3Zx4UpqgfsrFIrbo8RdYT10Omj2KOxfkWtgNT+61gvgjwkdGdA0OGtdxIE4es7cyK97ztnOToWiDKDEXWFdmg6BjDTYu7xQm/t6uDLrwTDmPdKMiuVdAbiUYmTs0t089c0/XEpOs6W1CoXTosRdYV28AqFuH9i1GCyIgundKIjfJ3Skd8PArHUr/z1Lz1mbWHsgzhaWKhROjRJ3hfVpNhTi9sLZfyzarZKnG5880owPH2yKj7tM3rhwJZXHvtzJs8v/Jem6ykmiUBQWJe4K61O7O3hXgd2LLd5V0zT6N63CHxM60qVu5az13+86Ta+Zm9h0+II1LVUonBYl7grro9ND2COw93uZ3FQEArzLsWB4S6YPbIynm0Tsnku8ztAFO3jpp70kp6Zb02KFwulQ4q6wDWGPQFoy7P+pyE1omsYDLUNYM74D7WpnJ4H7ensMvT/cxLbjBYdcKhRlGSXuCtvgWw0q3QG/TrwlHYGlVK3gwZL/tebN/g1xN+gBOJVwjYc+38YbKw9w3ZhhDYsVCqdCibvCdqRclLDIjdOL3ZROp/FoeA1+e6YDLWtUACQYZ8GWE/T98C92x1wq9jEUCmdCibvCdnR+ATQdVKpjtSZrVCrPt6PDefmu+ri6yOV7/GIy93+ylWlrDpGarnrxCgUocVfYklajod0zELsHjNes1qxep/FYh5qsfro9Tar6AFIZ6pMNx7jnoy3sO6OKcysUStwVtqXZULieCAd+tnrTtf29+GFMW/6vV10Mekk2Fh13hQFztjBr7WGMGSarH1OhKC0ocVfYFr+aENoJdi2ySfMueh1ju9Tml3HtaRAkZcjSTWZmrT3CvXO3cDjuik2Oq1A4OkrcFban+XCIiYTzh2x2iPpB3qwY246nu9ZGf6N8374zSdw9ezOfbDhGhkkVBFGULZS4K2xPvbvAoyLs/tKmh3F10TGxZ11+erIttf09AUjLMDFtzSEGzdvK8QtFm1ClUJRGlLgrbI+LGzR9GP5dCkbbV1xqXNWXVU+15/GONcms+7E75jJ9Z//Fgs0nMKlevKIMoMRdUTI0Gw7XLsHBlSVyuHIGPZP71mf54+HUyFGc+41VB3h4/jZVnFvh9ChxV5QMlWpD9fZFSiZWHFrU8GP1Mx0Y3rZG1rptxxPoPWsTS7er4twK50WJu6LkaD4cTv4FF4+W6GE9XF14/Z6GLL2pOPeLP+1l2MK/OZdovRh8hcJRUOKuKDnq9wP3CrB7kV0O3/ZGce6HWoVkrdt0+AI9Z27ih12nVS9e4VQocVeUHIZyEHgnRM6B7Z/axQSvcgam3teYhSNaEuAtxbmvXE9n0vJ/GfXlLs5fsf2Ar0JREihxV5QsFw+D2QQb3rWrGV3q+vPH+E7cF1Yla93ag3H0mrmJVXvO2tEyhcI6KHFXlCwdnwO9G5Tzsbcl+HgY+GBwUz59tDmVPLOLc49b+g9jl+4mQRXnVpRilLgrSpaWI+G+z+DSCYjbb29rAOjVMJDfx3ek753Zxbl/3XOOnjM3EaGKcytKKUrcFSVPvbvAM7DYRTysSUVPN+Y83IzZD4Xh6yHFuS9eTWXUlzuZ+F0UiddUcW5F6UKJu6Lk0RskW+SeZZDqOIm9NE3jnibB/DG+I93q+Wet/3H3GXrN3MTGHMW5M0xmjiRqrNxzjshj8Sp3jcLhsKm4b9q0iX79+hEcHIymaaxYseK2+2zYsIFmzZrh5uZG7dq1WbRokS1NVNiL5sPAmCIC72D4e5dj/rAWvHd/Y7xuFOeOTbrOsAU7mPzjXn765wyd39/Exwf0TFy+l4c+30b7aX+yZt85O1uuUGRjU3FPTk6mSZMmzJkzp1DbnzhxgrvuuosuXboQFRXF+PHjeeyxx/j9999taabCHvhUhbp94e8FUi/PwdA0jUEtQvh9Qkc61KmUtf6bHTFMWBZFbFJqru1jE68z5qvdSuAVDoOLLRvv06cPffr0KfT28+bNIzQ0lPfffx+A+vXrs3nzZmbOnEmvXr1sZabCXrT4H3x1H5zaDtXa2NuaPAn2defL/7Xi6+0xvP3rAa4Z8y4AYgY0YMrKA/RoEJiVdlihsBc2FXdLiYyMpHv37rnW9erVi/Hjx+e7T2pqKqmp2b2opKQkAIxGI0ajGgQrDJnnqcTPV7X2uFQIxbzjczKCmpfssS1kcPNg3F1g0vf78t3GDJxLvE7k0fO0DvUrOeNKCXa7zkoxxTlXDiXusbGxBAQE5FoXEBBAUlIS165dw93d/ZZ9pk6dypQpU25Zv379ejw8PGxmqzMSERFR4ses5d6a+vu/Zy2dSTN4l/jxLeHfixqgv+12f/y1nfiDjudqchTscZ2VVlJSip691KHEvShMnjyZiRMnZr1PSkoiJCSELl26ULFiRTtaVnowGo1ERETQo0cPDAZDyR48pQ262T/Rs/J5TG0fLNljW0jFEwl8eWTnbbfr2aG16rnngV2vs1JKfHx8kfd1KHEPDAwkLi73pJG4uDi8vb3z7LUDuLm54ebmdst6g8GgLiALscs58wmARveh/2cx+g4TQOe40bnhtf0J8ilHbOJ18uqXa0CgTznCa/srn3sBqN9m4SnOeXKoX1J4eDjr1q3LtS4iIoLw8HA7WaQoEVqMhMv/wbF1t9/Wjuh1Gq/1a5DnZ5lS/lq/BkrYFQ6BTcX96tWrREVFERUVBUioY1RUFDExMYC4VIYOHZq1/RNPPMHx48d57rnnOHToEHPnzuW7775jwoQJtjRTYW+qtgDvYFj2iEPNWs2L3o2C+OSRZri55P7pBPqU45NHmtG7UZCdLFMocmNTcd+5cydhYWGEhYUBMHHiRMLCwnj11VcBOHfuXJbQA4SGhvLrr78SERFBkyZNeP/995k/f74Kg3R2NA2M1yD9Omx6z97W3JbejYLoUDt7PGfukGZsfr6rEnaFQ2FTn3vnzp0LLICQ1+zTzp07888//9jQKoVD0mky/P4C+NW0tyWFQtOyXS8tqldQrhiFw+FQA6qKMkybx+FaAmydLYW03SvY26ICydlpySn0CoWj4FADqooyTsuRYEqHXSVbRLso5MwTprRd4YgocVc4Dp7+cOcDUoIvw7FnMZpzBEMqbVc4IkrcFY5F+JNw5Swc+NnelhSIOVfPXcm7wvFQ4q5wLAIaQs3OUkTbAbNFZpLTMjWWqnBElLgrHI82Y+HsbskW6aDkGlBVjhmFA6LEXeF41O4OFetA5Mf2tiRfcj1UKG1XOCBK3BWOh04nvvdDv8Klk/a2Jk+UW0bh6ChxVzgmjR+Ecj4SOeOAmFScu8LBUeKucExcPaRS0+4lcD3J3tbcSs5oGftZoVDkixJ3hePScpTkm/lnib0tuYXcbhkl7wrHQ4m7wnHxDoJGA2HbPMhIt7c1ucjtlrGjIQpFPihxVzg24U9CYgwcWmVvS3LhwCH4CgWgxF3h6AQ1Ab9a8OMoh8r1nisSUvXcFQ6IEneF45OaBBlpsGGqvS3JIuckJuVzVzgiStwVjk/nyaB3BYO7w/hDzCpaRuHgKHFXOD4tR8LD38HlGDgSYW9rgJvdMkreFY6HEndF6aBmZ6gWDhvecYjee263jB0NUSjyQYm7onSgaeKeOfsPHF5jb2tuKtah1F3heChxV5QeQjtC9XYysGrn3rsZ+z89KBQFocRdUXrI7L2f+xeiV9vXlhvarlwyCkdFibuidBHaAWp0gPVTwWSymxmZbhnlklE4KkrcFaWPzpMhbq9dZ61mumWUtCscFSXuitJHjXYQ2gk2vGu33rs5q+dul8MrFLdFibuidNLlRTi/Hw7+YpfDK7eMwtFR4q4onVRrAzW72K/3blZuGYVjo8RdUXrp8iJcOAgHfirxQ2cGQqqOu8JRKRFxnzNnDjVq1KBcuXK0bt2aHTt25LvtokWL0DQt11KuXLmSMFNR2ghpBbW6wYZpYMoo0UObs0IhlborHBObi/uyZcuYOHEir732Grt376ZJkyb06tWL8+fP57uPt7c3586dy1r+++8/W5upKK10eREuRsP+ku29m5RbRuHg2FzcP/jgA0aNGsWIESNo0KAB8+bNw8PDgwULFuS7j6ZpBAYGZi0BAQG2NlNRWqnaAur0vOF7L7nee9b8VKXuCgfFpuKelpbGrl276N69e/YBdTq6d+9OZGRkvvtdvXqV6tWrExISQv/+/dm/f78tzVSUdjq/APFH4L3aJVbQQ7llFI6Oiy0bv3jxIhkZGbf0vAMCAjh06FCe+9StW5cFCxbQuHFjEhMTmTFjBm3btmX//v1UrVr1lu1TU1NJTU3Nep+UlASA0WjEaDRa8ds4KGYzJJ9HuxwDl0+iXY5BO/YnWtw+zMFhmIPDQO8GLuXAxQ1c3DBn/q2X1wxcqJB8hPTTu6Gc543PbuxjcJf3jox/Y1wM7mjXEjBvmkF606E2P6TJLBE6GpSN68wKZJ4ndb4KT3HOlU3FvSiEh4cTHh6e9b5t27bUr1+fTz/9lDfffPOW7adOncqUKVNuWb9+/Xo8PDxsamtJoc+4jkfaBcqnXcAj9TweaRcpn3oej7QLeKRdwMWUlrVtqosXhvQUNDIw/xfJtdgj6E1GdGajvJqM6MntvnABOgIczvv41128uejZgESP6lz2CCXRvTpGl/I2+75FoXblfjQ4u5wEU3k2r7Z93pnkZD2gkW40sroEjudMREQ4Rk7+0kBKSkqR97WpuFeqVAm9Xk9cXFyu9XFxcQQGBhaqDYPBQFhYGEePHs3z88mTJzNx4sSs90lJSYSEhNClSxcqVqxYdONLGlMGuvVvofv3K8xBYeDuC5f+Q0uMQUu+kLWZ2aUc+FbDXLka5gotwLca6b41MPtWB99q6Ny8MO9aiHnrh5jbPoNb8xHZ+wIZQIYpHdJTs5b061eJ/Gs94a2aYSDjxvrr6Fc9hZYSj5vORLCnmSpxq9CMydKWb3XMgY0xBza58doYylcq2XOWi76YdrWg4prnuOtOP8whbWx6tPej/4Lr1zC4Gujbt5dNj+UsGI1GIiIi6NGjBwaDwd7mlAri4+OLvK9Nxd3V1ZXmzZuzbt06BgwYAIDJZGLdunWMGzeuUG1kZGSwd+9e+vbtm+fnbm5uuLnd6jYwGAyOfwGlp8KJTXBwpWQ5vCHi2omNMkmncl24oxdUqA4VakCFGmjl/UGnK3gcr81oaDMaPaDPcwMDuLlnvzUaueJ+BJeQFrjkPGfJsbB5Jlr7CWgtR8qAZfwxOBeFdu5ftHP/QuRsqXEK4F1VCloHNYHgpvLqVbibuFVoNQr2fofLb/8Hj28CF1ebHSqnz93hrzMHo1T8Nh2E4pwnm7tlJk6cyLBhw2jRogWtWrVi1qxZJCcnM2KE9CiHDh1KlSpVmDpVih+/8cYbtGnThtq1a3P58mXee+89/vvvPx577DFbm1oyXE+CoxFwcJWUjEu7AhVCocmD8vn+n6D9RCktZ29ajsxth04Ple+QpfEDss5kgksnJA1v5rL9E7h2ST73DICgpiL0yRfgyB/QYZJtvp9OB3fPhM86w7Y50H6C9Y9xAzWJSeHo2FzcBw8ezIULF3j11VeJjY2ladOmrFmzJmuQNSYmBp0uO2jn0qVLjBo1itjYWCpUqEDz5s3ZunUrDRo0sLWptuPqeemZH1wFJzZCRpqIXbunod7d4F8/WyV6vmVfWy1Fp4OKtWRpdJ+sM5sh8VRuwd+1CJJvzG3442WodAfUaG99dQxqDG3GyMSmhvfKE48tyIpzV+qucEw0s9kBClJakaSkJHx8fLh48aJ9fe4JJyQl7cFVcGq7iFi1tlD/bqh3F/hWs59tN2G8MSjYt29f2z0um83w1wew9UPQu0ov3q8WNBsKTR8GT3/rHSv1CsxpDQENpbC2DbrX7d5dx5nL16ns6crfL/ewevvOSIlcZ05GfHw8lSpVIjExEW9vb4v2dbhomVJN7F7xnx9cJRkLXcpBra7Q/2O4ow+UL0UDvNZG06DjJFnMZvhvK+xeDOvfgT/fhLp9oNlwqNVF3D/Fwc0L+kyDZY9I1sgG/a3yFXKiskIqHB0l7tbg/EFYPhwuHBJBb9AfOj8veU/cPO1tneOhaZKTvUY7EeE938GuxfD1QPAJgbBHIewR8KlS9GPUu1tuqL89LzdYNy/r2Q+YVfoBhYOjskIWh6sXYNUE+KQtXDwi68pXgvs+E4FXwn573CtA68dhzBZ4bB3U7AxbPoRZjeDrB+DQr5CRbnm7mgZ9p8P1RPjzbaubrQZUFY6O6rkXBeN1iQjZ9L4MKPZ8C3QG2DrbphEaTo2mSZ6Yqi2g91TY+724bb59GDwDxS/fbCj4hRa+Td9qkppg7esSjRTc1GrmmpVbRuHgKHG3BLMZ9v0Aa6fAlbPQ8jHo9Dx4+MnnrUfb1z5nwc0LWoyQ5dwe2P2l5IzZ/IGU12s+TNwuhUmL0OZJ+HcZrBovTwbF9effQLllFI6OcssUllM74Ise8MNICLwTntwu/uJMYVfYhqDGcNcMmHQIBsyTMNLv/wfTQmFqVYicW/D+eoPEvp/9B3bmn4nUUpRbRuHoKHG/HZdOwvIRIuzp12HYSnhoKVSqbW/LyhauHtD0IfjfGhi7AzSdhDz+8TIc31jwvtVaQ7NhsO4NuBJrFXOy8rkrdVc4KErc8+N6IkS8Ch+3lLC9/nNh9EYI7WhvyxSV60KPKeAVJJOUvrxHBrZTr+S/T/fXJb5+zWSrmJDlc7dKawqF9VE+95vJSIfdiyT+2nhNUgG0expcHSsLYpknMzWCyQQ7v5Ab8ZG10P8jibi5GQ8/6PU2/PQ4hA2B2t1v3aYIqI67wlFRPfecZBjh8y7w6yTwqwlP7YIuk5WwOzI6nSQMG7NVomO+7J9/L77xYKjRAX4cBR80LFZhD1WsQ+HoKHHPJMMoA3Wxe+T9lVjwDravTYrC4xcq4yF9Z0h0zNy2cHxD7m00TQZXUxIg6TRsnlnkw6kaqgpHR4k7ZAt79G/QYqTMklTx6qWPrF78FkmT/GV/WDk+dy++Uh1o8pD8Xa3oOd9VtIzC0VE+95zCPniJ5DhRlG78QmHoLzd88a/B0bVwz0eStwbg3nlg8IB/lkDrMVC1ucWHUJOYFI5O2e65K2F3XjJ78U9ulYiaJQNy9+J7vytpl797VNJIWIiaxKRwdMquuCthLxtUqCG9+L4zJEHZ3HA4tl6qND3w5Y1JUSMszl+j3DIKR6dsirsS9rJFnr34Z8DVEwYtknkM624tsl4QmT13FS2jcFTKnrgrYS+7ZPbi73of9iyXbJ4ZRujxhiR927+i0E2Z1CQmhYNTtsRdCbtCp5OEbzl78YdWgos7/DgaLkQXqpms8mWq565wUMqOuCthV+Qkqxf/AcRsg/RrYM6Ab4dIEfPboAZUFY5O2RB3UwZ83lVKrjUbqoRdIeh0ksKg1ePyvrw/JJ2Bn5/MjnUsRBMKhSNSNi7No2uzZ54e+cO+tigcj77T4cGlcDVOiq4cXAlbZhW4S7bPXfXdFY5J2RD3f5ZIKgE181SRH/XukvKIqTdcMmun3Jq+IAdZbhml7QoHxfnFPfmi+NnbjYcJ++QxXKHIizvvh/4f33hjljGay6fy3FTFuSscHedPP7BnmRR2uHOQvS0pHqYMuBwD8UdlObgSzkZB1ZYQ2l4KTZ+NgsO/Q4eJ0GaMvS0unYQ9IqmeVz8LKfHw3VAY8RsYyuXazKzcMgoHx7nF3WyG3Uvkkbs0lsNLjpebU+THMtCXid4NzCYwGeG/zRC3D65dkmgPgDUviPiHdpSao1VbSLk5ReFoNQrSkmHta3B2N/z2HNwzO+tjc47BVtVzVzgqzi3uZ3fDhYPQ6y17W1J4TCY4sUGKQh/6VW5Quhv/pvKVYdSf4F0Vdi2UlLXtJ4iryWyGbXNhy2yo3lam1W+bCxumgs4V9HpoPgJ6vaMUqTC0Hw/GFNg4DXYvlhtks6FA7kAaNUNV4ag4t7jvXgLeVaBmF3tbUjiif5MwvJQEKB8A3V6DJg/CgZ+zhdy3mmybWYkoE02D8LGyZGLKgHNRsOReKRu4bS4c+1Mm8TR5ENy8SvTrlTo6T5YefOTH8MtTENAIqjTLyuUONopzN16DhOPiftuzHGK2QttnoP0ztjiawklxXnE3psC+H6D146DT29uagrl6AdY8L/a63PDturhC23Hy981CXlh0eqjSXG4Sm2dC/X6QeBp+e16iQYIaQ8JxdO0mAgFW+zpOg6ZBz7fkxvjPEqnS1eUl0ttOytrkSqqRDJMZvc5Cmc8w5h5DiT+W/Zp0+tbt174qNlRrI09m1dpAhVD1FKbIlxIR9zlz5vDee+8RGxtLkyZN+Oijj2jVqlW+2y9fvpxXXnmFkydPUqdOHaZNm0bfvn0tOqZ2eI2EtTV9uLjm2w6zWXzqmUWb7/0M0q5m99Ktxc03h8Qz4tb5630wm9D9+Tpud0y13vGcCU2DfrNh73JIvw7r3+b+zaGABwCH45JpP+1PXuvXgN6NgnLvazLJWElCDuHOFPFLJ7PHSFzcpaxjxVrQ+AF5rVhblgM/w6YZULsbuLjBf5Hwz1eAGTwDReSrhUP1cHmycPSOjKLE0MzmQk7FKyLLli1j6NChzJs3j9atWzNr1iyWL19OdHQ0/v7+t2y/detWOnbsyNSpU7n77rtZunQp06ZNY/fu3TRq1Oi2x0tKSsLHx4dLc3rg6+EKw1fZ4msVn5QEWNgHLhyC4DAY8j2Ur1SyNmybBxvewZyeRoYpAy18HPoO46GcT8naURrY8TmmNZPRmYwAhF2fxyW8AXHN6DCxod4KQs79LqkNTCYR9fTrsr/OBXyrZ4t2xVrZIu4VbNlU12uX4NQOiIkUsT+7W8ZYXL0gpFW22FdpDgZ3656HYmA0Glm9ejV9+/bFYFAD/IUhPj6eSpUqkZiYiLe3t0X72lzcW7duTcuWLfn4Y4kfNplMhISE8NRTT/HCCy/csv3gwYNJTk5m1apsUW7Tpg1NmzZl3rx5tz1eprgnvuCF94OfiW/Z0Ug8I37w+CMS9eITIjH4dsJ45SInvnqGOvHr0Azu0GGS+OVvCv8ry2SYzHR+93cWXR9PLd05AO68Pp8reFCZy8w0zKW9/sb/UO8mIZVZIl5bxkpsFbFkvC4Cnyn2p7bLU6vOIB2HTFdOSGu7Ro0pcbec4oi7Td0yaWlp7Nq1i8mTJ2et0+l0dO/encjIyDz3iYyMZOLEibnW9erVixUrVuS5fWpqKqmpqVnvk5JkhqHZUB5jnT5gNBbzW1iZ+KO4LL0fAFP7Z9H9uxRT+NOY7GinUe/BweAHCLnvTVy3zUT3x8sQ8SqmsKGY+rxnN7scie0nEjiVlEFfprLZ7Wkqa0nsdnucJ43P8I5hPqDxRXpvhnjvwdBxAqbmI3I3YEJCV22CHoJbytLmaRlIv3AQXcw2tNPb0PZ8h7ZVQjnNlethqtoaMtLQndiIqV0ettoI441r3Ohov0kHpjjnyqbifvHiRTIyMggIyD1YFxAQwKFDh/LcJzY2Ns/tY2Nj89x+6tSpTJlya6GFGM9mHI/YUDTDbYRPygnCj83gios3kbX+j+tX/aDWOxAHrF5tb/P4Y9teoDs9XX7BPf0y+t0LOX/sX/ZWGcI1t8r2Ns+u7LqoAXpScaVj6iz2uY3EoGXwuesHbDfVY2zaM1zEh/8qZtA8zuwQ/08IBrf7oPa9eKRdxC/5MBWvRlPxYARe188CkBHxGr+fq4BJ51piVkVERJTYsUo7KSkpRd631EfLTJ48OVdPPykpiZCQEIKrVaeehYOwtkQ7+Rf65e9hDqiH7oGldHWgSVVGo5GIiAh69OiBwWBAFxCHeeuHmGp2IfDYWgIPvyw9vDZjZVCvDFLxRAJfHtkJQAWucsRclXqapCbw5xKXKQ9Azw6taR3qOP/b/MjY+iG6LTMxpCVz98kpZHR5GXOD+2wafXPzdaa4PfHx8UXe16biXqlSJfR6PXFxcbnWx8XFERgYmOc+gYGBFm3v5uaGm9utguNy6BcMhrlFtNzKnNoBSweB3gXtzvvR+Thm2KHBYJAfXZvR0GY0epCC0hunof9rOvq/P5Mff+fJZS5HT3htf4J8ytHoyhbeM8zjKu78L+1ZFrjOIFQXx++uzzG03EeE1/a3PCzSHnR6VpaLRyDiNVxWPA5/fwY935bBWBuSdZ0pbktxzpNNE4e5urrSvHlz1q1bl7XOZDKxbt06wsPzvoDCw8NzbQ/yGJff9vlh9nAQN0LiaSkAodNL5ETkHHtbZBluXhLr/cRmEfrkC/DHy3D1vL0tK1H0pjS+CVnB567vs8NUj7tS3+FPUzPOmqWXXksXy7dVlqMvBbqei0p14KGlMGwVmNJhYW9Y9oiEbCpKNTbPCjlx4kQ+//xzFi9ezMGDBxkzZgzJycmMGCGDOEOHDs014PrMM8+wZs0a3n//fQ4dOsTrr7/Ozp07GTdunEXH1RJjZHahPUlLhm8ekolJXV8u3SmH/etD76ngfsPl8HEL2LVIQv6cnfhj8EUPapz4lgNNX+I19xdJxBOAOekDskIiQ058Jzc+2wag2YbQDjBqg8y1OPMPzGkNv70gIbuK0om5BPjoo4/M1apVM7u6uppbtWpl3rZtW9ZnnTp1Mg8bNizX9t999535jjvuMLu6upobNmxo/vXXXwt9rMTERDNgTnzBy2yOXmOtr2A5JpPZvGyo2fxWkNl8bq/97CgEaWlp5hUrVpjT0tIKt8PVi2bzT2PM5te8zeYvepnN5w/Z1kB7sme52fx2FbP5w6Zm85l/zGaz2ZyeYTL/FR1rfmX+z+a/omPN6Rkms/m7YXI+XvM2m9dPtavJxSYtxWzeNEO+99QQs3nLR2az8Xrxm7X0OlOYL168KHqWmGjxvjaPcy9pMuPcL79TH5/GfeGuGfYxZMM02PAODP5Kpv07MEWOPz6xCVaOl2n07SdIfLyzxManpUhKiN1fSrrou2fmysVzyzm7egHmtpY0wSC+67aWPW06HFfPS+K5XYvBNwS6vw4NBhR50FXFuVtOceLcnbZYhym0k5TXswe/PCPCfkcfhxf2YhHaEcZsFWH/awZMrSJ5a0o75w9Kzd09y+Gej+G+z2+fZM2zMvSZLn9XrA1/vAQ7F9reVlvi6S83tTFboVJdWD4cvugpAQIKh8dpxd0c2gkunSj5gaHE05IiFiTPurNjKAddXxIhMKXD9nnw/Ui4Enf7fR0Ns1l66p/dyCI6ej00e7TwPdVGA6HuXZJorNH9sGqC3CBKO/71YMh3MPRnyVj5RQ8R+oQT9rZMUQDOK+7VwkHvWrK9d7NZ3BRuXpJquLQOnhaFjs/JgHGTh+D4evi4Jez4XGZLlgauJ8EPj0lq38YPSN58//qWtaFpcPcHkudF08m5+OlxycvvDNTsDI9vhP5zIWYbzGkFv78kuW4UDofTijuunpJA6UgJzobbuxyORkih5YkHylYseMuRkh/n3nkwbic0HCCl6uZ3g7P/2Nu6gjGb4dOOknI57FGpuuTqUbS2vAKh97uw9zuof7dUAVs+HI6tt6rJdkOnh7Ah8NQu6Ph/4nqaHQbbPoH0NHtbp8iB84o7QO3ucHKzPEramqsXxN/caCDU7WP74zkyHn4ikP/7Q/KWf9YF3qkCWz6yt2V5ExMpLjzMcHxD8dtr8hDU7gG/ToK7PpCxia8HwXt14O8vit++I+BaHjo9B0/vhvr3wO8vyoDyyvEws5HzfM9SjHOLe50ekH4N/tti+2OtuTGQ2Hua7Y9VWqjWGkZvlBTCaVch4hXY/hlkpNvbstxsmwvl/a03D0HToN8sSL0K66bAA0vETZN8Hja8W/z2HQmvQLmRP7FZctLvWgiJp6QmgcKuOLe4V64nvu+j626/bXE4tFoe6ftMk6gJRTZ6F+j2KngHS67x356Dee2l3J8jcOmk+MS7TBa3krVcaT5VpXbvP0vkyaDHFEkFfC2hZF2FJUVAQ3jkBwkbBSjnLeGkCrvh3OKuaeKaseWPKfJjWDYEKtfPvrAVuWk5EiYehJF/wOgN4O4r+ey/ecj+09y3fypPFo1tkPe/2TAI7QQrn5H87i/EQJ2e8r0P/Gz94zkCA+fDw8sh4SQsvlvclQq74NziDiLu8Ufg/Xq28QOuf1cKblxPVPUsC0NwUxjxG9y/EGL3ShqDd6raxx9/PUmKqDcfUfQB1ILQNHFZpCTA2tclbPSBL6HBPTLIGvWN9Y/pCNzRE0aslrDg+d0kOZmixHF+ca/ZGdDgyjmZaGNNEs/IYK2bN3R81rptOzOaBo3ug3F/S1RT2hXxx//1fsk+yv/zlYzJtBplu2NUqCEzO/+eDyf+kmpM930uPfkVT0i4qDMS3BQeWyt5lb7oIRWiFCWK84t7OW+ZFq/pIO0aXIi2Xtub3pP2J+wvW2GP1sLgLsLnHQw12sP6qRJWt3OBRNnYElOGTLhqeK8c35a0fAyqtYVfxkkyOZ1eim63HiPhoptn2fb49sK3Goz8Hfwbwpf90Q46qSvKQXF+cQfo9gqM3wveQTd6EVuL32bCCRksaz9eBF5RNDL98cNXSU++ZidYNVGyEu7/yXYZFqNXw+X/oM2Ttmk/Jzod9P8YrsTCn2/JOk2TLJsd/w/WvgZ/vl06s0neDvcK8OiP0OAeXH4cSa2435zzezogZUPcQaIXRvwGgY3hy/6w78fitbfhXfCoCC1t+Ehf1vALlQlgT/wlhaWXD4c3K8Ovz1pfECLnQkgbqNLMuu3mR8Va0PUVmewTs13WaZqkgu4+BTZNl1hxZxQ+Fze49zMy2o6n0dlv0P0xufTMXC7FlB1xB4nSeOQHyWz3/QjY+lHRfkznD8GeZdLrssVAXFkn8E4Yslxiz01G+PtzSVh1fKN12j/7D8RshfAS6LXnpM0YqNoCfh6be2Jd+/HQd4bE26982jmFT6fD1OVlokKGo9u1AJY9qkIlbUzZEne40Yv4FNpPlMIKvz1v+Y9pwzsy4aXZMNvYqBA6vyDnudXjkpTsy3tg0d3ZPd+isu0T8QfXu9s6dhYWnR76zxF30M2TmVqNggGfyCDvj6NtP+ZgJ/6r1JWMQV/JTGAVKmlTyp64g/hAu78mU8P//hy+G1r4FAXn/pUY5c7Pg0vJVYwvk2Tmq+k7XRJ5PbhUwgoX9IS3AsRPbSlJ52TCWavHRWxLmsp15aa15UOYcUfu8NymD0uI6IGfb1yT10vevhLAXKcnjPgVLp+CL7rDxaP2NskpKZvinknLkSIYR9fB4nsguRCVxleMAZ1LyeSrUWSjaZKE64nNMtaRfl381KsmWNb7+/tzCc9r9qjtbL0dbZ+Ra+hq3K3T9BsOgIe+kRm83wy2f6lIWxEcJqGSejcR+Jht9rbI6Sjb4g6S5Gv4r5BwXCJpEo7nv+2l/yBuv7gItnxYcjYqstHpoMtLMkBe/x7phc8Og78+uH1PNy1FshiGPSqzUu2F3iX75tJgwK2f1+kBQ76H0zthyX0yQc4ZqVA9O1Ry8T2wf4W9LXIqlLgDVG0Oj91IUTC/B5zelfd2uxZKr8+7atnK1e5otBwpcwsGL4GnoyQF7fq3ZRby9Fr5z0Tes0xyj7ceXaLm5knf98G/AVw4mPfnoR2kOMaFg7C4X+GeKksjmaGS9ftJdNTWj50zYsgOKHHPxK8mjIyQ10V3QfRvuT9PT70xVX04TFSTlhwGDz9J2PbkdpltmnIRIl69NRLDbJaB1Hp3yf/Y3uh0Mrnu6Fo4szvvbaq2kKfKxDOwqK/EyTsjLm4ya7f9eClPuOYF54wYKmGUuOekfEUY9gvU7gbfPpy7B3hwpQhHi//Zzz5F/lSqDb3ekZ5g+nX4vAvE5ihzeGwdXIwumUlLhaXhveBXS9Iu5EfgnfC/NZB6BRb0lmLkzohOJ7OV7/oAdnwmA8oqVLJYKHG/GYO7JHdqOQp+nSgJn0wmyQ1So4NEOygck5Yj4fmT8MQWGbD8vCtsmye99si5MoGtelt7W5mNTi/uvUOrIO5A/ttVqiMT8DDDvA7wfl3nLYbRciQ8eGNAeXE/SL5ob4tKLUrc80Knl0f9nm9JNMMbFSQnt3LFlA7868Fj6+Qpa83z8Ja/9NzDxzpe5s7GgyWWf/MHBW9XoTqMWCNFT67EwkYnLgpTt7e4oy7HSJ1WW2V0dXKUuOeHpkHbp2SWZCY7Ps/fP6pwLAzloM+74O4nBasBrjlg1ImLK7R7RqJ+bpfb3jsIur0uhd9TEuBICRZ/L2mqNJNQyWuXb2R0vc3NT3ELStxvR/sJgAZewZASL77c74apiRelha4vZ//95xuOGYkR9giUr1y40nTtnoLn/5NxoW8Gw7/LbG+fvahQXQad0aB8Jcf83zkwStxvx5ldgFnSto7ZKtPHT++Ux8WVz8iMR4Xj0nIkBDWVv9OuSiSGo4mEwR3Cx8G/38qszdvh6gGDv4YmD8JPoyVHkrPS9SUYtBDORUnVM0WhUeJ+Ow6ulNddC8UXH/YIPLVLamIe+Fkm0KydIo+PCsfEL1SKttz1geRwfzfE8Xy4Lf4Hbp6wdXbhtte7wD0fS8/2j5dlMZlsa6O9aHgvtBsvIa7WSh5XBlDiXhApCeKvda+Qe9KSoZz445/5VzILbvsEPmwCW2Y7bT4Qp6DlSCjnK2GF69+xtzW5cfOUMM3dX8KVuMLto2lSfLz3NJn8s2KM0yYco9urUo92+XDnDQe1MjYV94SEBIYMGYK3tze+vr6MHDmSq1evFrhP586d0TQt1/LEE0/Y0sz8Ofw7YIYnt+UdKVPORy66Z6KkbNza1+GjZjLZKSO9hI1VFIpur4KLOxhTIOmsva3JTatRoDNY7n5o84QUpt73gxTfdsZ8NDo93L9AboLLHlG5nQqBTcV9yJAh7N+/n4iICFatWsWmTZsYPfr2U79HjRrFuXPnspbp06fb0sz8iV4NVZqDV2DB23kFwt0zpZJQSCspp/ZJWzi4yvH8u2USLfv/kJm6oJwP/PS4Y7ky3CuIwO9cIE+NlnDn/ZIDPyay6OkKzGZJwuaowunhJ2MNFw5Lwjj12yoQm4n7wYMHWbNmDfPnz6d169a0b9+ejz76iG+//ZazZwvuMXl4eBAYGJi1eHvboYyd8bpki6zbt/D7VKwFgxbB6A0StrZsiBSZOLnFVlYqikL5inDvPClYXVgfd0kRPja7vqul1Ooi5Qovx8CCXpa7L4wpMKM2vB0M3zvonI6gxnDPbPj3G+ctLm4lXGzVcGRkJL6+vrRo0SJrXffu3dHpdGzfvp177703332//vprvvrqKwIDA+nXrx+vvPIKHh55VzxKTU0lNTU1631SUhIARqMRo7Ho/kft6HpcjMkYa/cCS9up3Age+h7txEZ0f76BblFfTLW6k9HlFQhoWGSbbEXmeSrO+XJk9GYTmM1k5Px+Ie3QhY9D9+ebZIS0xRwcZlGbNjtnrj7owoai2z6P9JZPgJuXZftXbgRDf8Xlmwdgfg/SH/pOEpQVChcMAJgw7/uB9P5FuMEUgNXOWf170bXaie73yWRUqoe5WrgVrHNMinOubCbusbGx+Pv751rn4uKCn58fsbH5J0B6+OGHqV69OsHBwezZs4fnn3+e6Ohofvwx75qnU6dOZcqUKbesX79+fb43hMLQOGYh/q7+rN1xDLQC0gDfjsAJBJf7mzv/+5Jy8zuR5BbMweBBxPqEgeZY49kRERH2NsEmND97Drf0K2xdvTrXes0URke3qpRbch8mzcCRwHs4WamrRW3b4pyVS6tP99RkDi99nqMBRasW5VZ1Im2OzaD8gt5sqzmBBM/Cpc24B9CADM3A6pvOl7WwxjnTzK1p67ERz2+GsLHuG1x39bOCZY5HSkrR8+toZrNljqsXXniBadMKnvp88OBBfvzxRxYvXkx0dHSuz/z9/ZkyZQpjxowp1PH+/PNPunXrxtGjR6lVq9Ytn+fVcw8JCeHcuXNUrFixUMe4BbMJl9mNMTUYgKnHW0Vr4yZcPmqKlnQas94VLSMNs3dVTM2GY2o6RCaw2BGj0UhERAQ9evTAYDDY1RZboP/pMUhJIGNIHh2E+KO4zGuDBpi9q5L+VFSh2rT1OdOtnoguejXp43aDoYidlNQr6Jc/inb6bzLu/RxzIVyMLm/LtWhucC8Z935WtOPmg9XPWfIFXL7ohtkriIxHf5Hskk5GfHw8QUFBJCYmWuyetrjnPmnSJIYPH17gNjVr1iQwMJDz58/nWp+enk5CQgKBgbcZoMxB69atAfIVdzc3N9zcbv2nGgyGol9AZ3bB1Vj09e9Gb60fboeJsHkmWvsJUKUZ2o756DfPQP/XdCnY0GoUVG1p19wnxTpnjoxOD5qGLq/vFlgf6vSCI7+jhT1i8fe32TnrMBGivsaw5xuJhikKBj/Jlf7jKFx+GC6D/s2H32Yn6etpZ/7O+3xZAaudM99gePArtAV90K19Cfo5XwGd4pwni8W9cuXKVK58+55meHg4ly9fZteuXTRv3hyQXrjJZMoS7MIQFRUFQFBQkKWmFp317wAaXDgkRROsQcuRucMpB8yBnm9C1NeScXLvd5K1sOVjcOcgmYWosCIFPKA+sBjmtoFT2yQCwxGSi/mFynWw5UNoMaLovVIXN6nL+ttzMqP66nno+H/5f0fNRcINS0sxmirN4a73JUItOKwQN6+yg82cvvXr16d3796MGjWKHTt2sGXLFsaNG8eDDz5IcHAwAGfOnKFevXrs2LEDgGPHjvHmm2+ya9cuTp48yS+//MLQoUPp2LEjjRs3tpWpt3JiE2C2fSk9Dz+ZDPXUP1JWzStIfoAf1IM1L94+kZTCOhjcoc90OL4BDqywtzXZdJgoSbP+/aZ47ej00HeGlCdc/zasfraAYhilMLyw2aMyw3f1/8Gpv+1tjcNg0xG9r7/+mnr16tGtWzf69u1L+/bt+eyzbD+e0WgkOjo6a9DA1dWVtWvX0rNnT+rVq8ekSZMYOHAgK1eutKWZuTGZ5Pou51NyvRed7kbdzO9kQlTz4fKD/qgZLLkXDq1WlWlszR29JOx1zYuQWvBEuxKjcl1ocI8kFCvupDhNg07Pieti5wL4foRUF7sZcwZcv1y4JGaORO9p0nP/7tHCz/B1cmwWLQPg5+fH0qVL8/28Ro0a5BzPDQkJYeNGO+eOuHQCTGlw/7eSea+kqVADerwBnSfD/p8klvfbhyTnd4sR0GyYZMhTWJ/eU2FOa9j0nuQOcgQ6TIJPO8rs0yaDi99e8+HgUQm+/x/MbSulCTtMEpdhZgfC3a/0uGUycXGFQYvhsxspCob9AnonHD+yAMeKxXME4vbLa+Cd9rXD4A5NH4bR62HUnxDaETZMgw/qw4+j4dQONUOv0BTSh16hhghd5MdwIfq2m5cIQU2gcn34eaz1kp3Vvxse/QkSjkHSGdg0Q9Zn5r3v/W7pLEzjHSRV1E7vgN9fsrc1dkeJ+83E7ZPQRE//229bUlRpDgPmwqRDkp88Zht80QPerARfDYRz/yqhtxZtnxaX3LwOjpM5MvkCmIzWrb5Uo92NgVW9pEI+tyc76djvkx3nu1tKtTZSRW3HpxBVzLGKUo4S95uJ2w8BjextRd54+EnVnqej5AZkSpcUCZ92lKyUf7wiueaV0N9KYc+JoRygQUaq42SO7Py8THirXN+67XZ9CSYekMichX2klitIUZrS5nPPSYuR0PQRWDUezkbZ2xq7ocT9ZmL3QqCDinsmOp345H1CoO90ecSu1QWilsL8bjCzEayZDP9FOlZirNJClxezQw/T0+xrC0Cr0RIie+GQ9QfWvQJh+Gqo3k5SBoN0HEqbzz0nmibhkf71JYNkUZKoOQFK3HNyPQku/+e4PfectBwJE/bJD79WV4mCePYwDFsFdfvAvh9hYW/x0f86ScI7VRriwtFyJIxaD9cSYKeDuCcaPwhXY2+E6VoZN094cClk5mjxbyChhaUZQzkY/JVkuPx+eJm89pW45+T8AXktDeKeFzq9TLq6awZMPAj/+x0aDYToNZIG9v268MvT4spx1qIOeVGUSUkBDaHZUNjwruXpd21BlWbgVwv2fGeb9vUu0ONN+fvERvhxVN6hkqUJn6qSpfXkFlj3ur2tKXGUuOckdq8US6h0h70tKT46nQwu9X5HeviP/QlhQ+SH+9V98F5tWPGkFCQp7T9iW9HlJXGDbLRTPYGcaBo0HgwHf4G0oieTKpB9P8hr3bvgwC+w5D64dsk2xyopQjtAz7ekzuz0mqV3oLgIKHHPSebF/c8S+9phbTQNqjaX+Pmno+Dxv8SHe2oHLH0Al/drclfUY+h/GgVxB5SfPhNPf5kl+vfncPGova2BxoMksiXaNtka2btcXs9FwdCf4fx+qUdw6aRtjldStBkjyddS4uGvD+xtTYmhxD0n56Ik5Kw0RwrcDk2TggfdXpHKUU9uA70bLuY0tAM/wSfhMD0Ulg6GzbPkBuAIg4rFIf6YfI+i9NraPAlewRDxivXtshS/mlC1FexZZpv2a3eX1/bjoXo4jFwrse/zu0syvdKKpsn8BYBqhc9rVdpR4p6TyvVB71a6IwUsQdPAvz6mLq+QYqiIqcfbMPQX6emkXxd3xBc94N1qsOhu+PMt8denXrG35ZYRf1RCG4ty0zaUgx6vS2/5uJ1nT4PMUj26TsrhWZugxmAoL4P0AJVqw2PrZHLXorslDUZppeOz0KC/xPOXkSdTJe45qXSHTBgqjbPzioGp+QgiGs3E1OpxqNkJOr8gj+Uv/CezY7u+LBN7di4Qf/271eHTThJueeAX2wiNNcnMFNjwvqLt3/A+Scf8x0v2z/HT8D65Ke/Pu3hNsbieKP/nnJSvBMNWSiqOZUNKd2m7Nk9C/BE4ts7elpQINs0tU+rQuUjiJIWgN8jNrkpzaDtOJgJdPAz/bZVCzAdXwba5sm3F2hJKV70thLSGCqEyqOsIdHsNdi0uehplTYNeU+GL7jIQ3fVlaDrUujYWFg8/qNNTXDOtH7du23mJO0gqjEGLZZLc6mfFB9/jTcf5/xaWkNaSXGzbXEnU5+Qocc+JTi+zPhV5o2mSqbByXUliBpB4WtIhZAp+5mC0zgUq1ZVH+4p15Kko8+9yJVzwXO8iTyRH18lTSVEIaSmDctcSZFDOXuIO0PgBSY518QhUqmO9dk/vlHwzf39x69OrTi+RVxWqw2/PQ+IpuPdTEf7SgqZBm7Hw42Nw/qBMcnJiStmt18Yocbccn6pw5/1w9wfwZCR4V5H1rp4yeJWSIAVJfhoNn3eFd0Ngxh2w8C5YOR4i58DhPyDhuG1dHrW7wZmdxQvtaz9RXu1d5PyOPuDmbf2Y97h9MoBa0NhE68fhwa/lf7b4Hki+aF0bbE2D/lI3Ybt1i387IqrnnhOdS5kZbLEZHSaJOLSfkLv3dz1JBjbjj0qPM/6I9BT//VbSzgLoXSUipFId6eFfOSe97Rb/E1Fxr1D0Kkm1uoHZJIOiDQcUrY1O/wdpV8TvfOVc0dqwBoZyIlJ7lkmqBGtVjvL0l6n6twsoqHcXDP8VvhksA+5DvoeKt5bAdEhcXCUMeNN74q7zcM7C2qDEPTea6rkXm5vLCWZSzltmWVZplnu9yQRJp28Ifg7h3/OdrAfY+K4sOoMM8GVm7SxfOXvJ+d7THzwq5s7n7RsirqFjfxZd3EF677uXoN/4Luh6Fb2d4tJ4sLjATu2wYnifBq1HFy6goGpzGBkBXw+SUMmHvi09YYbNR4i471wgUTROihL3nCi3TMmj04FvNVluLo6y7RMpddhoIIS0kvqfyRdkuXoeEk7Aqe0SrZOWR3imu58I/LXLIuwXD8viGwLlfOVJoJwvuPvmeO8jPvr8cPeFzpPRfnsO73p29NlWbwfeVaX3bi1RTb4oN8fC4hcKI/+Q5FyL+8F9nxXvxllSlK8oN8e/50uKZxdXe1tkE5S45yTugFRiymtASVHytBkjS2EwXssh/Ddek8/L4GdGqjwNZPLnWzdccPncyF29cgi+r9wcLh2Ham2lHF/5imiYaXl8NhiHgiGPCBNbo9PJjNVdi6S4RnEFKi0FjMlSpckSPPwkK+mKJ2WQN/FNCB/nGEXGC6LNGNi9GA78LOfRCVHinpOzu+UH/9f7StxLGwb37CeAnJTzzR4DaPIgTKshaRhaPwFpyVIv9Nrl/F+vXYLTf8ukrmN/wvH1WTcFz7TzML2a3Aw8/cEzII/XG397BUJ5f+uGDzYeLN/taIT4wYtDyo2B0aKUcHRxg/s+l3P/x8uwfip0exXaPFE8m2yJf32o2QW2zZGAAEe/GRUBJe456fAsRLxs/xJ7Cutx8xhAtXAZpG0zRlLdunlKxE9B/P1F9g2i+Qi4fhnjpdMYPu8gn3ecJHlLrp6Hq3Hi+rkaJ+tyonOR+QAVQsWlkfPVt5rlvW//+nKt7llWfHFPvjERzRK3TE50Ouj+mjxJXEsQka/bW2a3OirhY+Hr+608buE4KHHPSbunxC1z8BcwXr9RlUfhVNTuJj1LS/6/N98gPPzA4MXGuq/TKfp1eTrIK8Ikwyii+VlnEXtXT6mFm3ACjvwBl/6TXEYglZa8q4JfjbzFP7+5AY0Hw7o35SnD3bewZ+FWom4Usj+6VtIQFJWuL0s5QJNRZjEPnO+4E4ZqdZOorG1zlbiXCdo8KaPoe7+TfN4K56JWN4h4FU5tg5qdi9XUZY+amBoNQrf+HXm0d/PKvYHeAN7B0On5vMNDTRlSoDrhhHQqLp2Uv89Fwf4VkJqYva1HRXAtL4OetbpAs2HSc290v3yfg78U73rNzIi68wvJhFlUMm+E1y7Bj49LNE3nyVKv1dHQ6cR1tPr/4HLMrS69Uo4S95upVFsqGUXOgbBHndIXV6YJaCh+8KPrii3uABmdX0J3aKVE9XR9Oe+N8gsP1elzjBN0yv2Z2SwCmSn8CSfkBmFMkQReh36V7Vw9JX7/l6ckoZt/famk5Blg2bVbtZX47tsXQ9hz4l5BwiP/miG1aM/sgn5zrNO2NWnyEKx7A3Z8JnnfnQgl7nkRPg4W9ZVHVEd9pFQUDU2TsoTH/gTeLH57PlXlaW/zLPjna4mbtsZgvKaJ+8fDT2LKQf7OfAKo01Nqqp4/ID13gN9fzN6/nK+IvH/9HEuD/CfteAVAYGPrBhLodNDpOQhuBj+MxGVBd7wDHCxQwbW8JJbbuQg6vSBjME6CEve8qN5WEgxFfqzE3Rmp1Q3+/QauxEoUS3FpPwG2zIIrZ0V8bRVpdfMTgG+IXJ8t/gfv1ZGB3Yb3Sd6U8wfhwkHJ97N7cXbYZ3l/EXqzGeL2QouR4jZJOicuJFtQpzs8vhG+fYSOh9/AvMcPmj9im2MVhZajYOvHck20GmVva6yGEve80DTpvf8wUkrvqegZ56JWF0CT3nvTh4vfXjlvaDBA0vA2Hlz89izFzQvq3w17v5eIr4q15H0m6WmSECxT9M8fgMNrboT9zhAXZGYKiH0/SBZQ3+rWdUlWqEH6sNWcnf8w1VeOhXO7ofdUCaO0N74h0OAemTTXYmTpy3aZD87xLWxBg/7yaPt5V9gw1d7WKKxJ+UoQ1ET87tbivs+kgPW5KOu1aQmNB4ub5v26t1accnG9Mfh6H3R9SRJ/9Zku0Tnh42RdJt//Dz5sIqmNv34ANkyDI2utUyTc4E5UtcdI7/uBpE5Y2BcSzxS/XWvQ5km5AR6NsLclVsNm4v7222/Ttm1bPDw88PX1LdQ+ZrOZV199laCgINzd3enevTtHjhy5/Y62QG+QJSMNNrwLqyZKHLPCOajd7caEJCslitMboPvrMk5zbL112rSEmp0BTUIuC1NxquVImLgfer2dXXmp/1x49ig8/J18bs6A7Z/A1wOl9OKHTeH7kRA5F2K2y6xgS9E0zGFD4X9rxC32aUc4scnydqxNSCuo0iK7PoETYDNxT0tLY9CgQYwZU8jp48D06dOZPXs28+bNY/v27ZQvX55evXpx/fp1W5lZMJ0nS++mXj/Y9z3MDpOeTOpV+9ijsB61usoko9h/rddm/X5SECLilZLPLqo3SP4cl3KWl4nMzHDpHQSelSXFQpcX4ZEf4LkT8PQ/MPALiSJLPAXrpsCCnvBOFZjXQVI3715yo7h6IdM2V2kOj2+CwEbwZX8ZkDabLbPb2rQZA8c3yPdwAmzmc58yZQoAixYtKtT2ZrOZWbNm8fLLL9O/f38AvvzySwICAlixYgUPPvigrUzNn5wDWCkJkpbgrxkSC9x5soRKFpRkSuG4VG0lYYRH18nguTXQNKlQtKAn7F0u9U5LkiYPyjXabJhl++2YL6//bZObXk40TdIw+9WUWH6QyVnnD0h445ldkrxt1yLADGji8mo1WtryDsr/uOUrwiM/wvq3Ye1rkm+//9ySL+aSSYP+Um1q+ydwz0f2scGKOIwynThxgtjYWLp37561zsfHh9atWxMZGZmvuKemppKampr1PikpCQCj0YjRaLSegQYv6Po6NPsf+o3voFs1HnPkHDK6voq5Tu9SHQ+feZ6ser4cHg199fZwdC0Z4c9YvHe+5yyoGfq6d6Ote4P0O/pKT7qE0Kq2wSXtKumnd2EObnb7HW7gEvU1GmCO+or0DoWcbFSpgSxNHpX3qVdw+aQVWvIFzOcPwM9j0TBj9m+IqWYXzLW6YgwQm245Zx0nowU0Qb9yLHzehfSBi6Xalx3QtRiJbtN00ju+WLQ8O1amOL9JhxH32NhYAAICAnKtDwgIyPosL6ZOnZr1lJCT9evX4+FRxJqZt8NwDz51G9PwzLdUXv4oV10DcM24SoxfBw4H9sfoUt42x7UxERHOM5hUGGpc8+fO0xH8sfIH0vVFKxeX1zkrr+tA16TfOLxkEkcDipnzxQI0czp9da5E//4FRwPy/83cTCtDdQKvXWKPTw9Orl5d5OPX8LuLOmkrORLYj7O+LamctA//K3vx37mEcts+Bp0rrT0bcPRCBOe9G5Pslvu3Xr7mK7Q6MRuP+V35p9pjnK1Q8ikBDOmB9DSZObrsJQ4H9i/x499MSkpKkffVzObCO7peeOEFpk2bVuA2Bw8epF69elnvFy1axPjx47l8+XKB+23dupV27dpx9uxZgoKyH+UeeOABNE1j2bJlee6XV889JCSEc+fOUbFixUJ8q2JgNqMd/xP98kfRMtKyV3sFY/ZvkGNpKAmjchaPcCCMRiMRERH06NEDg8ExbbQJl05gmNsSs0dFTB1fwNR8RKF3vd050615Ht2+5aQ/ubNEq/3ovxkEmp6MB78t/D6/jofYvWSMtGL0UE7MZji/H/ORCBJ3/UillKNoJiNm3xqYanXFXLML5urtJaQzLRn96gno9v9IRqsnMHV9rcR/N7rVk9Ad/o30p6KkOpgdiY+PJygoiMTERLy9LXNXWdRznzRpEsOHDy9wm5o1a1pkQCaBgTKZJC4uLpe4x8XF0bRp03z3c3Nzw83t1lhZg8FQMkJVr7fk0978gUxlrlwPLW4fWtwBiXuOnC3b6QzyqBnQUGYKBjSCgAZSz9FBXDolds4cBf87QOeClhKPPnI2+jajLW4i33PWZTLs/Q5D5IdSWLqkCO0Af81Ep9MKPx6UdBoqVEdny/991TCMAY3YmlSXvt07Yji9De3oWvRH18GuBfL7qNZGopjaT4CQVuj/eBl93F64f6HMoC0p2o6FfxZjiF5V8uMmN1Gc36NF4l65cmUqVy5iStDbEBoaSmBgIOvWrcsS86SkJLZv325RxI1duHnmYObAE0h+kPMHIW5/9nLoV0i7EXFj8JAIg6otpOKQfwPwrye5ORS2p34/2P+T5YOQt8OzMrR/RqKrWo8uudS3NTpIrpTYfyUipTBcjoG6fW1rV05cPSXypm4feR9/TCaUHV0LG9+Dta/LTNpyPvDfFpjdVAqCVGtTMvZVrgu1u0uu98YPOEzny1Js5nOPiYkhISGBmJgYMjIyiIqKAqB27dp4ekr+hnr16jF16lTuvfdeNE1j/PjxvPXWW9SpU4fQ0FBeeeUVgoODGTBggK3MtD3uFSSdQfW22etMJkiMEaH/6QlJBnVquyyZ08S9grLzgWTmBqlcT3JhKKxH/zkS/pZZrMKatBkrE4rWvQH3L7B++3kRHCYdhpNbCifuJhMknpYZqfaiYi1ZWo2C9FSI2QbH1kk8PcjvY0EvuQH3+7BkxLbNGPhqoNhSPdz2x7MBNhP3V199lcWLF2e9DwuTcLP169fTuXNnAKKjo0lMzE5r+txzz5GcnMzo0aO5fPky7du3Z82aNZQr52R51XU66clVqCETXzKTQYU9KkWizx/Inip+6FeZHs6NoZEKNaBy/dzCX6mOY0zjLo24lpfcIpEfS2pea/rHXT2gy0vwyzgpDFHYnnRx0Bsk1v7kZmj39O23vxonE/UcJd2tixvU7CSLb3XYNF3i909skhw5uxdL9sawR4uXv/521OoGlerKpKZSKu4WDaiWBpKSkvDx8eHixYu2H1AtKdKS4UJ0djKoTOFPypy6rUmVn6otJMNdSGu5CRSyh2M0Glm9ejV9+/YtWz73TK5egFmNJC9Lp8KFAhb6nJky4JN2ko99+KqS6XVumiEpiJ87cXu/e8x2icsfEyljQDakWNdZhlGecvd9n70uuBn0mALV29smH8zOBTIz3StQ8tHbofRmfHw8lSpVsv2AqsJOuJaHKs1kycm1y5JP5JsHs2t9xkTKZ+X9pbpMSGsIaSPVdVTvPm88K0sCsR2fQttxUo/VWuj0UrN16SDJ19LlRduLRI0O8OebELvn1mvmZi7HyKtviG1tKi56A9z/haRUnhsOmKXm8eJ+0sMPe0T+h7crmWgJbt5ynCvnbJvt00aoxGGlGXdfGWTq+gr4hEgyqOdOSG6QZo9CyiX48234ojtMDYEFvSX396HVUtFHkU34ODkn/35j/bbr9AC9m/j1C5P3pbhk+d03337b/T8CGuz5zuZmWQX/+nKdl/MFw43xp8v/ySzXmY1gyX2w70fx3ReXHZ+BX235bVma0sEBUD13Z+DmaJ07eskC8jgbu0eKAMdskx/xlg/ls4q1IaQ1WnALvK5dl4o+ZZWKtSRyZuvHMnCn01uvbU2TwcLIj2+kG7YxLq6SCOu/Lbf3ux/fCJhLV8+09WhZrifB1o/kvGYY5X+YEg/fj5BAhsaDxTcf2MjyY5z9RwIcBn8l10UpRIm7s6M3yEBeleYSAWA2S/KnTLE/tR39v9/Q1WzCPP0N2afBPdB9SsF5QZyRds/A/G4yiN3gHuu23ettcaHFbBM/vDVvHnlRoz1smX37Y3kFSpGRUtgzpZy3pCtuOVIyt+7+EryrQIdJ0nPf8x1snyfJ/9KvyeB2YW9g2z8Dn2pwRx/bfgcbotwyZQ1Nk8iIO++Hu2bAE3+RPukYW2o/LzeC9GuwZxl8UE8y/q17UwbdCpvtrzRTtQVUbydPNraIM+j6Mlw8LOfX1tToAKlJ8tRWEMZrErJZWnrteeEVCP1mwdjtENxEkqcd3wj9P4YHl4o7LCUe1rwAp/6+fXtXL8jAbcuRpToxoBJ3Bbh5cdGrIaYuN3z3Pd6SFK+V60nEwIKe8F4tyeW95ztIjre3xbaj3TOSnTBzYNqaBIfJI/6GqVIdyZYENwMX94L97sZr0mv3K9qscoejUh1xo4yMkFqoSx+A7Z/KE2v5yuBRScafvv8fXPov/3Z2LwJND82GlpjptkCJuyILU/MRMGEftHtKevYDP4f/Owoj10osePxR+HGUCP387rBxuvgmSzp3uS2p3UNualtm26b9Li/B5VMSr21LXFwlWqogcb90Ul79Qm1rS0kT0gpG/AYP3qiTu3kmhHaSUNT+c2SC18ctJbjgemLufTOM8PcCaDyoRHMC2QIl7oqC0ekhpKX4Nh/fCJOi5XHXO1gGsz7rLC6cFWNh/4pbfyylDZ0O2j4Nh3+D84es375/fRno2zQD0oqe8a9QVG8P/23N36WWcFxenaXnnhNNg3p9YcxW6DdbBpfntIbYffBYhIwx7PhcCvDs+BwybswMP7hSnmZaPW5f+62AEneFZXgFSkzxA1/Cc8dh+K9SJOLMLlg+DKbXhNnN4N3qImClkTsHSfqHSBsVbOj8gviB//7cNu1nUqP9Db/73rw/TzghIZOeJZiUq6TRu0DzYfDUbjnvUV/LpDK9AZ7YLAOmq/8PPgmH6DXixqnevmgRNg6GEndF0dEbREB6vAFjt8H4vRKDnHQGrl+WiTSfd5Pwwsun7G1t4XFxFT/tv8sg6Zz12/cLlRC9zTMlnM9WVLmN3z3huPTaS2liLItw9ZAJUE9HQdMhEl2zsK88lY76Uzot3wyGU9ty54EqxShxV1gP32oSYdDrHQlJC3tUfjTr3pDp/fN7SJ6cxNP2tvT2NB8uVZS2z7NN+x3/T9wytizI7OIm/ueCxL2kslU6CuUrQp93Ydzfkh555TOS1qD1E5IiAiSfzeZZdjXTGihxV1ifliNh4oEboWhfy6DsfZ9L2bK1r8PMhvBFT9j2CSSdtbe1eVPOB1qMkGghW/SufarIxKatH0t9XltRowC/+6UTzulvLwx+oTBwPozeKPM5vn1YwiUz+Xu+/WyzEkrcFbannLfkxX7oGxH6ez8Ddz+JVvigvqRF2DbPNi6Q4tBmjIQL2iqypf0EsmaH2ooa7SE18Va/e3qahAP+s0TSEpdVgpvC0J9lXkBOQkq+xJ+1UeKuKFnK+Uh1m4e/hWePwIB5kqDpj5dvCH0fmR14pfA1QG2Gd7DclCLn2iYuvXwluYHs+Nx2N7YqzcW99N+W3OsTTwFmSThXEvluHJkMo7iomj4isfAgqQdKOUrcFfbD3ReaPgRDvpMe/YC5Mvnk98nwfj0Z8NrxOVyJs5+NbZ+S0Lh9P9im/fBxMoD7l40ii/Lzu188Iq9ewaUz9YA1ObRKggDaPCFZO0tporCbKb1zaxXOhbuvpGxt+rD4oKNXS/m7356D1c9Kdr62Y6H+PdLjLSn860OdnrB1toR8WjuyxN0X2o2H9e9IfH0FG1REqtFBkmvlzDMTf1TCICfst00u9NLE9s8k7UTgnbKU5lQMOSjj/1WFQ+LhJ7H0j/wg8eYASafg12dhxh3w5QBJEmXLgcictHtGqmMdXWub9ls/Lq6TueG28X9XbyeTy+L2Za+LPyJZFMu6sJ/bAzFboZXlxdEdnTL+n1U4PB0myWNyr6nw7GHo+57Umf3laRH6rwdB1De2nRlbvZ3Y8O0Q24iva3npURuTbTPxK9PvntM1E39MUj6XdXZ8KmG79e62tyVWR4m7wrFpOVLy3bQcKe6YliMlR8ikQ5JG93oSrHgC3qsD3zwMe7+H1KvWtUHTpEhzRqok/bIFnZ4HNKkXam0M5STt7bo3sm9O8UeVuCfHw57lpT77Y34ocVeUTrwCxZ0x8nfxG3d7Fa7Gwg8jpZzdd0Ml14218rd0eQn0roDONpEz4U9C+/GSkfLaZeu3fzUW0q9LZEzqFSkdV7GO9Y9TmsgMcW023K5m2Aol7orSj09VqX066k945l/o/LzkTVk+TIT++5FSgMN4vejHaDkSRq2XnDDbP7Ge7Tlp/QRkpMGuhdZvu1obSWPbfoK4ZKBs99wz0uUp5s5BMmvVCVHirnAuKtQQAXviL0kW1X6CDIZ++zDMqAM/Pg6Hfy9a7zuwkcwq3TDNNjNrvQIlrn7bPOs/HVRvJ5PJWo4UlwzIgGpZ5GwUfNYRkk6Dl/MmTVPirnBeKtaCTv8HT0bCk9tlwtCZXVLE4d1q8HYQrHjSsmLhnSeDa3n06161jc1tnxYXyt7l1m3XtXy2iyr+qBSvcPe17jEcnZjtMgD/WafsdM6lpTB4EVDirigb+NeTCSrj/pZUr3qDDJJGfS2um8+7SqbAM7sKLj7i7gs93kB3YAWVrhywvp2V68IdvSVXvjVL/bmWlwHhjPQbg6llxN9uNkvJvUV3S0WxyzFw33zoM81pJivlh/MNESsUBaFpMlGl++syuNhypPRij0RImoENU2UKeu3uUKcH1Op6a0WeJg9i2rWIxqe/hIynwWCwro1tn4ZFfcWmO3pap02Dh7wak2V2auCd1mnXUTGb4cgfElp6egcENYEHlkjIY2Zsf6tR9rXRxihxV5RNWo7MPRMx7BHJMXJqBxyNEGHd8y1oOqjaUoS+dg8IbAw6HRm9plF+fhfMOz6FjhOta1v1thKbvnW29cTd1VNe05Lh/EHJCBkc5jSzMbMwmeDQShH12D1QtRUM+V5u1mUhb30OlLgrFJnoDVCjnSzdX4fEMzIr9cgfsPlD+PMtqVpUuwdaza6c9mtLyF8zJBGaTxXr2aFp0ntfPgzO7JaiG8XF9UbPPeH4DfdMavaTizOQkS75f/56Hy5GQ2hHGLZSUi+UMVHPxGY+97fffpu2bdvi4eGBr69vofYZPnw4mqblWnr37m0rExWKgvGpIiXaHvxaSgoOWynRLGd24fLj/6iWsBnNmAwzG0htTmv6yOv3gwqh0nu3Bq7l5fXsP/LqFeQc/ub0NNi1GD5uDj+NlmipkRHyvwrtWGaFHWzYc09LS2PQoEGEh4fzxReFn7Ldu3dvFi7MjvN1c3OzhXkKhWW4uIpYhHaEnm9hvHicAz9/SJNTi+Tzee0kw2KdHrLU7AxuXkU/nk4P4WMlcVrCCSkuURwMmeIeBTqDlETUW3msoCQxXoPdS2DLLAlLrd9P6voGNbG3ZQ6DzcR9ypQpACxatMii/dzc3AgMDLSBRQqFFfEJ4WSlrjR49D0Mi3rB2d1Q7y44vkFmPmo6mTQU1AQa3pudcfDmwdmCaDpEBni3zZWcOsUhZ8/dr2bpFfbUK1Ida+vHMqHszkHQfqJEQyly4XA+9w0bNuDv70+FChXo2rUrb731FhUrOucMMoUToGlwz2z4tCP4hsBTO6Wn/XkXKYQRuwfi9kP6Ndneu0q20GcuvjXyzs7o6gEtR4lrpvNky24MebUFkHCsdCbJunZJUvNu/0RyBzV9SFIll9WJWIXAocS9d+/e3HfffYSGhnLs2DFefPFF+vTpQ2RkJHq9Ps99UlNTSU1NzXqflCT1Lo1GI0ajsUTsLu1knid1vgpPrnNWsR66Fo+h2zCN9HoDwLsquk4votv6Iaa2z2AKGwqXjqPF7ZMldh/arsVoyecBMLuWx+zfCHOALAQ0wly5HhjcIWw4LltmYdr2KaYOzxbdYM2VzL56hl8tTHb4X1t8nZnS4XIMun+Xots5H0zpmJo+iil8nNwkpTEbWesYFOc3qZnNhR8FeuGFF5g2bVqB2xw8eJB69bIfkRYtWsT48eO5fPmyxcYdP36cWrVqsXbtWrp165bnNq+//nqWCygnS5cuxcPDw+JjKhRFwSU9mW4HX+CiZz12hY4t1D5uxst4X4vB59opfK79h8+1GDyvn0PDjAkdV8sFkehejZBLkQD80fADrrkWvVBJ/3+GArC72ihOVexwm61LBkN6Mh5p5ymfeuGWV/e0i+gwYQYueDVkd/XHSTX42tvkEiUlJYWHH36YxMREvL29LdrXInG/cOEC8fHxBW5Ts2ZNXF1ds94XR9wBKleuzFtvvcXjjz+e5+d59dxDQkI4d+6ccucUEqPRSEREBD169MBg7Qk5Tkpe50zbswyXlWNJH/Ij5hodi9hwCtr5QxC3V3r55/ejO70j62OzZ+CNHv6dmAMaSk/fr6b4+G+D4W25MaQP/x1zleZFs89SMoyQdAbt8n9kXDxGTNRGQivo0Cf+B5f/Q8uRh9/s5gW+NTBXqIHZtzr4Vke3aRpaykXM3lVJfyqqZGx2IOLj4wkKCiqSuFvklqlcuTKVK1e26ADF4fTp01lfLj/c3NzyjKgxGAxKqCxEnTPLyXXOmg2Bf7/C5ffJkuLAxbXgnfNs0AdqtJYlE5MJPu0AcfvQmj6EFrcf9i6DrTmSl7m4S757V0+pQ5v16iVRO26e2ZvG/QvXLtzYxuumfbyyS/EVBvONItuXTua9JJ4GcwYAek1HsMEPnUd9tOCm0HCAhHtWqAEVaqC5VwBNI1fwol4Pm2eitZ9QJq/N4nxnm/ncY2JiSEhIICYmhoyMDKKiogCoXbs2np5yodWrV4+pU6dy7733cvXqVaZMmcLAgQMJDAzk2LFjPPfcc9SuXZtevXrZykyFwnpomkS1fNpRBv7aPWOddnU66PchzO8m4X9dXoQhyyXh2dw2kHxBbiSNB0s0SdrV7NcrcTfe5yhg8ttzBR/P4HGr4Od8n3AcTu+UAd7Uq5CaowqWmw/41RDBDh6QJdxUqEG6RyBrf4+gb9++6AorWjfPJFYUGpuJ+6uvvsrixYuz3oeFhQGwfv16OnfuDEB0dDSJiXJh6PV69uzZw+LFi7l8+TLBwcH07NmTN998U8W6K0oPgXdKPc4N06DR/dabuVq1hcSnp1zMkROnkkTRbJ4pE5JuJ4Kv+8jry+dFlNOu3BDnm24IqVfzfn/1PKQdh9i9Mth5/TJ0/L9cAo57hfyP7+SDn46GzcR90aJFt41xz+nud3d35/fff7eVOQpFydF5Muz7Ef54GQZZsfBGnZ4QvVomN2VSlJ6ti5ssRS1S8fcXhb+hKOyGSvmrUFibG2mB2f+jpBO2VlHtnm8CZqk8ZSmmjOy/i2tPzrq2CodFibtCYQuaPAh6N/GH/zXDOm1WrAUBd8KBny3f93JM9t+bZ1rHHoVDo8RdobAFmgZdJkuIot7NemXzGvSH6DWW14O9ePiGXTrnSBimuC1K3BUKW9F+AoxYI+GAf7xsnTYb9JeB0OPrLdvvQrS8Vqqr3CllBCXuCoUtqdYaek+FHZ/Cv8uK317lO6ByfctdM5nibkwpvg2KUoESd4XC1rR8DJo8DCufgXN7it9eg/5waLVlrp6LN8Q9Lbn4x1eUCpS4KxS2RtPg7g+gUh1Y9gikJBSvvQb9ZeLQiY2F295shguHoby/6rmXIZS4KxQlgcEdBi+B1CT4cVTu0ERL8a8PFWvDgRWF2/5qnNwMgsNE3E2moh9bUWpQ4q5QlBQVasDAL+DoOtjwbtHb0bQbrplfJTHX7bhwSF4za7Gq3nuZQIm7QlGS1O4G3V6BTdPFb15UGvSXhF0n/7r9thcOS+qCgIbyXvndywRK3BWKkqb9RKmG9NPjcPFo0doIbCxPAoWJmrkYLW4ctxspY41K3MsCStwVipJG02DAJ+AZAMuG5M7YaEkbDfrDwVWQkV7wtheiJYTS9UbaX9VzLxMocVco7EE5bxj8lUxw+nmsRLRYSoP+kiUyZmvB252NgmPr4fAaeZ+mfO5lASXuCoW98K8HA+ZK1Evkx5bvH9wMfEIKds1cvXAjtW8S/LNE1qUV4UlBUepQ4q5Q2JMG/aHdeIh4FY4XMm49k0zXzIFf8g+tjNsrr15B0OZJ+VtFy5QJlLgrFPam6ysQ2hG+HyFuGkto0B+Sz0PMtrw/j90HhvIwYb8UEQHlcy8jKHFXKOyN3gUGLpDydssetSzjY5UW4BWcv2smdi8ENJC6qC5ukhVSiXuZQIm7QuEIlK8ID3wpuWemh8K2Twq3n04HDe6Bg7/kPfM0bp+U/gNx47h6KnEvIyhxVygchSrNwN1HfOJ/vAxndhVuvwb94co5eL9u7ipLxuuSxz2gkbzPSJfap5ves151KIXDosRdoXAkurwEXoHgGQjze0ih7dvFsYe0AU0vvvecVZYuHBIxD2wsxa2/7C83jtQkVY2pDKDEXaFwJFqOhEnR8EwUdHwWNk6DBT0Lnsmq00HtHoCWHRED4pJBk9DHTztKL77NWAmfVNWYnB4l7gqFI6I3QJcX4X+/Sw6Zee1hx+f5T3a660adVjfP7HWxewEzfD0IfKvB45ug9zuquHUZQYm7QuHIhLSEJzZD04dh9bPw1UBIOnfrdr4hkpRs95fyPi0Fts+Tv6u1gWGrwDuo5OxW2B0l7gqFo+NaXop9DPleXC2fhMP+n27dLuxROP23FNB+v172+ksnwcW1xMxVOAZK3BWK0kKdHjAmEmp0gOXD4YdRcO1y9ud1+8rrN4OlOAeAd1XlXy+jKHFXKEoTmfHw934qicA+aStpC0wm+Ov93Nt2fhEm7lf+9TKKi70NUCgUFqJp0ORBqN4OVoyBL++RYhwmI9w5CPYuBzSZ8aoos6ieu0JRWvENgaG/QDlfEfbylWHgfHApB5hhx6f2tlBhR2wm7idPnmTkyJGEhobi7u5OrVq1eO2110hLSytwv+vXrzN27FgqVqyIp6cnAwcOJC4uzlZmKhSlG50Our0qseudJ8u6Xu+oWHaF7dwyhw4dwmQy8emnn1K7dm327dvHqFGjSE5OZsaMGfnuN2HCBH799VeWL1+Oj48P48aN47777mPLli22MlWhKN20HJnbr37ze0WZxGbi3rt3b3r37p31vmbNmkRHR/PJJ5/kK+6JiYl88cUXLF26lK5duwKwcOFC6tevz7Zt22jTpo2tzFUoFAqnokQHVBMTE/Hz88v38127dmE0GunevXvWunr16lGtWjUiIyPzFPfU1FRSU1NzHQMgISHBipY7N0ajkZSUFOLj4zEYDPY2p1SgzpnlqHNmOZk6Zi5CGcYSE/ejR4/y0UcfFeiSiY2NxdXVFV9f31zrAwICiI2NzXOfqVOnMmXKlFvW33HHHcWyV6FQKByF+Ph4fHx8LNrHYnF/4YUXmDZtWoHbHDx4kHr1smfInTlzht69ezNo0CBGjRpl6SELZPLkyUycODHr/eXLl6levToxMTEWn4yySlJSEiEhIZw6dQpvb297m1MqUOfMctQ5s5zExESqVatWoMcjPywW90mTJjF8+PACt6lZs2bW32fPnqVLly60bduWzz77rMD9AgMDSUtL4/Lly7l673FxcQQGBua5j5ubG25ubres9/HxUReQhXh7e6tzZiHqnFmOOmeWo9NZHthosbhXrlyZypUrF2rbM2fO0KVLF5o3b87ChQtva2Dz5s0xGAysW7eOgQMHAhAdHU1MTAzh4eGWmqpQKBRlFpvFuZ85c4bOnTtTrVo1ZsyYwYULF4iNjc3lOz9z5gz16tVjx44dgPS2R44cycSJE1m/fj27du1ixIgRhIeHq0gZhUKhsACbDahGRERw9OhRjh49StWqVXN9ljnyazQaiY6OJiUlJeuzmTNnotPpGDhwIKmpqfTq1Yu5c+cW+rhubm689tprebpqFHmjzpnlqHNmOeqcWU5xzplmLkqMjUKhUCgcGpVbRqFQKJwQJe4KhULhhChxVygUCidEibtCoVA4IU4t7kVNO1zWefvtt2nbti0eHh63pIJQCHPmzKFGjRqUK1eO1q1bZ4XzKm5l06ZN9OvXj+DgYDRNY8WKFfY2yeGZOnUqLVu2xMvLC39/fwYMGEB0dLRFbTi1uOdMO7x//35mzpzJvHnzePHFF+1tmkOTlpbGoEGDGDNmjL1NcUiWLVvGxIkTee2119i9ezdNmjShV69enD9/3t6mOSTJyck0adKEOXPm2NuUUsPGjRsZO3Ys27ZtIyIiAqPRSM+ePUlOTi58I+YyxvTp082hoaH2NqNUsHDhQrOPj4+9zXA4WrVqZR47dmzW+4yMDHNwcLB56tSpdrSqdACYf/rpJ3ubUeo4f/68GTBv3Lix0Ps4dc89L26XdlihKIi0tDR27dqVKy21Tqeje/fuREZG2tEyhTOTmcrcEu0qU+KemXb48ccft7cpilLKxYsXycjIICAgINf6gtJSKxTFwWQyMX78eNq1a0ejRo0KvV+pFPcXXngBTdMKXA4dOpRrH1umHS4NFOWcKRQK+zN27Fj27dvHt99+a9F+JVqJyVrYMu2ws2LpOVPkTaVKldDr9bcUbS8oLbVCUVTGjRvHqlWr2LRp0y05um5HqRR3W6YddlYsOWeK/HF1daV58+asW7eOAQMGAPLYvG7dOsaNG2df4xROg9ls5qmnnuKnn35iw4YNhIaGWtxGqRT3wpKZdrh69epZaYczUb2s/ImJiSEhIYGYmBgyMjKIiooCoHbt2nh6etrXOAdg4sSJDBs2jBYtWtCqVStmzZpFcnIyI0aMsLdpDsnVq1c5evRo1vsTJ04QFRWFn58f1apVs6NljsvYsWNZunQpP//8M15eXlnjOT4+Pri7uxeuEdsF79ifhQsXmoE8F0X+DBs2LM9ztn79enub5jB89NFH5mrVqpldXV3NrVq1Mm/bts3eJjks69evz/N6GjZsmL1Nc1jy062FCxcWug2V8lehUCickLLpgFYoFAonR4m7QqFQOCFK3BUKhcIJUeKuUCgUTogSd4VCoXBClLgrFAqFE6LEXaFQKJwQJe4KhULhhChxVygUCidEibtCoVA4IUrcFQqFwglR4q5QKBROyP8DaDAAYbdQwQ0AAAAASUVORK5CYII=", | |
| "text/plain": [ | |
| "<Figure size 500x400 with 1 Axes>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "import matplotlib.pyplot as plt\n", | |
| "import numpy as np\n", | |
| "from numpy import cos, sin\n", | |
| "\n", | |
| "import matplotlib.animation as animation\n", | |
| "\n", | |
| "G = 9.8 # acceleration due to gravity, in m/s^2\n", | |
| "L1 = 1.0 # length of pendulum 1 in m\n", | |
| "L2 = 1.0 # length of pendulum 2 in m\n", | |
| "L = L1 + L2 # maximal length of the combined pendulum\n", | |
| "M1 = 1.0 # mass of pendulum 1 in kg\n", | |
| "M2 = 1.0 # mass of pendulum 2 in kg\n", | |
| "t_stop = 2.5 # how many seconds to simulate\n", | |
| "history_len = 500 # how many trajectory points to display\n", | |
| "\n", | |
| "\n", | |
| "def derivs(t, state):\n", | |
| " dydx = np.zeros_like(state)\n", | |
| "\n", | |
| " dydx[0] = state[1]\n", | |
| "\n", | |
| " delta = state[2] - state[0]\n", | |
| " den1 = (M1+M2) * L1 - M2 * L1 * cos(delta) * cos(delta)\n", | |
| " dydx[1] = ((M2 * L1 * state[1] * state[1] * sin(delta) * cos(delta)\n", | |
| " + M2 * G * sin(state[2]) * cos(delta)\n", | |
| " + M2 * L2 * state[3] * state[3] * sin(delta)\n", | |
| " - (M1+M2) * G * sin(state[0]))\n", | |
| " / den1)\n", | |
| "\n", | |
| " dydx[2] = state[3]\n", | |
| "\n", | |
| " den2 = (L2/L1) * den1\n", | |
| " dydx[3] = ((- M2 * L2 * state[3] * state[3] * sin(delta) * cos(delta)\n", | |
| " + (M1+M2) * G * sin(state[0]) * cos(delta)\n", | |
| " - (M1+M2) * L1 * state[1] * state[1] * sin(delta)\n", | |
| " - (M1+M2) * G * sin(state[2]))\n", | |
| " / den2)\n", | |
| "\n", | |
| " return dydx\n", | |
| "\n", | |
| "# create a time array from 0..t_stop sampled at 0.02 second steps\n", | |
| "dt = 0.04\n", | |
| "t = np.arange(0, t_stop, dt/2)\n", | |
| "\n", | |
| "# th1 and th2 are the initial angles (degrees)\n", | |
| "# w10 and w20 are the initial angular velocities (degrees per second)\n", | |
| "th1 = 120.0\n", | |
| "w1 = 0.0\n", | |
| "th2 = -10.0\n", | |
| "w2 = 0.0\n", | |
| "\n", | |
| "# initial state\n", | |
| "state = np.radians([th1, w1, th2, w2])\n", | |
| "\n", | |
| "# integrate the ODE using Euler's method\n", | |
| "y = np.empty((len(t), 4))\n", | |
| "y[0] = state\n", | |
| "for i in range(1, len(t)):\n", | |
| " y[i] = y[i - 1] + derivs(t[i - 1], y[i - 1]) * dt\n", | |
| "\n", | |
| "# A more accurate estimate could be obtained e.g. using scipy:\n", | |
| "#\n", | |
| "# y = scipy.integrate.solve_ivp(derivs, t[[0, -1]], state, t_eval=t).y.T\n", | |
| "\n", | |
| "x1 = L1*sin(y[:, 0])\n", | |
| "y1 = -L1*cos(y[:, 0])\n", | |
| "\n", | |
| "x2 = L2*sin(y[:, 2]) + x1\n", | |
| "y2 = -L2*cos(y[:, 2]) + y1\n", | |
| "\n", | |
| "fig = plt.figure(figsize=(5, 4))\n", | |
| "ax = fig.add_subplot(autoscale_on=False, xlim=(-L, L), ylim=(-L, L))\n", | |
| "ax.set_aspect('equal')\n", | |
| "ax.grid()\n", | |
| "\n", | |
| "line, = ax.plot([], [], 'o-', lw=2)\n", | |
| "trace, = ax.plot([], [], '.-', lw=1, ms=2)\n", | |
| "time_template = 'time = %.1fs'\n", | |
| "time_text = ax.text(0.05, 0.9, '', transform=ax.transAxes)\n", | |
| "\n", | |
| "\n", | |
| "def animate(i):\n", | |
| " thisx = [0, x1[i], x2[i]]\n", | |
| " thisy = [0, y1[i], y2[i]]\n", | |
| "\n", | |
| " history_x = x2[:i]\n", | |
| " history_y = y2[:i]\n", | |
| "\n", | |
| " line.set_data(thisx, thisy)\n", | |
| " trace.set_data(history_x, history_y)\n", | |
| " time_text.set_text(time_template % (i*dt))\n", | |
| " return line, trace, time_text\n", | |
| "\n", | |
| "\n", | |
| "ani = animation.FuncAnimation(\n", | |
| " fig, animate, len(y), interval=dt*1e2, blit=True,repeat_delay=0)\n", | |
| "ani.save(\"rot.gif\")" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "id": "409df146", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stderr", | |
| "output_type": "stream", | |
| "text": [ | |
| "MovieWriter ffmpeg unavailable; using Pillow instead.\n" | |
| ] | |
| }, | |
| { | |
| "data": { | |
| "image/png": "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U2VlZd6ApqGhQXv27PFWYuXm5urkyZOqrKzUyJEjJUlvvvmmmpublZOTY8q4AACA/ZhWJn7kyBFVVVXpyJEjcrlcqqqqUlVVlU/PmsGDB2vbtm2SJIfDocLCQt177716+eWX9cEHH6igoEBZWVmaOnWqJOmyyy7TxIkTNX/+fFVUVOidd97R4sWLNWPGjKCux3kkJyerpKSk1ctWaBufXfj47MLHZxc+Prvw8dmFzwqfnWll4nPmzNHmzZtbPL5z506NGzfO+OMOh5588knvZS+3262SkhKtX79eJ0+e1NixY/XLX/5S3/zmN72vr6ur0+LFi/XKK6+oU6dOuuGGG/Too4/qggsuMONtAAAAG0rIWzUAAID4ZtolKgAAgFghwAEAAHGHAAcAAMQdAhwAABB3EjLAWbt2rQYMGKAuXbooJydHFRUVsR6S5b311lv6zne+o6ysLDkcDr344ouxHpJtrFq1SldeeaUuvPBC9erVS1OnTtXHH38c62HZwuOPP65hw4Z5u6Hm5ubq97//fayHZTv333+/txUH2nbXXXfJ4XD4LFbrzm9lx44d06xZs3TRRRepa9euGjp0qP74xz/GZCwJF+A888wzKioqUklJifbu3avhw4crPz+/RYdk+GpsbNTw4cO1du3aWA/Fdnbt2qVFixbpvffe044dO3TmzBlNmDBBjY2NsR6a5fXt21f333+/Kisr9cc//lH//u//rilTpujDDz+M9dBs4/3339cTTzyhYcOGxXootvFv//Zvqq6u9i5/+MMfYj0kW/j73/+uq666Suedd55+//vf6y9/+Yt+/vOfq0ePHrEZULu344wzo0ePdi9atMj7b5fL5c7KynKvWrUqhqOyF0nubdu2xXoYtnXixAm3JPeuXbtiPRRb6tGjh/tXv/pVrIdhC19++aV70KBB7h07drivueYa99KlS2M9JMsrKSlxDx8+PNbDsKXbb7/dPXbs2FgPwyuhzuCcPn1alZWVysvL8z7WqVMn5eXlaffu3TEcGRJJfX29JCktLS3GI7EXl8ulrVu3qrGxUbm5ubEeji0sWrRIkydP9pnz0L4DBw4oKytLAwcO1MyZM3XkyJFYD8kWXn75ZY0aNUrf/e531atXL11xxRXasGFDzMaTUAHO559/LpfLpYyMDJ/HMzIyVFNTE6NRIZE0NzersLBQV111lS6//PJYD8cWPvjgA11wwQVKTk7WLbfcom3btmnIkCGxHpblbd26VXv37tWqVatiPRRbycnJ0VNPPaXt27fr8ccf16FDh3T11Vfryy+/jPXQLO+vf/2rHn/8cQ0aNEivvfaaFi5cqB/+8Iet3tUgGkK62SaAjlm0aJH27dvHNf0QXHrppaqqqlJ9fb2ef/55zZ49W7t27SLIacPRo0e1dOlS7dixQ126dIn1cGzluuuu8/73sGHDlJOTo/79++vZZ5/VvHnzYjgy62tubtaoUaN03333SZKuuOIK7du3T+vWrdPs2bOjPp6EOoPTs2dPOZ1O1dbW+jxeW1urzMzMGI0KiWLx4sV69dVXtXPnTvXt2zfWw7GNpKQkXXLJJRo5cqRWrVql4cOH6xe/+EWsh2VplZWVOnHihL71rW+pc+fO6ty5s3bt2qVHH31UnTt3lsvlivUQbaN79+765je/qYMHD8Z6KJbXu3fvFj88Lrvssphd4kuoACcpKUkjR45UWVmZ97Hm5maVlZVxTR+mcbvdWrx4sbZt26Y333xTF198cayHZGvNzc1qamqK9TAsbfz48frggw9UVVXlXUaNGqWZM2eqqqpKTqcz1kO0jVOnTumTTz5R7969Yz0Uy7vqqqtatMD4v//7P/Xv3z8m40m4S1RFRUWaPXu2Ro0apdGjR+uRRx5RY2Oj5s6dG+uhWdqpU6d8fsEcOnRIVVVVSktLU79+/WI4MutbtGiRtmzZopdeekkXXnihN98rNTVVXbt2jfHorK24uFjXXXed+vXrpy+//FJbtmxReXm5XnvttVgPzdIuvPDCFjle559/vi666CJyv9rxox/9SN/5znfUv39/HT9+XCUlJXI6nbrppptiPTTLu/XWWzVmzBjdd999+t73vqeKigqtX79e69evj82AYl3GFQtr1qxx9+vXz52UlOQePXq0+7333ov1kCxv586dbkktltmzZ8d6aJbX2ucmyf3kk0/GemiW95//+Z/u/v37u5OSktzp6enu8ePHu19//fVYD8uWKBMPzvTp0929e/d2JyUlufv06eOePn26++DBg7Eelm288sor7ssvv9ydnJzsHjx4sHv9+vUxG4vD7Xa7YxNaAQAAmCOhcnAAAEBiIMABAABxhwAHAADEHQIcAAAQdwhwAABA3CHAAQAAcYcABwAAxB0CHAAAEHcIcAAAQNwhwAEAAHGHAAcAAMSd/w8v540RWxrebgAAAABJRU5ErkJggg==", | |
| "text/plain": [ | |
| "<Figure size 640x480 with 1 Axes>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "import numpy as np\n", | |
| "import matplotlib.pyplot as plt\n", | |
| "from matplotlib.animation import FuncAnimation\n", | |
| "\n", | |
| "fig, ax = plt.subplots()\n", | |
| "xdata, ydata = [], []\n", | |
| "ln, = ax.plot([], [], 'ro')\n", | |
| "\n", | |
| "def init():\n", | |
| " ax.set_xlim(0, 2*np.pi)\n", | |
| " ax.set_ylim(-1, 1)\n", | |
| " return ln,\n", | |
| "\n", | |
| "def update(frame):\n", | |
| " xdata.append(frame)\n", | |
| " ydata.append(np.cos(frame))\n", | |
| " ln.set_data(xdata, ydata)\n", | |
| " return ln,\n", | |
| "\n", | |
| "ani = FuncAnimation(fig, update, frames=np.linspace(0, 2*np.pi, 128),\n", | |
| " init_func=init, blit=True)\n", | |
| "ani.save(\"test.gif\")\n" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 48, | |
| "id": "26131dda", | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "from numpy.polynomial import Chebyshev, Polynomial\n", | |
| "xdata = np.arange(20)\n", | |
| "ydata = np.block([np.array([1, 4, 9, 16]),np.ones(5),np.ones(11)])\n", | |
| "c = Chebyshev.fit(xdata, ydata, deg=15)\n", | |
| "p = Polynomial.fit(xdata, ydata, deg=15)\n", | |
| "x_plot=np.linspace(xdata.min(),xdata.max(),100)\n", | |
| "y_plot_c=c(x_plot)\n", | |
| "y_plot_p=p(x_plot)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 53, | |
| "id": "d93472f2", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/png": "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qz3I0t2kUGkirck+m57WXNTCmQghOoIpU6ag0WiqvQ4dOsTixYt59tlnHW0b8gdx27ZtTJw4kcjISEwmE926deP222/nwIEDHnon7c+OHTv43//+x/3339/SqdTr3XffZdSoUQQEBNRa2CUmJlb7PXvppZcc68eNG4eXlxcLFy70aK5SqLioIO8U2374mN2/fO20vHuC/anJvUPa9JMIhBBtyLhx48jMzHR6JSUlERISgr+/f4PjLVu2jGHDhlFRUcHChQvZt28fH3/8MYGBgTz55JMeeAft0xtvvMHEiRPx8/Nr6VTqVVpayrhx4/j73/9eZ7tnnnnG6ffsvvvuc1o/ZcoUXn/9dU+mKoWKq7JT9zBg3TTCVj7ktDwkJAwAH1tpS6QlhOiAjEYjUVFRTi+dTud06WfUqFEcO3aMBx980PG/4ZqUlpZyyy238H//9398/fXXjBkzhqSkJJKTk3n11VeZO3euU/stW7YwePBgfHx8GDFiBCkpKU7rly5dysCBAzGZTHTu3Jmnn36aykrnmw0yMzO59NJL8fb2pnPnznz55ZeOdaNHj+bee+91an/y5EkMBgOrVq0C7E+PnjFjBnFxcRiNRrp27cr777/vtjxvvPFGrrvuOqf2FouFsLAwFixYUONxtFqtfPnll1xxxRVOy3Nycrjiiivw9vYmKSmpxt6H/Px8brvtNsLDwwkICGD06NHs2LHDqc1zzz1HREQE/v7+3HbbbTz66KP079+/xlxcMX36dB599FGGDRtWZzt/f3+n3zNfX+dHxVxxxRX89ttvHD58uNG51EcKFRcZtfZrcFq9l/MK05n5U8plMK0Q7UGpubLBr0rr79foK602Ss2VlFus9cb1pMWLFxMbG+v0P+KafP/995w6dYpHHnmkxvVBQUFOPz/++OP885//5LfffkOv13Prrbc61q1du5abb76ZBx54gL179zJ37lzmz5/P888/7xTjySefZMKECezYsYNJkyZx/fXXs2/fPgBuu+02PvnkEyoqKhztP/74Yzp16sTo0aMBuPnmm/n00095/fXX2bdvH3Pnzq3Wi9GUPCdNmsQ333xDcXGx03EqLS3lz3/+c43HaefOnRQUFDB48GCn5VOmTCEtLY2ffvqJL7/8krfffpucnBynNhMnTiQnJ4fvvvuOLVu2MHDgQC6++GJyc3MBWLhwIc8//zz/+Mc/2LJlC/Hx8cyZM8cpxsKFC/Hz86vztXbt2hpzr8tLL71EaGgoAwYM4JVXXqlWdMbHxxMZGdmo2C5TbVxBQYECVEFBgWd3lPqLUjMDlHp9kPP+D/yq1MwAVfRST8/uXwjhNmVlZWrv3r2qrKys2rqEGcsa/Fq2I8Ox/bIdGSphxjJ17TvrnOIOeOaHats1xuTJk5VOp1O+vr6O1zXXXKOUUurCCy9UDzzwwO/vJSFBvfbaa3XG+8c//qEAlZubW2e7n376SQFq5cqVjmXffvutAhzH8eKLL1YvvPCC03YfffSRio6OdvwMqLvuusupTXJysrr77ruVUvZzExwcrD7//HPH+r59+6pZs2YppZRKSUlRgFqxYoXH8rRYLCosLEwtWLDAsf6GG25Q1113Xa3H56uvvlI6nU7ZbDbHsqpcN23a5Fi2b98+BTjOy9q1a1VAQIAqLy93itelSxc1d+5cx/GZNm2a0/qRI0eqfv36OX4uLCxUBw8erPNVWlpa6/HKy8urtu6f//yn+umnn9SOHTvUnDlzVFBQkHrwwQertRswYIDj/Jytrs+aq3+/5fZkV9ks9q865x6VPKuJAMBWJj0qQojmcdFFFzn9j/rs7viGUKph4+v69u3r+D46OhqwX96Ij49nx44d/Prrr049KFarlfLyckpLS/Hx8QFg+PDhTjGHDx/O9u3bATCZTNx000188MEHXHvttWzdupXdu3fz9df28YHbt29Hp9Nx4YUXejTPa6+9loULF3LTTTdRUlLC0qVL+eyzz2rdX1lZGUaj0ekS2759+9Dr9QwaNMixrGfPnk69VDt27KC4uJjQ0NBq8aoup6SkpHDPPfc4rR86dCg//vij42d/f/9GjU+qy0MP/T7UoW/fvhgMBu68805efPFFjEajY523tzelpZ4b/iCFiqusZ7q7tM6HLCA0mm0+I7AYghjaAmkJIdxr7zNjG7yNQff7VfSxvSPZ+8xYtGeNCfllxkVNzq2Kr68vXbu6Zzbs7t27A7B///5qBURNvLx+/89a1R/lqttTi4uLefrppxk/fny17Uwmk8s53XbbbfTv358TJ04wb948Ro8eTUKCfaJNb29vl2I0Nc9JkyZx4YUXkpOTw4oVK/D29mbcuHG17i8sLIzS0lLMZjMGg8G1N3oml+joaFavXl1t3dmX3eqycOFC7rzzzjrbfPfdd5x//vkuxzxbcnIylZWVHD16lB49ejiW5+bmEh4e3ui49ZFCxUV7TpyiN5CaZybpD8uDw6MJfuS7lkpLCOFmPoam/bOo12nR66oP/2tq3MYwGAxYrdY621xyySWEhYXx8ssv89VXX1Vbn5+f7/IfzIEDB5KSklJvEbVhwwZuvvlmp58HDBjg+LlPnz4MHjyY9957j08++YQ333zTaZ3NZmPNmjWMGTPGpbwak+eIESOIi4vj888/57vvvmPixIlOxc/Zqga27t271/F9z549qaysZMuWLQwZYp8qNCUlxelW4IEDB5KVlYVerycxMbHG2D169GDz5s1Ox2zz5s1Oba688kqSk5PreNfQqVOnOtfXZ/v27Wi1WiIiIhzLysvLOXz4sNP5czePf3LS09OZMWMG3333HaWlpXTt2pV58+Y5BhwppZg5cybvvfce+fn5jBw5kjlz5tCtWzdPp9YgZrN9YFe5TcYfCyHahsTERH7++Weuv/56jEYjYWFh1dr4+vryn//8h4kTJ3LllVdy//3307VrV06dOsUXX3zB8ePH67zk8UdPPfUUl19+OfHx8VxzzTVotVp27NjB7t27ee655xztFi1axODBgznvvPNYuHAhmzZtqnbXzm233ca9996Lr6+v0wDWxMREJk+ezK233srrr79Ov379OHbsGDk5OVx77bVuzfPGG2/knXfe4cCBA/z00091xgwPD2fgwIH88ssvjkKlR48ejBs3jjvvvJM5c+ag1+uZPn26U6/QmDFjGD58OFdffTUvv/wy3bt3JyMjg2+//ZY///nPDB48mPvuu4/bb7+dwYMHM2LECD7//HN27txJ586dHXEaeuknKyuLrKwsDh06BMCuXbvw9/cnPj6ekJAQ1q9fz8aNG7nooovw9/dn/fr1PPjgg/zlL38hODjYEWfDhg0YjUaXeuMarc4RLE2Um5urEhIS1JQpU9TGjRvVkSNH1Pfff68OHTrkaPPSSy+pwMBAtWTJErVjxw515ZVXqqSkpBoH3tSkuQbTrlq3Qf3979PVq6+9XG2dzWpVZSVFymKu8GgOQgj3qGuAX2s3efJkddVVV9W47uzBtOvXr1d9+/ZVRqNR1ffP/ebNm9X48eNVeHi4MhqNqmvXruqOO+5QBw8eVErVPOhy27ZtClCpqamOZcuXL1cjRoxQ3t7eKiAg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27eXc/vhhx/i7+/P+PHj62zXls9tY7T5pyeLhpk2bRq7d++u93rm8OHDGT58uOPnESNG0KtXL+bOncuzzz7r6TQb7dJLL3V837dvX5KTk0lISOCLL75w6X8pbdn777/PpZdeSkxMTK1t2up5FXYWi4Vrr70WpRRz5syps21b/ixcf/31ju/79OlD37596dKlC6tXr+biiy9uwcw864MPPmDSpEn1DnBvy+e2MTpkj0pYWBg6nY7s7Gyn5dnZ2URFRdW4TVRUVIPat0b33nsvy5Yt46effiI2NrZB23p5eTFgwAAOHTrkoew8IygoiO7du9ead3s4rwDHjh1j5cqV3HbbbQ3arq2e16rz05Bz15jPfWtSVaQcO3aMFStW1NmbUpP6PgutWefOnQkLC6s197Z+bgHWrl1LSkpKgz/D0LbPrSs6ZKFiMBgYNGgQq1atciyz2WysWrXK6X+bfzR8+HCn9gArVqyotX1ropTi3nvv5auvvuLHH38kKSmpwTGsViu7du0iOjraAxl6TnFxMYcPH64177Z8Xv9o3rx5REREcNlllzVou7Z6XpOSkoiKinI6d4WFhWzcuLHWc9eYz31rUVWkHDx4kJUrVxIaGtrgGPV9FlqzEydOcPr06Vpzb8vntsr777/PoEGD6NevX4O3bcvn1iUtPZq3pXz22WfKaDSq+fPnq71796o77rhDBQUFqaysLKWUUjfddJN69NFHHe1//fVXpdfr1auvvqr27dunZs6cqby8vNSuXbta6i247O6771aBgYFq9erVKjMz0/EqLS11tDn7/T799NPq+++/V4cPH1ZbtmxR119/vTKZTGrPnj0t8RZc9te//lWtXr1apaamql9//VWNGTNGhYWFqZycHKVU+zqvVaxWq4qPj1czZsyotq4tn9eioiK1bds2tW3bNgWof/3rX2rbtm2OO11eeuklFRQUpJYuXap27typrrrqKpWUlKTKysocMUaPHq3eeOMNx8/1fe5bSl3v1Ww2qyuvvFLFxsaq7du3O32GKyoqHDHOfq/1fRZaUl3vt6ioSP3tb39T69evV6mpqWrlypVq4MCBqlu3bqq8vNwRoz2c2yoFBQXKx8dHzZkzp8YYbencekKHLVSUUuqNN95Q8fHxymAwqKFDh6oNGzY41l144YVq8uTJTu2/+OIL1b17d2UwGFTv3r3Vt99+28wZNw5Q42vevHmONme/3+nTpzuOTWRkpPq///s/tXXr1uZPvoGuu+46FR0drQwGg+rUqZO67rrr1KFDhxzr29N5rfL9998rQKWkpFRb15bP608//VTj723V+7HZbOrJJ59UkZGRymg0qosvvrjaMUhISFAzZ850WlbX576l1PVeU1NTa/0M//TTT44YZ7/X+j4LLamu91taWqouueQSFR4erry8vFRCQoK6/fbbqxUc7eHcVpk7d67y9vZW+fn5NcZoS+fWEzRKKeXRLhshhBBCiEbqkGNUhBBCCNE2SKEihBBCiFZLChUhhBBCtFpSqAghhBCi1ZJCRQghhBCtlhQqQgghhGi1pFARQgghRKslhYoQQgghWi0pVIQQQgjRakmhIoQQQohWSwoVIYQQQrRaUqgIIYQQotX6f87FjgJtatg5AAAAAElFTkSuQmCC", | |
| "text/plain": [ | |
| "<Figure size 640x480 with 1 Axes>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "\n", | |
| "plt.scatter(xdata,ydata,color='red',label='Données')\n", | |
| "plt.plot(x_plot,y_plot_c,\"-.\",label=f\"Fit Chebychev (deg={c.degree()})\")\n", | |
| "plt.plot(x_plot,y_plot_p,'--',label=f\"Fit polynomial (deg={c.degree()})\")\n", | |
| "plt.legend()\n", | |
| "plt.show()" | |
| ] | |
| } | |
| ], | |
| "metadata": { | |
| "kernelspec": { | |
| "display_name": "dolfinx-env", | |
| "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.12.3" | |
| } | |
| }, | |
| "nbformat": 4, | |
| "nbformat_minor": 5 | |
| } | |
Xet Storage Details
- Size:
- 161 kB
- Xet hash:
- 76e639a3c886d5c587efd907b146355b0db4c9ec1d034ea19b42e7f2294f3c1b
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.