{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Models of Pursuit" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "With a system of ordinary differential equations, we can model problems of pursuit, modeling a predator chasing a prey." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "using Plots" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "using DifferentialEquations" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1. The Tractrix Problem" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A tractor is connected to a trailer by a rigid bar of unit length.\n", "The tractor moves in a circle. The path of the trailer is the solution\n", "of a system of ordinary differential equations." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Given are $(x_1(t),x_2(t))$ defining the path of the tractor\n", "and $L$ is the length of the rigid bar.\n", "\n", "*Wanted:* $(y_1(t),y_2(t))$, the path of the trailer.\n", "\n", "\n", "The velocity vector of the trailer is parallel\n", "to the direction of the bar:\n", "\n", "$$\n", " \\left(\n", " \\begin{array}{c}\n", " y_1' \\\\ y_2'\n", " \\end{array}\n", " \\right)\n", " =\n", " \\lambda\n", " \\left(\n", " \\begin{array}{c}\n", " y_1 - x_1 \\\\ y_2 - x_2\n", " \\end{array}\n", " \\right), \\quad \\lambda > 0.\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The velocity vector of the trailer is the projection of the velocity vector of the tractor onto the direction of the bar:\n", "\n", "$$\n", " u = \\frac{(y_1 - x_1 , y_2 - x_2)}{||(y_1 - x_1 , y_2 - x_2)||}\n", " \\mbox{ and }\n", " v = (x_1', x_2').\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We compute the projection of the velocity vector as $(v^T u) u$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Then the system of first-order equation that defines the path of\n", "the trailer is given by\n", "\n", "$$\n", " \\left(\n", " \\begin{array}{c}\n", " y_1' \\\\ y_2'\n", " \\end{array}\n", " \\right)\n", " = (v^T u) u.\n", "$$\n", "with $u$ the normalized vector of the direction of the bar\n", "and $v$ the velocity vector of the tractor." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1.1 defining and solving the problem" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To setup the problem, we first define the path of the tractor. The tractor moves counterclockwise on a unit circle." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "tractor" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\"\"\"\n", " function tractor(time::Float64)\n", "\n", "returns a 4-tuple xp, yp, xv, yv, with\n", "the coordinates xp, yp of the position and\n", "the components xv, yv of the velocity vector\n", "for the tractor at the given time.\n", "\"\"\"\n", "function tractor(time::Float64)\n", " xpos = cos(time)\n", " ypos = sin(time)\n", " xvel = -sin(time)\n", " yvel = cos(time)\n", " return (xpos, ypos, xvel, yvel)\n", "end" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(1.0, 0.0, -0.0, 1.0)" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tractor(0.0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The result will be a circle, an algebraic curve, not a function, but a pair of two functions $(x(t), y(t))$, one function for each coordinate." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "runcircle = [tractor(t) for t=0:0.01:2*pi];\n", "tractorpath = [(tpl[1],tpl[2]) for tpl in runcircle];" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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oEcIOiYJdG8b4cgtlng/6rxQnrlNOVOvdU3gaDvO8mHL5fu3KP/sIGwdK/WOwM8dcDAEIVzJ7t27s7KybvBNioqK1qxZ45B6LsnfQs+nigdvtqickr+3PblTKWt03qeB6+wt4zetUiauVm5pJhycKN3STEAGgjMgCOFKPvvss++///4G32TPnj1PPPGEQ+q5gghvequn+Mt4qbSBWn5ne3KnUtLg7M8EZ9lTyieuVkZmKIOi2NFJ0vTWuEAQnAjHCOGydu/evWXLFh8fn7q6urZt206dOvWZZ565/fbb//Of/6iq+tprr3377bebNm2qra3t3r373XffLUnndqclS5asXLmyoaFh4MCB48eP//zzz0+fPj1r1ixBEF5++WUiWrp06bJly3x9fW+//fbOnTsT0fbt20+cOOHn57dw4cK77rqrb9++11dznB/7oI/4eEfhlb1q6/m2O1oKj6bgokM92VzM/71H2VtGf0sRvhyAeyeBK+BXFlxWSEhIeHh4VFRUampqYmIiEc2ZM2fatGktW7bs06cPEW3ZsmXQoEETJkxYsGDBo48+av9fzz///KxZs3r37j1mzJjjx49LkpSUlOTr65uammrPvPfff//hhx8eOHBg8+bNhw4dum3bNiLavXv3Y4899sMPP4waNSosLOwGK4/3Y+/3FvdNlFROKT/I92xUDlXgzFK3pnJakqv2XSpP26CMiReOT5IebicgBcE1sKO5tTs2KBtddZdaH4k2jZECPX59JT4+PikpqUmTJrfccsv5F5944olx48bZH7/11ls2m624uPiZZ5656aab5s2bV1VV9fLLLx84cKBFixZENHbsWCLq27fv6tWrz7/Jyy+//Omnnw4bNoyIzpw5M3v27B9++IGI/P39P//8cwdOIx7lw+b0EJ/qJL5/SB38k9w5lM1MEQdFMXQP3UqdTF8cV+fuV/0t9Pf2wsRmgogtBK6FIHRrr3cXq2wuCkKJ0W9T8HJSUlLsD2RZvueee9atW2fvLJaUlFit1uPHjwcEBNhT8JLq6ury8vLsXUMi6tKliz0Fiahdu3bOuJlGiCc92VF4LEVIP64+slXhRA+2FaYkCb7Y97WWXc3fP6R+flTt11T4qK/YrykCELSBxsCthXlRmJd7tQ4Wi8X+YOHChUePHs3OzhYEIScnJyEhgXMeHBxcXV0ty/L544VE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", "image/svg+xml": [ "\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", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ], "text/html": [ "" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "plot(tractorpath, aspectratio=1, label=\"tractor\", xlims=(-1.2, 1.2))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To define the function for the trailer, we follow the syntax as required by the definition of the right hand side of the system of differential equations, as required by ``DifferentialEquations.jl``." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "trailer!" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\"\"\"\n", " function trailer!(du::Vector{Float64}, u::Vector{Float64}, p, t)\n", "\n", "defines the right hand side of the system for the trailer.\n", "\"\"\"\n", "function trailer!(du, u, p, t)\n", " x1p, x2p, x1v, x2v = tractor(t)\n", " du[1] = x1p - u[1]\n", " du[2] = x2p - u[2]\n", " nrm = sqrt(du[1]*du[1] + du[2]*du[2])\n", " du[1] = du[1]/nrm\n", " du[2] = du[2]/nrm\n", " vtu = x1v*du[1] + x2v*du[2]\n", " du[1] = vtu*du[1]\n", " du[2] = vtu*du[2]\n", "end" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(0, 20)" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "timespan = (0, 20)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "2-element Vector{Float64}:\n", " 2.0\n", " 0.0" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "initconds = [2.0, 0.0]" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "\u001b[38;2;86;182;194mODEProblem\u001b[0m with uType \u001b[38;2;86;182;194mVector{Float64}\u001b[0m and tType \u001b[38;2;86;182;194mInt64\u001b[0m. In-place: \u001b[38;2;86;182;194mtrue\u001b[0m\n", "Non-trivial mass matrix: \u001b[38;2;86;182;194mfalse\u001b[0m\n", "timespan: (0, 20)\n", "u0: 2-element Vector{Float64}:\n", " 2.0\n", " 0.0" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "odetractrix = ODEProblem(trailer!, initconds, timespan)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "retcode: Success\n", "Interpolation: 3rd order Hermite\n", "t: 39-element Vector{Float64}:\n", " 0.0\n", " 9.999999999999999e-5\n", " 0.0010999999999999998\n", " 0.011099999999999997\n", " 0.045999325716980274\n", " 0.09728271564001773\n", " 0.16079176633117237\n", " 0.24759896594881792\n", " 0.36262237559272426\n", " 0.520077325322635\n", " 0.7440094177211165\n", " 1.132116239089042\n", " 1.52548947655565\n", " â‹®\n", " 11.751909384886341\n", " 12.524522872882429\n", " 13.25444899712299\n", " 14.03023014535575\n", " 14.766932298520205\n", " 15.543381425388024\n", " 16.285765116457874\n", " 17.060633599822346\n", " 17.807953541691056\n", " 18.57901960964357\n", " 19.33086913837886\n", " 20.0\n", "u: 39-element Vector{Vector{Float64}}:\n", " [2.0, 0.0]\n", " [1.99999999, 6.666666593333332e-13]\n", " [1.999998790001098, 8.873321522941029e-10]\n", " [1.999876801384152, 9.116304443552371e-7]\n", " [1.9978874129707327, 6.473710469507343e-5]\n", " [1.9906026295655874, 0.0006074547393589874]\n", " [1.9746349289098342, 0.002694581765924437]\n", " [1.941353690674249, 0.00947654696819698]\n", " [1.8799939503400702, 0.027726712431016744]\n", " [1.772922636870178, 0.07183762411053551]\n", " [1.5958733923546977, 0.16714187224080201]\n", " [1.2706956967566, 0.372053179092874]\n", " [0.9432881690569128, 0.5589732146388726]\n", " â‹®\n", " [-0.11309919592609344, -0.12659921860323378]\n", " [0.006101419518942353, -0.15926681740250828]\n", " [0.10423174382238796, -0.10881765475369054]\n", " [0.1423332307353409, -0.0050205895034112396]\n", " [0.10372131976870878, 0.08699791948200472]\n", " [0.012813258306779476, 0.12802998087371253]\n", " [-0.07334287592643288, 0.09855910989154908]\n", " [-0.11584295476758899, 0.018566995179821723]\n", " [-0.09368332141138362, -0.06218184124152021]\n", " [-0.023112208632112212, -0.10531127843129551]\n", " [0.052741587131949916, -0.08924486392081174]\n", " [0.09346372337298622, -0.0362082468592208]" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "soltractrix = solve(odetractrix)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To plot the path of the trailer, we have to extract the coordinates, returned in the matrix sol.u, and store the coordinates as tuples." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "39-element Vector{Tuple{Float64, Float64}}:\n", " (2.0, 0.0)\n", " (1.99999999, 6.666666593333332e-13)\n", " (1.999998790001098, 8.873321522941029e-10)\n", " (1.999876801384152, 9.116304443552371e-7)\n", " (1.9978874129707327, 6.473710469507343e-5)\n", " (1.9906026295655874, 0.0006074547393589874)\n", " (1.9746349289098342, 0.002694581765924437)\n", " (1.941353690674249, 0.00947654696819698)\n", " (1.8799939503400702, 0.027726712431016744)\n", " (1.772922636870178, 0.07183762411053551)\n", " (1.5958733923546977, 0.16714187224080201)\n", " (1.2706956967566, 0.372053179092874)\n", " (0.9432881690569128, 0.5589732146388726)\n", " â‹®\n", " (-0.11309919592609344, -0.12659921860323378)\n", " (0.006101419518942353, -0.15926681740250828)\n", " (0.10423174382238796, -0.10881765475369054)\n", " (0.1423332307353409, -0.0050205895034112396)\n", " (0.10372131976870878, 0.08699791948200472)\n", " (0.012813258306779476, 0.12802998087371253)\n", " (-0.07334287592643288, 0.09855910989154908)\n", " (-0.11584295476758899, 0.018566995179821723)\n", " (-0.09368332141138362, -0.06218184124152021)\n", " (-0.023112208632112212, -0.10531127843129551)\n", " (0.052741587131949916, -0.08924486392081174)\n", " (0.09346372337298622, -0.0362082468592208)" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "trailerpath = [(x,y) for (x,y) in soltractrix.u]" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "image/svg+xml": [ "\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", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ], "text/html": [ "" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "plot(tractorpath, label=\"tractor\")\n", "plot!(trailerpath, label=\"trailer\")" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "# savefig(\"figtractortrailer.png\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To obtain a smoother path in the drawing, use the ``saveat`` option in the ``solve`` and ask to save at ``0.05``." ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "retcode: Success\n", "Interpolation: 1st order linear\n", "t: 401-element Vector{Float64}:\n", " 0.0\n", " 0.05\n", " 0.1\n", " 0.15\n", " 0.2\n", " 0.25\n", " 0.3\n", " 0.35\n", " 0.4\n", " 0.45\n", " 0.5\n", " 0.55\n", " 0.6\n", " â‹®\n", " 19.45\n", " 19.5\n", " 19.55\n", " 19.6\n", " 19.65\n", " 19.7\n", " 19.75\n", " 19.8\n", " 19.85\n", " 19.9\n", " 19.95\n", " 20.0\n", "u: 401-element Vector{Vector{Float64}}:\n", " [2.0, 0.0]\n", " [1.9975046758088275, 8.310418769264526e-5]\n", " [1.990074270806266, 0.0006594057371508452]\n", " [1.977871490528051, 0.002195544810899723]\n", " [1.9611546904934942, 0.005107714337163952]\n", " [1.9402605372999855, 0.009742783978296332]\n", " [1.9155826304019614, 0.016365614873067768]\n", " [1.8875491644398477, 0.025153410667667634]\n", " [1.8566003462497744, 0.03619674515220509]\n", " [1.8231711460194904, 0.04950400046495639]\n", " [1.7876726457001524, 0.06501466249701036]\n", " [1.750483849963239, 0.08260922112764692]\n", " [1.7119431842055919, 0.10212051915755188]\n", " â‹®\n", " [0.06256329887527222, -0.08186354021637646]\n", " [0.06639470166326628, -0.07844288588335285]\n", " [0.07004222706620733, -0.074845171368832]\n", " [0.07349823878925835, -0.0710801789259436]\n", " [0.07675548913956932, -0.06715798214879364]\n", " [0.07980711902627831, -0.06308894597246292]\n", " [0.08264665796050988, -0.058883726673009305]\n", " [0.08526802405537608, -0.054553271867466245]\n", " [0.08766552402597648, -0.0501088205138427]\n", " [0.08983385318939764, -0.0455619029111241]\n", " [0.0917680954647139, -0.04092434069927096]\n", " [0.09346372337298622, -0.0362082468592208]" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "soltractrix2 = solve(odetractrix, saveat=0.05)" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "trailerpath2 = [(x,y) for (x,y) in soltractrix2.u];" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlgAAAGQCAIAAAD9V4nPAAAABmJLR0QA/wD/AP+gvaeTAAAgAElEQVR4nOzdZ2BT1d8H8HNHdtKkadMJXbRQWqCUsvfeswiIGxQUFFyIuPdGUFQUUMStTAVkypJVRtm0bNpC90iaPe6953lRH/5QupP0Zvw+r1p6c+8vtMk359wzCIwxAgAAAPwVyXcBAAAAAJ8gCAEAAPg1CEIAAAB+DYIQAACAX4MgBAAA4NcgCAEAAPg1CEIAAAB+DYIQAACAX4MgBAAA4NcgCAEAAPg1zwpCjPHzzz/f8OMdDof7igEeDn77/oxhGL5LAPxgWdblK4MSHrXWKMMwEomk4W9wRqNRLpe7tSTgsQwGg0Kh4LsKwAOMsdlslslkfBcCeGC1Wmmapmnahef0rBYhAAAA0MwgCAEAAPg1CEIAAAB+DYIQAACAX3PN/UatVpuZmanX69PT02s7Ztu2bWfOnElJSRk2bJhLLgoAAAA4zwUtwj179oSFhT355JMPPvhgbcfMmzfv2Wef1ev1zzzzzPz5852/KAAAAOASLpg+YbFYKIo6e/Zs3759TSbT3QcUFxfHxMRkZ2fHxMTk5OQkJSXl5uZqNJq7j4TpE6DhYPqE34LpE/7MQ6dPSCQSoVBYxwF79+5t06ZNTEwMQigmJiYhIWHfvn3OXxcAAABwnitDtTYFBQXh4eG3vg0PD8/Pz6/tYI7jXnjhhVvf9urVa8SIEbUdbLPZBAKBq+oEHoLFqMJG6Oy40o70DkJnxzaOMDPIwiArixBCHEJ6B7LbCanILv//P2EpjUQUklJYQqMAAaEUYqUAqUREoBBTBI/PBrgexthms7m2TQC8hc1mY1mWZdkGHi8QCEiyniZfc/wlEcQdHbAYY4Ko651JpVLd+hr+1n1VuY3IMeI8I7ppJm6YULGVyDfhUhtRakU6O1ILsUpEKgVIKcRKISkisYxGYgpJaIQQIhBSCZCNwxSFdP/fj15gQTYWmRjSwiKDA+vsZKUd6ey4wkYGCrFGQoSIcaSUCJPgFlLUQoajZChGQaiFHrSyEgCAF80RM+Hh4UVFRbe+LSoqur2BWA1Jkq+88koDz+xwOEQikbP1ATezsuiCDmfrcLYOX6xElyvxVT2mSRSjIGPkREs5ig4guoWhFjJCI0bBYkIjbtBpDQabQlFXn3wVjFCZFZVacakF3TThQgvKM+IDpSjXiK8bMEZEqwCitZJoo0RtVURbFZGoIoQwq8izYYxZlvXJ1z7GePr06TUOtgD9+/efPXs2xtjl9whdttZoZmZmtcEyeXl5crlcrVZXDZa5cOFCdHQ0DJbxB2VWlFmGT5TjU+X4dDnOM+H4ACJJRSSqUBslkaAkWimIQKffxFwyWKbChq7q8aVKfLESX9ChLB2+ZsCxcqJDENFRTXQKJjoFE0E++H7r3Xx4sIzdbpfJZL/++ivfhXiczMzMrKysjRs3umOwjAvOVVFR8cQTT2i1WpvNNnny5JCQkC+//BIhNHXq1AkTJsybNy80NPTJJ58cPnz4xIkT161b99RTT9WYgsB7OTh0ogwfLsFHSvGREqy14U7BRKcgYmwU8Voq2UZJCDy1jaUWIbWG6KL5X1+9nUPZOnymAp8qx++f4k6WY42Y6KohuoUQPUOJjmqC9tTnAnwDSZKTJk3iuwqPIxaLs7Ky3HRy10yf2Lx5861vZTLZyJEjEUL79+8PDw+Pj4+v+vft27efPXu2Q4cOQ4cOre1U0CL0IjYWZZTgvYV4XyF3vAzHKYheYUT3EKKbhkhQ1nkT2EWaZ/oEh9GlSnykFGeU4ANFOM+Iu4UQfcPI/uFEtxDPDXjf5tstQoVCYbPZ+C7E42zatGnFihVuahHCNkygcc5W4O35eOdN7nAJTgok+ocTfcPIXqGEsv67dS7GyzxCnR0dKML7Crm9hfhSJe4VRgyJJIe3INqqYGRq84Eg9ENuDUIYkwnqZ2bQznzu7xt4yw0sptDwFsSsJHL1ILL5w493KiEaHUWMjqIQQlob2l3A7czHS85zGKORLYnRUeTACEJM8V0lAKAxIAhBrSpsaGMu92cu3lPAddYQo6PIF9qTCUpo+vwnUIQmxpITYxFCKFuH/76BPz7DTt2NB0eSE2KI0VGkyv8+KADgjSAIQXU6O9qQw62+xh0qxoMjyUmxxKp+AnhPr1vV1It57clyG9qcx629jp886OgbTkyOI8dFkwGw6gMAHgyCEPzHxqK/b3A/XcZ7CrlBEeS01uS6waQU/kAaKUiEHk4gH05ABge1OY/74xqec8gxJJJ8IJ4Y0ZKEGYoAeCB4nwPoaCledYlbfY3rGEQ8mED+0F8ALRjnKQRoaityaiuktVHrc7jF57gZ+9l7W5HTWpOpQdC9DLzJ8ePHo6OjnZz2lpOTY7FY2rZt66qqXAg+oPovnR19cZ5LWc/cv4eNlBEn0+l/RtIPJ0A/nosFitCjbci9o+gj42i1CE3Yyab9yXyTzekbOjgaAJ4988wzhw8fdvIkv//++2effeaSelwOWoT+6EQZXprNrbvOjWhJftaD6h/eHNP+QKyCeLMT9Xoq2lWAl1/gXj7umBxLzk4iO6jhvx94royMjKKiou3btxcVFaWlpcXHx//1118DBw786aefYmNjJ06cuH379szMTIqiBg8e3L1791sP3L59+5EjR2iaHjVqlEajOXr0aFlZ2fLlyzUazYQJE6oOOHToUHh4+NSpU5VKJUJo//79crk8Pz//0KFDTz31VERERPM8R2gR+hGGQ6uvcb02Men/sPEBxKXJgl8HUAMgBZsXSaAhkcSaQVTWPYIWMmLkdrb/38y66xzrQRN6AahVSUnJ7Nmz77//fqFQKBKJ8vLy1q1bFxYWplAo7r333g0bNlQdNmvWrAULFmg0GolEsnHjxrvP89prrz333HNhYWHHjh3r1KmTXq9HCP3666+TJ09es2ZNaGhow/eXcB60CP1CpR0tv8B9cZ6LD0Dz2pNjo0nYmYh3YRL0aiq5IIXckMstPse9cJR7Opl8tA0ph65pcBuM0MR/WIOjmT4oRUqJVf3umAnbvXv3sLCwYcOGjR07FiF0+fJlk8n0zTff3Lrb9/3331d9ERUVtXz58gkTJpw+ffqPP/64evVqYGDgrfN07dr1+vXrM2fORAhVVFQsXLjw3LlzrVq1QggNHTp0+fLl8+bNQwglJCT88MMPzfJc/weC0McVmtFn59jvLnLDW5J/DaVgmIanoUk0KZacFEseLcULz3DvnnI80Zack0SFSPiuDHgGAqH5HUhjc91Rbshq+HK5/FYKmkymWbNmZWRkUBRVtS8EQujUqVOpqam3p2A1ly5dUqvVVSmIEOrTp8+5c+eqvu7atauTT6EJIAh9Vq4Rf3Sa++Ma90A8eWICHSWHCPRoXTXE6kHUNQO58AzXdq3jgXhyfgcyUga/NYC6h3jWn8HtG2AtWrTIbrdnZ2dTFLVly5aqVp1UKjWbzdUedfs2tFKp1GKx3PrWbDZLpdKqr4VCHuYswz1CH5RjwDP2s2kbmEARujBJ8HkPClLQW8QpiKW9qPP3CIQk6rCeeeoQe9MENw8Bz1QqVUVFRY0/KikpiYmJqWoO/vjjj1X/2Lt376ysrKNHj1Z9W7V0qlKpLC8vr/qX1q1bi8Xiqt0aTCbTunXr+vfv7+5nUQcIQp9y04RnHWS7/MVESNHlyYL3OlMN3OQWeJQwCfqkG3VxkkAhQB3XM3MPs0WW+h8FgJs8+uij8+fPT01NXbFiRbUfPfLII999993o0aM7d+58ayHs8PDwb7/9duzYscOHDx80aNCMGTMQQmPGjDl16lRycvJDDz0kFotXrlw5c+bMESNGtGvXrnfv3vzuPAW7T/iIChv64BT7/SVuRiI5rwPlD3vJ8rL7RPMrsaAPT7M/XuYeb0vO70D54ULnd4PdJ5ofxlin00kkEqFQqNfrVSrVrR9VVlZmZWVFR0eHhISYzeaAgICqfzebzVlZWRKJpG3btiT5X6PLYDAghKpeuWazOTs7OywsLDIy8tZDSJIUi2v4/A67T4C6WFm05Dy38Aw7MZY8O1EQLuW7IOBSIRK0qDv1bHvyzUyu9RrHSynU7CRYqg00N4Igbg1+uT0FEUJKpbJHjx5VX99KQYSQVCrt3LlztfPc/uFVKpWmpaXd/tNbdwqbGbyevBhG6LerXOIa5kgJPjCG/roXBSnoq1rKiO/6UrtH0rsKuKS1zPocju+KAPAd0CL0VplleO5h1s6iH/tTfcNgLIxfSA4kNg2ldxfg5zLYL85zn/egYFUaAJwHLULvU2ZFMw+wY3Ywj7Uhj4yjIQX9zcAIInMCPSWOHLqVmXuY1dn5Lgj4uuPHj5eWljbqIWq1uqioCCF03333rVq1yi1luQ4EoTfhMFpxgUte55DRKPsewbTWJAkh6JcoAj3Rlsy6R8BwKGmt48fLnAeNeQM+pwmLbi9evLhq+VCbzcYwjHvqchnoGvUa57T48QMsQmjnCBo6xABCSC1CS3tRj7YhnzjAfn+J+6Y31UYJfxjAxXbv3n3z5s3169dnZ2f37t07KSnpp59+GjNmzMqVK+Pj4++9996//vrrxIkTJEkOHTr01nRAg8Fw95SEkpKSn3/+ubCwsGfPnlXrbut0ulWrVo0fP37lypWxsbHTpk1r5mdXBVqEXsDGotcy2UFbmIcTyANjIAXBHdKCiYxxdHoM2WcT8+5JzgHDaIBLSaVSmqZlMllgYKBYLC4rK3vppZemT58eERERHBxcUFCwb9++5OTk2NjYxx577I8//qh61Lx58yorK28/T15eXpcuXfR6fceOHRcvXvzaa68hhCoqKl566aVp06aFhYU5ud+hM6BF6OkySvD0f9mkQOJ0uiAM1p8ENaEINCeZHB9DzDrAdvmT+64vlRYMn5Z8BcalX7+MLcbmuRoVFBb0yCu3/8vdi26bzebly5cnJCRUHfDVV18hhPR6vVQqXbly5ZQpU2o883vvvffQQw+9+eabCKHhw4dHRUW9/vrrCCGr1fr1118nJia682nVA4LQc1lZ9Npx9per3JIe1D2x0HYH9WgpIzYPo3+5wo3azsxIJF9LpWC6oS8gCFX6LOxopin2pLj+OVgKheJWCur1+mnTph0/flyj0RiNxjrmuZ86daqsrGzr1q1V39rt9ry8PIIgpFIpvymIIAg91oky/OBetp2aOJMuCIZl0kCD3R9PDookHz/AdvuL+ak/1S4QmoZeTxAWxXcJd7h9XexFixbJZLKcnByCIDZv3jx//vzaHiWXy6dPnz558uRb/xIQEJCbm8vLKtvVwCdGj8Ni9P4pbsR25tVU8o+BFKQgaKwwCfprCDU3mRz4N7PoLAwoBc4KDAysbfpERUVFSEgIQRAsy65cubKOk4wePfqnn34SiUSBgYGBgYFms5miqDqOb04QhJ4lz4gH/s3sKuAyx9NTW8FvBzTdtNbkkXH0+hxu6FamsPqWOAA0wqxZs958881WrVotWbKk2o9mzJjx888/Dxo0KDU1Va1W13GSOXPmpKSkxMfHDxkyJDU19Z577nFnyY0Di257kA053KyD7HPtqXntYYJg/fxk0W0nsRi9e5JbdoH9rg89oqWP/FXBotu8qLoFePei22az+cqVK1FRUXK5/Nai22azWSKREARhs9koirp179BoNF67di04ODgiIgIhxHFctbPVBhbd9n02Fs07wm69iTcNpbtofOTdCngCikBvdCIHRRD372WnxBHvd6Zo6GgATXKr1VEtt6RSaYcOHaq+vrXo9q3ls2/fxbfqJLcORgiRJNmQFHQ3eE3wL8eAe29iCi0oczykIHCL3mHEiQl0tg73/5vJh51+AbgTBCHPtt7A3Tcy98eTawbBVnPAjYJEaONQenQU2eUvZncBZCEA/wNdo7zBCL17klt+gVs3mO4VCg1B4HYEQgtSyK4a4oG9TNWtaL4rAsAjQBDy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", "image/svg+xml": [ "\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", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ], "text/html": [ "" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "plot(tractorpath, label=\"tractor\")\n", "plot!(trailerpath2, label=\"trailer\")" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "# savefig(\"figtractortrailer2.png\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1.2 an animation" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The animation is defined by taking longer and longer slices of the paths for the tractor and the trailor." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We have to calculate the path of the tractor for the *same* time span as for the trailer." ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "runcircle2 = [tractor(t) for t in soltractrix2.t];\n", "tractorpath2 = [(tpl[1],tpl[2]) for tpl in runcircle2];" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To tests, let us plot the first half of the paths, for both the tractor and the trailer." ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "401" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "length(tractorpath2)" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "image/svg+xml": [ "\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", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ], "text/html": [ "" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "plot(tractorpath2[1:100], label=\"tractor\", xlims=(-1.1,2.1), ylims = (-1.1, 1.1))\n", "plot!(trailerpath2[1:100], label=\"trailer\")" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [], "source": [ "animTractorTrailer = Plots.Animation()\n", "for i = 10:10:length(tractorpath2)\n", " plot(tractorpath2[1:i], label=\"tractor\", \n", " xlims=(-1.1,2.1), ylims = (-1.1, 1.1))\n", " (xtp1, xtp2) = tractorpath2[i]\n", " scatter!([xtp1], [xtp2], legend=false)\n", " plot!(trailerpath2[1:i], label=\"trailer\")\n", " Plots.frame(animTractorTrailer)\n", "end" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To display the animation, create a gif and set the number of frames per second, defined by the ``fps`` keyword." ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "\u001b[36m\u001b[1m[ \u001b[22m\u001b[39m\u001b[36m\u001b[1mInfo: \u001b[22m\u001b[39mSaved animation to C:\\Users\\jan\\Courses\\MCS472\\Spring26\\Lec31\\tractortrailer2.gif\n" ] }, { "data": { "text/html": [ "" ], "text/plain": [ "Plots.AnimatedGif(\"C:\\\\Users\\\\jan\\\\Courses\\\\MCS472\\\\Spring26\\\\Lec31\\\\tractortrailer2.gif\")" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gif(animTractorTrailer, \"tractortrailer2.gif\", fps = 2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 2. A predator chasing a prey" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To model the pursuit of a predator chasing a prey, we can use as the right hand side\n", "\n", "$$\n", " y' = s(t) w,\n", "$$\n", "\n", "where\n", "\n", "* $s(t)$ is the speed of the predator, and\n", "\n", "* $w$ is the direction of the predator.\n", "\n", "This direction is computed as before, as in the fuction ``trailer!``." ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "predator!" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\"\"\"\n", " function predator!(du::Vector{Float64}, u::Vector{Float64}, p, t)\n", "\n", "defines the right hand side of the system for the predator,\n", "chasing a prey with accelerating speed.\n", "\"\"\"\n", "function predator!(du, u, p, t)\n", " x1p, x2p, x1v, x2v = tractor(t)\n", " acceleration = p\n", " speed = acceleration*t\n", " du[1] = x1p - u[1]\n", " du[2] = x2p - u[2]\n", " nrm = sqrt(du[1]*du[1] + du[2]*du[2])\n", " du[1] = speed*du[1]/nrm\n", " du[2] = speed*du[2]/nrm\n", "end" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We use the same initial conditions as before, but a shorter time span.\n", "So we have to recompute the path for the prey." ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "2-element Vector{Float64}:\n", " 2.0\n", " 0.0" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "timespan = (0, 13)\n", "initconds = [2.0, 0.0]" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "\u001b[38;2;86;182;194mODEProblem\u001b[0m with uType \u001b[38;2;86;182;194mVector{Float64}\u001b[0m and tType \u001b[38;2;86;182;194mInt64\u001b[0m. In-place: \u001b[38;2;86;182;194mtrue\u001b[0m\n", "Non-trivial mass matrix: \u001b[38;2;86;182;194mfalse\u001b[0m\n", "timespan: (0, 13)\n", "u0: 2-element Vector{Float64}:\n", " 2.0\n", " 0.0" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "odepursuit = ODEProblem(predator!, initconds, timespan, 0.1)" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "retcode: Success\n", "Interpolation: 1st order linear\n", "t: 261-element Vector{Float64}:\n", " 0.0\n", " 0.05\n", " 0.1\n", " 0.15\n", " 0.2\n", " 0.25\n", " 0.3\n", " 0.35\n", " 0.4\n", " 0.45\n", " 0.5\n", " 0.55\n", " 0.6\n", " â‹®\n", " 12.45\n", " 12.5\n", " 12.55\n", " 12.6\n", " 12.65\n", " 12.7\n", " 12.75\n", " 12.8\n", " 12.85\n", " 12.9\n", " 12.95\n", " 13.0\n", "u: 261-element Vector{Vector{Float64}}:\n", " [2.0, 0.0]\n", " [1.9998750778887264, 4.159597965517512e-6]\n", " [1.9995012316255802, 3.310313742474092e-5]\n", " [1.9988811406436149, 0.00011079533730710966]\n", " [1.9980189596856712, 0.00025960153658833435]\n", " [1.996919978612553, 0.0004997436733466243]\n", " [1.9955901427906861, 0.0008488732040038899]\n", " [1.9940355856955507, 0.0013218976487160028]\n", " [1.9922623051970356, 0.0019309107814266078]\n", " [1.9902758266310197, 0.00268523174582479]\n", " [1.9880808246528034, 0.0035918992425774325]\n", " [1.9856810920602979, 0.004655710285866903]\n", " [1.9830795300528845, 0.005879332177740532]\n", " â‹®\n", " [0.9892277595876519, -0.11869327472412329]\n", " [0.9979261097777211, -0.06847826391966577]\n", " [0.9982699776819656, -0.017658997235478292]\n", " [0.998990272294804, 0.03324847775376642]\n", " [0.9966984438652746, 0.08276396560353418]\n", " [0.991634209610256, 0.13217121365702889]\n", " [0.9818107474820394, 0.181028198953937]\n", " [0.9737677142663905, 0.23034216169374275]\n", " [0.9604303230843267, 0.278625675098697]\n", " [0.9439663064350162, 0.32577622709527093]\n", " [0.9270993154856692, 0.3726308029082528]\n", " [0.9074218016145142, 0.41927609380955194]" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "solpursuit = solve(odepursuit, saveat=0.05)" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [], "source": [ "runcircle3 = [tractor(t) for t in solpursuit.t];\n", "tractorpath3 = [(tpl[1],tpl[2]) for tpl in runcircle3];" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "image/svg+xml": [ "\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", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ], "text/html": [ "" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "predatorpath = [(x,y) for (x,y) in solpursuit.u];\n", "plot(tractorpath3, label=\"prey\")\n", "plot!(predatorpath, label=\"predator\")" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [], "source": [ "# savefig(\"figpredatorprey1.png\")" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [], "source": [ "animChasingPredator = Plots.Animation()\n", "for i = 10:10:length(tractorpath3)\n", " plot(tractorpath3[1:i], label=\"tractor\", \n", " xlims=(-1.1,2.1), ylims = (-1.1, 1.1))\n", " (xtp1, xtp2) = tractorpath3[i]\n", " scatter!([xtp1], [xtp2], legend=false)\n", " plot!(predatorpath[1:i], label=\"predator\")\n", " Plots.frame(animChasingPredator)\n", "end" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "\u001b[36m\u001b[1m[ \u001b[22m\u001b[39m\u001b[36m\u001b[1mInfo: \u001b[22m\u001b[39mSaved animation to C:\\Users\\jan\\Courses\\MCS472\\Spring26\\Lec31\\chasingpredator2.gif\n" ] }, { "data": { "text/html": [ "" ], "text/plain": [ "Plots.AnimatedGif(\"C:\\\\Users\\\\jan\\\\Courses\\\\MCS472\\\\Spring26\\\\Lec31\\\\chasingpredator2.gif\")" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gif(animChasingPredator, \"chasingpredator2.gif\", fps = 2)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Julia 1.12", "language": "julia", "name": "julia-1.12" }, "language_info": { "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", "version": "1.12.4" }, "latex_envs": { "LaTeX_envs_menu_present": true, "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 } }, "nbformat": 4, "nbformat_minor": 4 }