{ "cells": [ { "cell_type": "markdown", "id": "a6c103be", "metadata": {}, "source": [ "# Three-body problem animation" ] }, { "cell_type": "markdown", "id": "d0835f4d", "metadata": {}, "source": [ "This is example of an animation of the 3-body problem. The notebook follows the presentation in \n", "\n", "https://github.com/tom26/JuliaFun/blob/master/2D%203-Body%20Problem.ipynb\n" ] }, { "cell_type": "markdown", "id": "547f4eea", "metadata": {}, "source": [ "We start by loading the relevant packages:" ] }, { "cell_type": "code", "execution_count": 1, "id": "47f822a8", "metadata": {}, "outputs": [], "source": [ "using Base64\n", "using PyPlot\n", "using OrdinaryDiffEq\n", "using LinearAlgebra" ] }, { "cell_type": "code", "execution_count": 2, "id": "2fab482e", "metadata": {}, "outputs": [], "source": [ "using PyCall\n", "@pyimport matplotlib.animation as animation" ] }, { "cell_type": "markdown", "id": "7c28e5e0", "metadata": {}, "source": [ "The system of ODEs we are gong to solve is as follows:\n", "\n", "$$\\frac{d^2\\mathbf{r}_i}{dt^2} = \\sum_j G\\frac{m_j}{||\\mathbf{r}_i-\\mathbf{r}_j||^3}(\\mathbf{r}_j-\\mathbf{r}_i) ,$$\n", "\n", "where $\\mathbf{r}_i$ are position vectors for each mass.\n", "\n", "We convert this into the following system of first order ODEs:\n", "\n", "$$\\begin{eqnarray}\n", "\\frac{d\\mathbf{r}_i}{dt} & = & \\mathbf{v}_i , \\\\\n", "\\frac{d\\mathbf{v}_i}{dt} & = & \\sum_j G\\frac{m_j}{||\\mathbf{r}_i-\\mathbf{r}_j||^3}(\\mathbf{r}_j-\\mathbf{r}_i) .\n", "\\end{eqnarray}$$\n", "\n", "Next, we introduce dimensionless units, measuring masses in units of $M_0$, distances in units of $R_0$, and time in units of $T_0$. The choice of $M_0$, $R_0$, and $T_0$ is at this stage arbitrary, except the parameters must satisfy the relation $$G \\frac{T_0^2 \\, M_0}{R_0^3} = 1 .$$ We measure velocities in units of $R_0/T_0$ and accelerations in the units of $R_0/T_0^2$.\n", "\n", "The equations of motion are as follws,\n", "$$\\begin{eqnarray}\n", "\\frac{d\\mathbf{r}_i}{dt} & = & \\mathbf{v}_i , \\\\\n", "\\frac{d\\mathbf{v}_i}{dt} & = & \\sum_j \\frac{m_j}{||\\mathbf{r}_i-\\mathbf{r}_j||^3}(\\mathbf{r}_j-\\mathbf{r}_i) .\n", "\\end{eqnarray}$$, where we keep the notations $\\mathbf{r}_j$, $\\mathbf{v}_j$, $m_j$, and $t$ but those variables are now dimensionless. \n", "\n", "We encode all of the position and velocity vectors in one vector $y$, in the format:\n", "\n", "$$y = [\\text{First Planet's Position}, \\text{First Planet's Velocity}, \\text{Second Planet's Position}, \\text{Second Planet's Velocity},\\ldots]$$\n", "\n", "To start, we must define the right hand side of the sytem above, as this is what the ODE solver requires." ] }, { "cell_type": "code", "execution_count": 3, "id": "f6dbc761", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "forcef" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\"\"\"\n", " forcef(a1, a2)\n", "\n", "Gravitational (attraction) force acting on a mass in 'a2' from a mass in 'a1'\n", "(sans scalar mass and G factors).\n", "\"\"\"\n", "@inline function forcef(a1, a2)\n", " d = a1 - a2\n", " return d / norm(d)^3\n", "end" ] }, { "cell_type": "code", "execution_count": 4, "id": "48a8ad37", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "totalenergy" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\"\"\"\n", " totalenergy(u, p)\n", "\n", "Total energy of a three-body system\n", "\"\"\"\n", "@views function totalenergy(u, p)\n", " # unpack variables and parameters\n", " r1, r2, r3 = u[1:2], u[5:6], u[9:10] # position vectors\n", " v1, v2, v3 = u[3:4], u[7:8], u[11:12] # velocity vectors\n", " m1, m2, m3 = p[1], p[2], p[3] # masses\n", "\n", " T = (m1 * norm(v1)^2 + m2 * norm(v2)^2 + m3 * norm(v3)^2) / 2\n", " V = -(m1 * m2 / norm(r1 - r2) + m1 * m3 / norm(r1 - r3) + m2 * m3 / norm(r2 - r3))\n", "\n", " return T + V\n", "end" ] }, { "cell_type": "markdown", "id": "b6114eb9", "metadata": {}, "source": [ "Let's define the right hand side of the sytem above." ] }, { "cell_type": "code", "execution_count": 5, "id": "a1e3c5cd", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "threebody! (generic function with 1 method)" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "@views function threebody!(dudt, u, p, t)\n", " # unpack variables and parameters\n", " r1, r2, r3 = u[1:2], u[5:6], u[9:10] # position vectors\n", " v1, v2, v3 = u[3:4], u[7:8], u[11:12] # velocity vectors\n", " m1, m2, m3 = p[1], p[2], p[3] # masses\n", "\n", " # The derivatives of the position are the velocities\n", " dr1dt = v1\n", " dr2dt = v2\n", " dr3dt = v3\n", "\n", " # Calculate the force factors between the bodies\n", " d1 = forcef(r3, r2)\n", " d2 = forcef(r1, r3)\n", " d3 = forcef(r2, r1)\n", "\n", " # Calculate the accelerations\n", "\n", " # Expressions for dv1dt, dv2dt, and dv3dt that reuse d1, d2, and d3\n", " dv1dt = m2 * d3 - m3 * d2\n", " dv2dt = m3 * d1 - m1 * d3\n", " dv3dt = m1 * d2 - m2 * d1\n", "\n", " # Assemble the derivative vector\n", " dudt .= [dr1dt; dv1dt; dr2dt; dv2dt; dr3dt; dv3dt]\n", "\n", " return nothing\n", "end\n" ] }, { "cell_type": "markdown", "id": "d668d8e1", "metadata": {}, "source": [ "We can now set the parameters and integrate the equations of motion." ] }, { "cell_type": "code", "execution_count": 6, "id": "693f3bd0", "metadata": {}, "outputs": [], "source": [ "# Planetary masses\n", "m1 = 5.0\n", "m2 = 4.0\n", "m3 = 3.0\n", "\n", "m = [m1, m2, m3];" ] }, { "cell_type": "code", "execution_count": 7, "id": "58996fc6", "metadata": {}, "outputs": [], "source": [ "# Initial positions and velocities \n", "r10 = [ 1.01, -1.0] \n", "v10 = [ 0.0, 0.0]\n", "r20 = [ 1.0, 3.0] \n", "v20 = [ 0.0, 0.0]\n", "r30 = [-2.0, -1.0] \n", "v30 = [ 0.0, 0.0]\n", "pos0 = vcat(r10, v10, r20, v20, r30, v30);" ] }, { "cell_type": "code", "execution_count": 8, "id": "c4cefda8", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "-12.38337307939218" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "E0 = totalenergy(pos0, m)" ] }, { "cell_type": "code", "execution_count": 9, "id": "b982453b", "metadata": {}, "outputs": [], "source": [ "# Simulation time\n", "tf = 50.0\n", "tspan = (0.0, tf)\n", "\n", "# Solve the system\n", "prob = ODEProblem(threebody!, pos0, tspan, m)\n", "sol = solve(prob, Tsit5(), abstol=1e-10, reltol=1e-10);" ] }, { "cell_type": "code", "execution_count": 11, "id": "3cf10fcc-a55f-4f28-9f4e-1282858cb6ea", "metadata": {}, "outputs": [], "source": [ "stepsPerUnitTime = 330\n", "np = Int(round(tf)) * stepsPerUnitTime;" ] }, { "cell_type": "code", "execution_count": 12, "id": "4abd71ef-4864-4282-bf7e-e4eef3d53a7c", "metadata": {}, "outputs": [], "source": [ "t = range(tspan[1], tspan[2], np)\n", "s = sol(t);" ] }, { "cell_type": "code", "execution_count": 13, "id": "4c59d11f", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjkAAAHACAYAAABAnnkhAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzt3Xl8VNXdx/HvJJkkJCTsW2SVXbZCAEFQ9sjiQutj3VrXLipa0dYKiAqIglatbW21LqXaFuFpFZeHpcQFEBWFsAqIrCJrBCELgWSS3OcPJGTINsuduUs+79eL1ytz586ZX05C8s25557jMQzDEAAAgMvEWF0AAABAJBByAACAKxFyAACAKxFyAACAKxFyAACAKxFyAACAKxFyAACAKxFyAACAKxFyAACAKxFyAACAK9XKkLNixQpdfvnlSktLk8fj0VtvvRXR9ysuLtbUqVPVrl071alTR+eff75mzJih0tLSiL4vAAC1WZzVBVjhxIkT6tWrl2655RZdddVVEX+/J554Qi+88IJeffVVdevWTWvWrNEtt9yievXq6Z577on4+wMAUBvVypAzZswYjRkzpsrni4qKNHXqVP3rX//S8ePH1b17dz3xxBMaOnRoSO/36aef6sorr9S4ceMkSW3bttXrr7+uNWvWhNQeAACoWa28XFWTW265RR9//LHmzZunjRs36uqrr9bo0aO1ffv2kNobPHiw3n//fX311VeSpA0bNmjlypUaO3asmWUDAIByauVITnV27typ119/Xfv27VNaWpok6Te/+Y2WLFmiOXPm6PHHHw+6zQceeEA5OTnq0qWLYmNjVVJSoscee0zXXXed2eUDAIDvEXLOsXbtWhmGoU6dOvkdLywsVKNGjSRJe/bsUbt27aptZ8KECXruueckSfPnz9c///lPzZ07V926ddP69es1ceJEpaWl6aabborMJwIAQC1HyDlHaWmpYmNjlZWVpdjYWL/n6tatK0k677zztHXr1mrbadCgQdnH999/vyZNmqRrr71WktSjRw99/fXXmjVrFiEHAIAIIeSco3fv3iopKVF2drYuvvjiSs/xer3q0qVLwG0WFBQoJsZ/+lNsbCy3kAMAEEG1MuTk5+drx44dZY93796t9evXq2HDhurUqZNuuOEG3XjjjXr66afVu3dvHTlyRB988IF69OgR0mThyy+/XI899phat26tbt26ad26dXrmmWd06623mvlpAQCAcjyGYRhWFxFty5Yt07Bhwyocv+mmm/T3v/9dPp9PM2fO1Guvvab9+/erUaNGGjhwoKZPn64ePXoE/X55eXl66KGHtGDBAmVnZystLU3XXXedHn74YcXHx5vxKQEAgHPUypADAADcj3VyAACAKxFyAACAK9WqicelpaU6cOCAUlJS5PF4rC4HAAAEwDAM5eXlKS0trcLdytWpVSHnwIEDatWqldVlAACAEHzzzTdq2bJlwOfXqpCTkpIi6XQnpaammtauz+fT0qVLlZGRIa/Xa1q78Ec/Rw99HR30c3TQz9ERyX7Ozc1Vq1atyn6PB8pRIWf//v164IEHtHjxYp08eVKdOnXSK6+8ovT09IBef+YSVWpqqukhJykpSampqfwHiiD6OXro6+ign6ODfo6OaPRzsFNNHBNyjh07pkGDBmnYsGFavHixmjZtqp07d6p+/fpWlwYAAGzIMSHniSeeUKtWrTRnzpyyY23btrWuIAAAYGuOuYX8nXfeUd++fXX11VeradOm6t27t1566SWrywIAADblmJGcXbt26fnnn9d9992nKVOm6PPPP9evfvUrJSQk6MYbb6z0NYWFhSosLCx7nJubK+n0dUOfz2dabWfaMrNNVEQ/Rw99HR30c3TQz9ERyX4OtU3HbOsQHx+vvn376pNPPik79qtf/UqrV6/Wp59+Wulrpk2bpunTp1c4PnfuXCUlJUWsVgAAYJ6CggJdf/31ysnJCerGIceM5LRo0UIXXHCB37GuXbvqjTfeqPI1kydP1n333Vf2+MwtaBkZGabfXZWZmalRo0Yxcz+C6Ofooa+jg36ODvo5OiLZz2euxATLMSFn0KBB2rZtm9+xr776Sm3atKnyNQkJCUpISKhw3Ov1RuQbPVLtwh/9HD30dXTQz9FBP0dHJPo51PYcM/H43nvv1apVq/T4449rx44dmjt3rl588UVNmDDB6tIAAIANOSbk9OvXTwsWLNDrr7+u7t2769FHH9Wzzz6rG264werSAACADTnmcpUkXXbZZbrsssusLgMAADiAY0ZyAAAAgkHIAQAArkTIAQDA5gzD0ClfidVlOA4hBwAAm7v176vV5aElOphz0upSHIWQAwCAzX247VtJ0htZ+yyuxFkIOQAAOMTa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", "text/plain": [ "Figure(PyObject
)" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Energy change\n", "energy = zeros(np);\n", "for i = 1:np\n", " energy[i] = totalenergy(s[i], m) - E0\n", "end\n", "\n", "figure(1)\n", "plot(t, energy)\n", "grid(true)\n", "xlabel(L\"t\")\n", "ylabel(L\"\\Delta E\");" ] }, { "cell_type": "markdown", "id": "dcf078c0", "metadata": {}, "source": [ "## Trajectory" ] }, { "cell_type": "code", "execution_count": 14, "id": "a2374efa", "metadata": {}, "outputs": [], "source": [ "# Extract coordinates\n", "x1 = s[1, :];\n", "y1 = s[2, :];\n", "\n", "x2 = s[5, :];\n", "y2 = s[6, :];\n", "\n", "x3 = s[9, :];\n", "y3 = s[10, :];\n", "\n", "traj = (x1, x2, x3, y1, y2, y3);" ] }, { "cell_type": "code", "execution_count": 15, "id": "12ffe308", "metadata": {}, "outputs": [], "source": [ "# Find axis limits\n", "rxs = vcat(x1, x2, x3)\n", "xmin = minimum(rxs)\n", "xmax = maximum(rxs)\n", "xmin = xmin - 0.1*(xmax - xmin) \n", "xmax = xmax + 0.1*(xmax - xmin)\n", "\n", "rys = vcat(y1, y2, y3)\n", "ymin = minimum(rys)\n", "ymax = maximum(rys)\n", "ymin = ymin - 0.1*(ymax-ymin) \n", "ymax = ymax + 0.1*(ymax-ymin);" ] }, { "cell_type": "code", "execution_count": 16, "id": "12290d4c", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "Figure(PyObject
)" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "figure(2)\n", "xlim(xmin, xmax)\n", "ylim(ymin, ymax)\n", "grid(true)\n", "axis(\"equal\")\n", "plot(x1, y1, \"r-\")\n", "plot(x2, y2, \"g-\")\n", "plot(x3, y3, \"b-\")\n", " \n", "# Plot the start and end points\\n\",\n", " \n", "plot(x1[1], y1[1], \"ro\")\n", "plot(x1[end], y1[end], \"rs\")\n", "plot(x2[1], y2[1], \"go\")\n", "plot(x2[end], y2[end], \"gs\")\n", "plot(x3[1], y3[1], \"bo\")\n", "plot(x3[end], y3[end], \"bs\");" ] }, { "cell_type": "markdown", "id": "21e551a1", "metadata": {}, "source": [ "## Animation" ] }, { "cell_type": "markdown", "id": "3ce75d50", "metadata": {}, "source": [ "A tutorial on making animations with Matplotlib:\n", "\n", "https://medium.com/@qiaofengmarco/animate-your-data-visualization-with-matplotlib-animation-3e3c69679c90" ] }, { "cell_type": "code", "execution_count": 17, "id": "596ecb35", "metadata": {}, "outputs": [], "source": [ "# Turn interactive plotting off to avoid plotting of an empty figure\n", "# pygui(true)\n", "ioff();" ] }, { "cell_type": "code", "execution_count": 18, "id": "41170164", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaIAAAGgCAYAAADow2NkAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAEi9JREFUeJzt3V9slfX9wPHPoQyKrj0bNOAIBRpmggsxSnHEfxtE02m8EC/YTJwJRsmaFAbjYox5IduFJ9lYdsEms16wLcZpskXFZGb2hj+LMQN00W3RRY2hoWPQxZzDuDhEeH4Xi806sLTsd87ndLxeyZPY5zw93w8neN55zvPQloqiKAIAkszIHgCAK5sQAZBKiABIJUQApBIiAFIJEQCphAiAVEIEQCohAiCVEAGQSogASDUze4CJnD9/PkZGRqKjoyNKpVL2OABMoCiKOH36dCxcuDBmzJj8eU5Lh2hkZCS6u7uzxwBgCoaHh2PRokWTPr6lQ9TR0RER//pDdXZ2Jk8DwERqtVp0d3ePvXdPVkuH6OOP4zo7O4UIYJqY6qUUNysAkEqIAEglRACkEiIAUgkRAKmECIBUQgRAKiECIJUQAZBKiABIJUQApBIiAFIJEQCphAiAVEIEQCohAiCVEAGQSogASCVEAKQSIgBSCREAqYQIgFRCBEAqIQIglRABkEqIAEglRACkEiIAUgkRAKmECIBUQgRAKiECIJUQAZBKiABI1bQQVSqVKJVKsXXr1mYtCcA00JQQHT58OAYHB+P6669vxnIATCMND9E///nPeOCBB+Kpp56Kz372s41eDoBppuEhGhgYiHvuuSfuvPPOSx5br9ejVquN2wD43zazkU/+7LPPxuuvvx6HDx+e1PGVSiW+973vNXIkAFpMw86IhoeHY8uWLfH0009He3v7pL5nx44dUa1Wx7bh4eFGjQdAiygVRVE04olfeOGFuO+++6KtrW1s37lz56JUKsWMGTOiXq+Pe+xiarValMvlqFar0dnZ2YgxAfh/crnv2Q37aO6OO+6It956a9y+hx56KJYvXx7bt2+/ZIQAuDI0LEQdHR2xYsWKcfuuvvrqmDdv3gX7Abhy+ckKAKRq6F1z/2n//v3NXA6AacAZEQCphAiAVEIEQCohAiCVEAGQSogASCVEAKQSIgBSCREAqYQIgFRCBEAqIQIglRABkEqIAEglRACkEiIAUgkRAKmECIBUQgRAKiECIJUQAZBKiABIJUQApBIiAFIJEQCphAiAVEIEQCohAiCVEAGQSogASCVEAKQSIgBSCREAqYQIgFRCBEAqIQIglRABkEqIAEglRACkEiIAUgkRAKmECIBUQgRAKiECIJUQAZBKiABIJUQApBIiAFIJEQCphAiAVEIEQCohAiCVEAGQSogASCVEAKQSIgBSCREAqYQIgFRCBEAqIQIglRABkEqIAEjV0BBVKpW46aaboqOjI+bPnx/r1q2Ld955p5FLAjDNNDREBw4ciIGBgXjttddiaGgoPvroo+jr64szZ840clkAppFSURRFsxY7depUzJ8/Pw4cOBBf+tKXLni8Xq9HvV4f+7pWq0V3d3dUq9Xo7Oxs1pgAXIZarRblcnnK79lNvUZUrVYjImLu3LkXfbxSqUS5XB7buru7mzkeAAmadkZUFEXce++98eGHH8ahQ4cueowzIoDp63LPiGY2cKZxNm3aFG+++Wb8/ve//8RjZs+eHbNnz27WSAC0gKaEaPPmzbFv3744ePBgLFq0qBlLAjBNNDRERVHE5s2b4/nnn4/9+/dHT09PI5cDYBpqaIgGBgbimWeeiRdffDE6OjrixIkTERFRLpdjzpw5jVwagGmioTcrlEqli+7fu3dvbNiw4ZLff7kXvgBovpa8WaGJ/0QJgGnKz5oDIJUQAZBKiABIJUQApBIiAFIJEQCphAiAVEIEQCohAiCVEAGQSogASCVEAKQSIgBSCREAqYQIgFRCBEAqIQIglRABkEqIAEglRACkEiIAUgkRAKmECIBUQgRAKiECIJUQAZBKiABIJUQApBIiAFIJEQCphAiAVEIEQCohAiCVEAGQSogASCVEAKQSIgBSCREAqYQIgFRCBEAqIQIglRABkEqIAEglRACkEiIAUgkRAKmECIBUQgRAKiECIJUQAZBKiABIJUQApBIiAFIJEQCphAiAVEIEQCohAiCVEAGQSogASCVEAKQSIgBSNSVETzzxRPT09ER7e3v09vbGoUOHmrEsANNAw0P03HPPxdatW+PRRx+NN954I26//fa4++6749ixY41eGoBpoFQURdHIBVavXh0rV66MPXv2jO277rrrYt26dVGpVMYdW6/Xo16vj31dq9Wiu7s7qtVqdHZ2NnJMAP5L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3+ejOQBSCREAqYQIgFRCBEAqIQIglRC1sA8++CAefvjh6OnpiTlz5sSyZcvisccei7Nnz2aPluaJJ56Inp6eaG9vj97e3jh06FD2SC2jUqnETTfdFB0dHTF//vxYt25dvPPOO9ljtaxKpRKlUim2bt2aPUrLOH78eHz961+PefPmxVVXXRU33HBDHD16tOHrClELe/vtt+P8+fPx5JNPxp///Of48Y9/HD/72c/iu9/9bvZoKZ577rnYunVrPProo/HGG2/E7bffHnfffXccO3Yse7SWcODAgRgYGIjXXnsthoaG4qOPPoq+vr44c+ZM9mgt5/DhwzE4OBjXX3999igt48MPP4xbb701PvWpT8XLL78cf/nLX+JHP/pRfOYzn2n84gXTyg9+8IOip6cne4wUX/ziF4v+/v5x+5YvX1585zvfSZqotZ08ebKIiOLAgQPZo7SU06dPF9dee20xNDRUfPnLXy62bNmSPVJL2L59e3HbbbelrO2MaJqpVqsxd+7c7DGa7uzZs3H06NHo6+sbt7+vry9effXVpKlaW7VajYi4Iv++TGRgYCDuueeeuPPOO7NHaSn79u2LVatWxfr162P+/Plx4403xlNPPdWUtYVoGnnvvfdi9+7d0d/fnz1K042Ojsa5c+diwYIF4/YvWLAgTpw4kTRV6yqKIrZt2xa33XZbrFixInuclvHss8/G66+/HpVKJXuUlvP+++/Hnj174tprr43f/e530d/fH9/85jfjl7/8ZcPXFqIEO3fujFKpNOF25MiRcd8zMjISd911V6xfvz4eeeSRpMnz/efvpSqK4or6XVWTtWnTpnjzzTfjV7/6VfYoLWN4eDi2bNkSTz/9dLS3t2eP03LOnz8fK1eujMcffzxuvPHG+MY3vhEbN26MPXv2NHxtP/EvwaZNm+L++++f8JilS5eO/ffIyEisXbs2br755hgcHGzwdK2pq6sr2traLjj7OXny5AVnSVe6zZs3x759++LgwYNX9O/z+k9Hjx6NkydPRm9v79i+c+fOxcGDB+MnP/lJ1Ov1aGtrS5ww1+c+97n4whe+MG7fddddF7/5zW8avrYQJejq6oqurq5JHXv8+PFYu3Zt9Pb2xt69e6f0Ww//l8yaNSt6e3tjaGgo7rvvvrH9Q0NDce+99yZO1jqKoojNmzfH888/H/v374+enp7skVrKHXfcEW+99da4fQ899FAsX748tm/ffkVHKCLi1ltvveB2/7/+9a+xZMmShq8tRC1sZGQk1qxZE4sXL45du3bFqVOnxh675pprEifLsW3btnjwwQdj1apVY2eHx44duyKvmV3MwMBAPPPMM/Hiiy9GR0fH2NljuVyOOXPmJE+Xr6Oj44LrZVdffXXMmzfPdbSI+Na3vhW33HJLPP744/HVr341/vCHP8Tg4GBzPoVJuVePSdm7d28RERfdrlQ//elPiyVLlhSzZs0qVq5c6dbkf/NJf1f27t2bPVrLcvv2eC+99FKxYsWKYvbs2cXy5cuLwcHBpqzr9xEBkOrKvOAAQMsQIgBSCREAqYQIgFRCBEAqIQIglRABkEqIAEglRACkEiIAUgkRAKn+D6kixbmm3sr2AAAAAElFTkSuQmCC", "text/plain": [ "Figure(PyObject
)" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Initiate the figure and the artists\n", "fig = figure()\n", "\n", "xlim(xmin, xmax)\n", "ylim(ymin, ymax)\n", "\n", "ax = gca()\n", "\n", "ax.set_aspect(1);\n", "\n", "line1 = ax.plot([], [], \"r-\")[1]\n", "line2 = ax.plot([], [], \"g-\")[1]\n", "line3 = ax.plot([], [], \"b-\")[1]\n", "\n", "p1 = ax.plot([], [], \"or\")[1]\n", "p2 = ax.plot([], [], \"og\")[1]\n", "p3 = ax.plot([], [], \"ob\")[1];" ] }, { "cell_type": "code", "execution_count": 19, "id": "4f660170", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "animate! (generic function with 1 method)" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "step = 10 # plot every step's datapoint\n", "taillen = 50\n", "\n", "@views function animate!(i, step, taillen, traj, line1, line2, line3, p1, p2, p3)\n", " k = i + 1\n", " m = max(1, step*(k-taillen))\n", " n = step*k\n", " \n", " x1, x2, x3, y1, y2, y3 = traj\n", " \n", " line1.set_data(x1[m:n], y1[m:n])\n", " line2.set_data(x2[m:n], y2[m:n])\n", " line3.set_data(x3[m:n], y3[m:n])\n", " \n", " p1.set_data([x1[n]], y1[n])\n", " p2.set_data([x2[n]], y2[n])\n", " p3.set_data([x3[n]], y3[n])\n", " \n", " # return (line1, line2, line3, nothing) # if blit=false\n", " return (line1, line2, line3) # if blit=true\n", "end" ] }, { "cell_type": "code", "execution_count": 20, "id": "3bf4d0f3", "metadata": {}, "outputs": [], "source": [ "# Call the animator:\n", "# the 'frames' parameter determines the length of the animation\n", "# the 'interval' parameter determines time in milliseconds between drawing of two frames\n", "anim = animation.FuncAnimation(fig, animate!,\n", " frames=Int(floor(np/step)), interval=20,\n", " fargs=[step, taillen, traj, line1, line2, line3, p1, p2, p3], blit=true);" ] }, { "cell_type": "code", "execution_count": 21, "id": "c3b222b6", "metadata": {}, "outputs": [], "source": [ "filename = \"three-body-2d.mp4\"\n", "# This requires ffmpeg to be installed\n", "anim.save(filename, bitrate=-1, extra_args=[\"-vcodec\", \"libx264\", \"-pix_fmt\", \"yuv420p\"])" ] }, { "cell_type": "markdown", "id": "6ce22e9e", "metadata": {}, "source": [ "## Embedded animation" ] }, { "cell_type": "code", "execution_count": 22, "id": "a3ccb3fb", "metadata": {}, "outputs": [ { "data": { "text/html": [ "