{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# What is the fastest possible volleyball serve?"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**A computational essay by Karl Henrik Fredly, undergraduate at the University of Oslo (karlhf@student.uv.uio.no)**"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"When I was in high school I really liked playing volleyball. Getting a good serve, spike or block always felt great. Me and my friend Filip used to practice serving after school, hitting the ball back and forth. But his serves were always way better than mine, having much more power and spin. On the court his serves were an absolute pain to return, while mine were just decent. I could never quite figure it out. But maybe I can now? By using my knowledge about physics and computation, can I find out what it takes to make the fastest possible serve? It's worth a shot.\n",
"\n",
"To do the calculations I will use numpy. And to show my results I will use matplotlib."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## The rules"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In volleyball, the goal is to make the ball hit the floor on your opponents side of the net. The strategy then, is to make it as hard as possible for the opponent to catch the ball, often by setting up for a spike by the net after your team catches the ball. To get the ball into play, you serve the ball from behind the court, over to your opponents side, where they try to catch it. It is beneficial to also make their initial catch of the ball as difficult as possible, either by making the serve fast or unpredictable.\n",
"\n",
"When I say \"the fastest possible serve\", what I mean is the serve that spends the least amount of time in the air before hitting the opponents floor, giving my opponents the smallest amount of time possible to react to my serve.\n",
"\n",
"Before I tackle the problem, I'll need to define some parameters, as the court, net, ball and air will affect the outcome of the serve. Information about the court, net and ball were taken from the FIVB.\n",
"\n",
"A volleyball court is 18m by 9m, and the net has a height of 2.43m, standing tall in the middle of the court. The ball weighs 270g, and has a radius of 10,5cm."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"outX = 18\n",
"netX = 9\n",
"netheight = 2.43\n",
"ballmass = 0.265\n",
"radius = 0.105\n",
"A = np.pi * radius**2 #Cross sectional area"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Womens volleyball semifinals - Source: Paul Simpsons."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## The forces acting on the ball"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In order to find the fastest possible serve, I'll have to know how the ball moves through the air. The things that affect the movement of the ball are the initial conditions of the serve, and the forces acting on the ball. I'll define the forces first."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Gravity"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Throughout the serve, gravity will apply a constant force on the ball, pulling it down. At sea level, the force is given by $G = mg$, with $m$ being the mass of the ball, and $g$ being the standard acceleration due to gravity. Newtons second law gives us that force equals mass times acceleration, which means that:\n",
"\n",
"$$F = ma \\Rightarrow a = \\frac{F}{m} = \\frac{G}{m} = \\frac{mg}{m} = g$$\n",
"\n",
"This means that gravity will constantly give an acceleration of $g = 9.81 m/s^2$ downward."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"g = [0, -9.81] #I'm calculationg the movement of the ball in two dimentions, and gravity only works in the vertical direction"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Air resistance"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"When the ball moves through the air, it has to move away the air in front of it. When the ball pushes away the air, the air pushes the ball back, slowing the ball down. How much the ball is pushed back relies on the velocity of the ball, the size of the ball, the density of the air and something called the drag coefficient of the ball. The drag coefficient of objects is normally found experimentally. I will be using the drag coefficient found by the brilliant people at Hope College when solving a similar problem to mine.\n",
"\n",
"Drag acts in the direction opposite of the velocity of the ball, and is at high velocities given by:\n",
"\n",
"$$\\vec{F}_{Drag} = -\\frac{1}{2}\\vec{v}^2\\rho C_d A$$\n",
"\n",
"where $\\vec{v}$ is the velocity and $C_d$ is the drag coefficient."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"rho = 1.225 #The density of the air\n",
"Cd = 0.36 #Drag coefficient of a volleyball\n",
"def drag(v):\n",
" return -0.5 * v * np.linalg.norm(v) * rho * Cd * A"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Spin - The Magnus Effect"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"When the ball flies through the air, air is flowing past the ball. If the ball has top-spin, the top of the ball will move along the direction the ball is moving, pushing air in the direction opposite of the flow. This will make air accumulate at the top of the ball. On the bottom of the ball, the spinning of the ball will simply push the air in the same direction as the flow.\n",
"\n",
"This means that air will accumulate at the top of the ball, but not at the bottom. This will result in a difference in pressure, which will push the ball downward."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This downward force due to spin will be beneficial to my perfect serve, as it will make the ball move faster toward the ground. This force due to spin relies on the angular velocity, velocity, cross-sectional area and radius of the ball, as well as something called the spin coefficient. Again, this value is normally found experimentally, and I will again use the results found by Hope College for my calculation.\n",
"\n",
"The force due to spin is perpendicular to the velocity of the ball, and is given by:\n",
"\n",
"$$\\vec{F}_{Spin} = \\frac{1}{2}\\vec{\\omega} \\times \\vec{v} C_s \\rho A r$$\n",
"\n",
"where $\\vec\\omega$ is angular velocity and $C_s$ is the spin-coefficient."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"spinCoef = 0.30\n",
"def spinDrag(v, angvel):\n",
" return 0.5 * spinCoef * rho * A * radius * angvel * np.array([v[1], -v[0]])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Server constants"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"I'll need to put some constraints on the model, as I can't jump all the way to the net and smash the volleyball through Filip's face at the speed of light. The spin I hit the ball with, and maximum velocity also need to be limited. The values I set as my limitations will be my guesses at what a professional volleyball player can achieve."
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"startingPos = [0, 2.5] #I hit the ball at a height of 2.5m\n",
"angvel = 7*2*np.pi #7 revolutions/second, this is quite exaggerated, though I have no idea what is realistic\n",
"maxVel = 30 #m/s\n",
"maxAngle = np.pi/2 #pi/2 radians, 90 degrees"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The ball will be served straight forward, along the edge of the court, meaning I will not look into the effect of serving diagonally. This is a big simplification, making the solving of the problem much easier to visualize.\n",
"\n",
"This leaves me with two values to optimize: Starting velocity and angle upward. Before I try to find the combination of these two values that give me the fastest serve, I will make a function that takes a starting velocity and angle as parameters, and then computes the serve."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Computing a serve"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The function needs to do two things: Calculate the movement of the ball, and find when the ball hits the ground, the net or goes out of bounds. Calculating the movement is done with the Euler-Cromer method.\n",
"\n",
"For every time step in the Euler-Cromer method, it will do a series of checks to find when the serve is successful or invalid:\n",
"\n",
"A serve is successful if it hits the ground in bounds behind the net. However, if it collides with the net, or goes directly under the net during the serve, it is invalid. Hitting the ground on my side of the net or outside the court will also invalidate the serve."
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"#Takes initial conditions and parameters for the Euler-Cromer loop, and returns ball trajectory and serve time\n",
"def serve(startingVel, startingAng, n, dt):\n",
" v = np.array([startingVel*np.cos(startingAng), startingVel*np.sin(startingAng)])\n",
" p = np.empty((num,2))\n",
" p[:] = np.nan #Makes the position array empty so that the (0,0)-position donesn't show up on the plot\n",
" p[0] = startingPos\n",
" \n",
" #The Euler-Cromer loop\n",
" for i in range(n):\n",
" a = g + drag(v)/ballmass + spinDrag(v, angvel)/ballmass\n",
" v = v + a*dt\n",
" p[i+1] = p[i] + v*dt\n",
" \n",
" #Checking if the ball is in a critical region\n",
" distance = p[i+1][0]\n",
" height = p[i+1][1]\n",
" if (distance < outX and height < radius and distance > netX + 0.5):\n",
" #It hit the ground on the other side of the net, a seccessful serve!\n",
" return(p, i * dt) #I return an array with every position the ball was at, and the time the serve took\n",
" if (distance > outX or height < radius):\n",
" #It's out of bounds or it hit the ground on my side of the net\n",
" return(p, None)\n",
" if ((p[i][0] <= netX <= distance) and height < netheight + radius):\n",
" #It's below the net\n",
" return(p, None)\n",
" return(p, None) #In case the serve never lands"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Note that the function return the trajectory of the ball, along with the time of the serve if it was successful.\n",
"\n",
"### Test run\n",
"\n",
"Before I try to find the optimal velocity and starting angle, I will compute an average serve as a starting off point for further analysis.\n",
"\n",
"First I define the number of iterations and the time-step for the Euler-Cromer calculation. Then I define the starting velocity and angle, and finally I call my function to compute the serve."
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"num = 2000\n",
"timestep = 0.001\n",
"v0 = 17 #m/s\n",
"theta0 = 0.32 #starting angle in radians\n",
"examplePosition, exampleTime = serve(v0, theta0, 2000, 0.001)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Plotting the example serve:"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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PUhOTnZ7+eXn5zNq1Cg6duxIp06deO211wDYvn07gwcPplu3bvTr168oETp48CBXX301cXFxxMXFFSVXr776Kh07dqRjx468/vrrgJW0tWvXjjvvvJMOHTpw8cUXk52dDcDKlSuJi4ujd+/evP3220XxbNy4kR49ehAfH0/nzp3ZunWr23WpLNXuWQlKKVWW5/67kU370iu0zPaNQnnmig6ljpOdnU18fDxZWVkcPHiQBQsWABAYGMicOXMIDQ0lJSWFXr16MXToULc6mr388suMHz+eb7+17io/depUli9fzrp166hbty4nT54ss+z58+ezdetWfvvtN4wxDB06lMWLFxMREcELL7zAzz//TL169Thy5Ah169Zl6NChDBo0iFtuuQWAzp0789ZbbzFgwACefvppnnvuuaKDY1paGosWLQKsA+V3333HVVddxaeffsqwYcPKPOifiby8PD766CPeeOONos+WL19OXFwcjRo1Yvz48XTocOp3tG7dOvbu3cuGDRuK4gUYM2YMEydOpHXr1vz666+MHTuWBQsWcP/99zNgwADmzJlDfn4+mZmZrFy5kg8//JBff/0VYww9e/ZkwIAB1KlTh61btzJz5kzef/99rr/+er744gtuvvlmbrvttqJl9o9//KMonokTJ/LAAw8wYsQITpw4QX5+foUtn4qiiYFSSlWQwlMJGRkZbNiwgVtvvZUNGzZgjOHxxx9n8eLFOBwO9u7dy8GDB4mKiirXfC666CLq1q0L4FbZ8+fPZ/78+XTp0gWwWjC2bt3K2rVrufbaa6lXrx5AUZnOjh07RlpaGgMGDABg5MiRXHfddUXDb7jhhqLXd9xxB6+88gpXXXUVH374Ie+//3656ufK2LFj6d+/P/369QOga9eu7N69m+DgYObOnctVV1112i/w6OhoduzYwV/+8hcuu+yyolaWZcuWnVKP3NxcABYsWMD06dMBq89IWFgYS5cu5eqrry56SuM111zDkiVLGDp0KC1atCA+Ph6Abt26sWvXrtOW2S233MK8efMA6N27Ny+88ALJyclcc801tG7dukKXUUXQxEApVeOU9cu+MvTu3ZuUlBQOHz7M3LlzOXz4MCtXrsTPz4/o6Oizulbd+THCH3/8cZllG2N47LHHuOuuu075/M033zzry+OcY+nbty+7du1i0aJF5OfnV2iHu+eee47Dhw/z3nvvFX0WGhpa9HrIkCGMHTuWlJSUokQHoE6dOqxdu5YffviBt99+m1mzZvH6668THh7OmjVr3Jp3aVfRBwQEFL328fEhOzu71LstDh8+nJ49e/Ldd99xySWXMHnyZC644AK34qgs2sdAKaU8ICkpifz8fCIiIjh27Bj169fHz8+PhQsXsnu3+0/QDQkJISMjw+Vwd8q+5JJL+OCDD8jMzARg7969HDp0iEGDBjFr1ixSU1MBOHLkSNE8C8cNCwujTp06LFmyBICPPvqo6JdwSW699VZuuukmbrvttqLPJkyYwIQJE9yuc3GTJ0/mhx9+YObMmTgcfx62Dhw4UHTQ/u233ygoKCAiIuKUaVNTUykoKGDYsGH885//ZNWqVYSGhtKiRQs+//xzwDrwr127FoBBgwbx7rvvAlb/hPT0dPr3789XX31FVlYWx48fZ86cOUWtFiUJDw8vamkAK3krtGPHDmJiYrj//vsZOnQo69atK/dy8RRtMVBKqQpS2MegoKAAEWHatGn4+PgwYsQIrrjiCrp37058fDxt27Z1u8zOnTvj6+tLXFwco0aNKurQWKi0sgt/tV588cVs3ryZ3r17A1anxBkzZtChQweeeOIJBgwYgI+PD126dGHq1KnceOON3H777UyaNInZs2czbdo07r77brKysoiJieHDDz90Ge+IESN48sknuemmm4o+S0pKom/fvqeNe+DAAbp37056ejoOh4PXX3+dTZs2ERoaypAhQ5g8eTKNGjXi7rvvpnnz5kXxX3PNNTz99NPMnj2bd999F19fX2rVqsWnn3562i/1ffv2cc0111BQUADASy+9BFgH63vuuYfnn3+evLw8brzxRuLi4njjjTcYM2YMU6ZMwcfHh3fffZfevXszatQoevToAVinTLp06cKuXbtcLocPP/yQ0aNHU7t2bS655JKizz/77DNmzJiBn58fUVFRVfNKCmNMtfpr06aNqQkWLlzo7RDOWk2ogzFaj6rkbOqwadOmigvkLKWnp3s7BJOSkmKaNWtW7unLW4fPP//c3Hzzzad8dtlll5nc3Nxyx3I2qsJ3caZKWpexbgxYKcdZbTFQSqkaZt++fSQkJJR5f4CK9pe//IV58+Yxd+7cUz4vvKJCVQ+aGCilVA3TqFEjtmzZUunzfeuttyp9nqriaedDpZRSShXRxEAp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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(8, 4))\n",
"plt.plot(examplePosition[:, 0], examplePosition[:, 1] - radius, label=\"Ball trajectory, {:.2f} seconds\".format(exampleTime or 0))\n",
"plt.xlim(0, outX)\n",
"plt.ylim(0, np.nanmax(examplePosition[:,1])+0.5)\n",
"plt.plot([9,9],[0,netheight], label=\"The net\")\n",
"plt.grid()\n",
"plt.legend(loc=\"upper right\")\n",
"\n",
"plt.title(\"A serve with a starting angle of {:.2f} radians and a starting velocity of {:.2f} m/s\".format(theta0, v0))\n",
"plt.xlabel(\"Distance [m]\")\n",
"plt.ylabel(\"Height [m]\")\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now that I have the tools to simulate a serve and see if it was valid, it's time to see how the starting speed and angle affect the trajectory an total airtime."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Finding the effect of changing speed and angle"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"I'll use my example serve as a starting off point and see what happens if I change the angle of the serve, and then the velocity."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Changing angle"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"My intuition tells me that I'll want to go for as low an angle as possible, as that will make the arch of the ball lower, and therefore make the journey from the air to the ground as short as possible. By keeping the velocity steady at 16m/s and calculating the time it would take for a serve at any angle between 0 and $\\pi$/2 radians (0 and 90 degrees) I can see what difference changing the angle makes to the total time of the serve."
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
"thetas = np.linspace(0, np.pi/2, 100)\n",
"thetime = np.empty(100)\n",
"thetime[:] = np.nan\n",
"n = 2000\n",
"dt = 0.005\n",
"constVel = 17\n",
"\n",
"for i in range(len(thetas)):\n",
" theta = thetas[i]\n",
" thetime[i] = serve(constVel, theta, n, dt)[1]"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.plot(thetas, thetime)\n",
"plt.xlim(0,np.pi/2)\n",
"plt.grid()\n",
"plt.title(\"Time of serve with a starting velocity of 17m/s\")\n",
"plt.xlabel(\"Angle [radians]\")\n",
"plt.ylabel(\"Time [s]\")\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"It looks like my intuition was right, lower angle means shorter total time. I see that a small change in angle can mean a large change in total time, which means that optimizing the angle of the serve is very beneficial for getting faster serves. But there is a limit to how low the ball can be served, I see that the graph cuts off at about 0.25 radians at the optimal time of about 1.1 seconds. The gap in the middle of the graph is due to the ball flying too far. The serves with low angles are close to the net and hit the ground with a high horizontal velocity, while the serves with high angles fly far above the net and don't go as far horizontally as a result. Between these extremes are serves that are more optimized for distance, and thus fly out of bounds."
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"pos1, time1 = serve(constVel, 0.3, n, dt)\n",
"pos2, time2 = serve(constVel, 0.7, n, dt)\n",
"pos3, time3 = serve(constVel, 1.2, n, dt)\n",
"\n",
"plt.figure(figsize=(8, 4))\n",
"plt.plot(pos1[:, 0], pos1[:, 1] - radius, label=\"0.3 radians. {:.2f} seconds\".format(time1 or 0))\n",
"plt.plot(pos2[:, 0], pos2[:, 1] - radius, label=\"0.7 radians. {:.2f} seconds\".format(time2 or 0))\n",
"plt.plot(pos3[:, 0], pos3[:, 1] - radius, label=\"1.2 radians. {:.2f} seconds\".format(time3 or 0))\n",
"plt.xlim(0, outX)\n",
"plt.ylim(0, np.nanmax(pos3[:,1])+0.5)\n",
"plt.plot([9,9],[0,netheight], label=\"The net\")\n",
"plt.grid()\n",
"plt.legend(loc=\"upper right\")\n",
"\n",
"plt.title(\"Serves with different starting angles and a starting velocity of {:.2f} m/s\".format(v0))\n",
"plt.xlabel(\"Distance [m]\")\n",
"plt.ylabel(\"Height [m]\")\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"It is obvious that serving with a low angle is the optimal strategy. High angled serves are much easier to catch due to the increased time to react, but also due to the ball coming in at an angle which is much easier to pass to the setter with a high angle."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Changing velocity"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"To see how velocity changes the total time, I'll do the same as with the angles. With a constant angle of 0.32 radians I will calculate the time it takes for a serve at any velocity between 10 and 30m/s (the maximum velocity)."
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [],
"source": [
"vels = np.linspace(10, maxVel, 100)\n",
"veltime = np.empty(100)\n",
"veltime[:] = np.nan\n",
"n = 2000\n",
"dt = 0.005\n",
"constAngle = 0.32\n",
"\n",
"for i in range(len(vels)):\n",
" vel = vels[i]\n",
" veltime[i] = serve(vel, constAngle, n, dt)[1]"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.plot(vels,veltime)\n",
"plt.xlim(12,20)\n",
"plt.grid()\n",
"plt.title(\"Time of serve with a starting angle of 0.32 radians\")\n",
"plt.xlabel(\"Starting Velocity [m/s]\")\n",
"plt.ylabel(\"Time [s]\")\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This isn't as intuitive. Lower starting velocity leads to faster serves. An important caveat here is that the angle is constant. The lowest speed leads to the lowest trajectory, which again reduces the distance from the ball to the ground. With the results for changing the angle and for changing the velocity, it seems like the best strategy is reaching as low an angle as possible, and then finding the lowest possible speed for that angle."
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"pos1, time1 = serve(13, constAngle, n, dt)\n",
"pos2, time2 = serve(15, constAngle, n, dt)\n",
"pos3, time3 = serve(18, constAngle, n, dt)\n",
"\n",
"plt.figure(figsize=(8, 4))\n",
"plt.plot(pos1[:, 0], pos1[:, 1] - radius, label=\"13 m/s. {:.2f} seconds\".format(time1 or 0))\n",
"plt.plot(pos2[:, 0], pos2[:, 1] - radius, label=\"15 m/s. {:.2f} seconds\".format(time2 or 0))\n",
"plt.plot(pos3[:, 0], pos3[:, 1] - radius, label=\"18 m/s. {:.2f} seconds\".format(time3 or 0))\n",
"plt.xlim(0, outX)\n",
"plt.ylim(0, np.nanmax(pos3[:,1])+0.5)\n",
"plt.plot([9,9],[0,netheight], label=\"The net\")\n",
"plt.grid()\n",
"plt.legend(loc=\"upper right\")\n",
"\n",
"plt.title(\"Serves with different starting velocities and a starting angle of {:.2f} radians\".format(constAngle))\n",
"plt.xlabel(\"Distance [m]\")\n",
"plt.ylabel(\"Height [m]\")\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Finding the fastest possible serve"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"So far I have changed the velocity and angle separately for a pretty average serve, to see what impact the changes make on the total airtime of the serve. However, to find the fastest possible serve I will need to find the combination of angle and velocity that results in the lowest possible time.\n",
"\n",
"To find the best possible combination I will calculate an entire array of possible combinations and then find the fastest. There are more sophisticated methods to optimize two variable functions, but a brute force method will be used here due to the function not being very smooth.\n",
"\n",
"I will try out 100 different angles and 100 different velocities. Totaling 10000 combination of angles and velocity, that is 10000 serves to calculate. To reduce the time of the calculation I will use a pretty big time-step in the Euler-Cromer loop. This results in a pretty rough estimation though. Greater accuracy can be achieved by trying more combinations in a smaller area with a more accurate Euler-Cromer calculation (which I will do later)."
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [],
"source": [
"dim = 100 #Number of values to try\n",
"velocities = np.linspace(10, 30,dim) #All of the velocities I will try out\n",
"angles = np.linspace(0, np.pi/2, dim) #All of the angles I will try out\n",
"\n",
"time = np.empty((dim, dim)) #The time each valid serve takes\n",
"time[:] = np.nan"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [],
"source": [
"n = 250\n",
"dt = 0.02\n",
"\n",
"for j in range(len(velocities)):\n",
" vel0 = velocities[j]\n",
" for k in range(len(angles)):\n",
" angle = angles[k]\n",
" time[k][j] = serve(vel0, angle, n, dt)[1] #Saving the time the serve takes for later analysis"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### The perfect combination of angle and velocity"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"With the calculation of 10000 different serves complete, all that's left to do is analyze the results and find the perfect combination.\n",
"\n",
"First I'll make a contour plot of the combinations and complementary times to show how angle and velocity change the total time of the serve, as well as to show what combinations result in a successful serve."
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"X, Y = np.meshgrid(velocities, angles)\n",
"\n",
"plt.figure(figsize=(8, 6))\n",
"ax = plt.contourf(X, Y, time, 25, cmap='RdGy')\n",
"cbar = plt.colorbar()\n",
"cbar.ax.set_ylabel('Time [s]')\n",
"\n",
"result = np.where(time == np.nanmin(time))\n",
"bvel = velocities[result[1][0]] #Best velocity\n",
"btheta = angles[result[0][0]] #Best angle\n",
"plt.plot(bvel,btheta,'o',color='#FFD700') #The yellow point on the plot\n",
"\n",
"plt.grid()\n",
"plt.title(\"The time it takes to serve a volleyball\")\n",
"plt.xlabel(\"Initial Velocity [m/s]\")\n",
"plt.ylabel(\"Initial Angle [Radians]\")\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Every possible serve exists on a band which curves from high angle and high velocity(grey area), around low velocity medium angle(pink area), and ends with a sharp point at low angle, high velocity(red area, yellow dot). The yellow dot represents the optimal serve found. Around the optimal serve, there are so few possible serves that they don't show up on the plot at all. As one would expect, there is little room for error around the optimal serve, a slight change in velocity or angle, and the serve goes straight into the net or over the court."
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {
"scrolled": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The fastest possible serve has a starting angle of 0.111 radians, a starting velocity of 26.162 m/s,\n",
"and takes 0.900 seconds.\n"
]
}
],
"source": [
"print(\"\"\"The fastest possible serve has a starting angle of {:.3f} radians, a starting velocity of {:.3f} m/s,\n",
"and takes {:.3f} seconds.\"\"\".format(btheta, bvel, np.nanmin(time)))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### The fastest possible serve"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"By doing the calculation over a much smaller area, and with a much more accurate Euler-Cromer calculation, I found a slightly different fastest serve. This much more accurate calculation resulted in a serve which is slightly slower than the one found with the rough approximation. The different levels of accuracy resulted in different limits of what was possible. Although better accuracy didn't result in a faster serve, it resulted in a more realistic fastest serve, which is much more valuable.\n",
"\n",
"With the best starting angle and velocity found, I can plot the trajectory of the fastest possible serve!"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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YP/du3fTvXv32u+JiYksXbr0qOGGDBnC22+/za9+9SveffddioqKyMnJqXf83bt3s3v3bhITE4/qXtf999/Pp59+SkJCAvn5+QA8//zzRERE8O2331JeXs7YsWOZPHky69ev57333mPp0qUEBweTm5sLwPTp03niiSeYMGECd999N/fddx+PPfYYAJWVlSxbtoyPP/6Y++67j88++4ynn36a4OBgVq1axapVqxg2bBhgExy7d+9mzZo1ALXlUUoppU4kvhSP1Lj22mtxu91cdNFF/N///d9RD4/861//ylNPPcXYsWMpLi4mKCiIefPmsWnTJpYtW4YxhnPPPZdFixYRExPDgw8+yFdffUVsbGxtPHLrrbcyffp0rr76al544QV++ctf1l6UycrKYvHixaxfv55zzz2Xiy++mHfffZcNGzawevVq9u3bR0pKCjNmzCA3N5d3332X9evXIyKtHo9oiwmllFJeV99zH+p70vNf//pXFi5cyNChQ1m4cCEJCQn4+fk1OH5zpzt27FiuueYannvuOaqqqgCYN28eL7/8MmlpaYwePZqcnBw2bdrEZ599xrXXXktwcDAA0dHRFBQUkJ+fz4QJEwC4+uqrWbRoUe30L7zwQgCGDx/O9u3bAVi0aBFXXnklAKmpqaSmpgLQu3dvtm7dyi9+8Qvmzp1LeHh4wwtOKaWUUi2mteIRsLdxrF69mi+//JIvv/ySV1555ahhx44dy2233cbjjz9Ofn4+fn5+zJs3j3nz5jF06FCGDRvG+vXr2bRpE/Pnz+fiiy8mNjYWsPEIwNdff83ll18OwFVXXcXixYtrp3/++efjcrlISUlh3759gI1HfvrTn+J2u+nWrRunnXYaAOHh4QQFBXHdddfxzjvv1MY9raXVWkyISBCwCAh05vOWMeaeOsMEAi8Dw4Ec4FJjzPbWKpNSSqmmNXYloUZRURFhYWEtNs/ExER27dpV+z0zM5Nu3bodNVy3bt145513ACguLubtt98mIiKCxMREFixYcMT46enpJCYmHvFAqoam+8wzz7B06VI++ugj0tLSyMjIwBjDE088wZQpU44Ydu7cucf8eqzAwEAA3G43lZWVtd3rm05UVBQrV67k008/5amnnmLOnDm88MILxzQ/dZjGI0op1TH5UjwCkJCQAEBYWBiXX345y5YtY/r06UdMd+bMmZx1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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"n = 250\n",
"dt = 0.02\n",
"bpos, btime = serve(bvel, btheta, n, dt)\n",
"vbpos, vbtime = serve(26.31515, 0.101717, 2000, 0.0005)\n",
"\n",
"plt.figure(figsize=(18, 4))\n",
"plt.subplot(121)\n",
"plt.plot(bpos[:, 0], bpos[:, 1] - radius, label=\"{:.3f} seconds\".format(btime or 0))\n",
"plt.xlim(0, outX)\n",
"plt.ylim(0, np.nanmax(bpos[:,1])+0.5)\n",
"plt.plot([9,9],[0,netheight], label=\"The net\")\n",
"plt.grid()\n",
"plt.legend(loc=\"upper right\")\n",
"plt.title(\"Rough estimate of optimal serve: {:.3f} radians, {:.3f} m/s\".format(btheta, bvel))\n",
"plt.xlabel(\"Distance [m]\")\n",
"plt.ylabel(\"Height [m]\")\n",
"\n",
"plt.subplot(122)\n",
"plt.plot(vbpos[:, 0], vbpos[:, 1] - radius, label=\"{:.3f} seconds\".format(vbtime or 0))\n",
"plt.xlim(0, outX)\n",
"plt.ylim(0, np.nanmax(bpos[:,1])+0.5)\n",
"plt.plot([9,9],[0,netheight], label=\"The net\")\n",
"plt.grid()\n",
"plt.legend(loc=\"upper right\")\n",
"plt.title(\"A much more accurate optimal serve: {:.3f} radians, {:.3f} m/s\".format(0.101717, 26.31515))\n",
"plt.xlabel(\"Distance [m]\")\n",
"plt.ylabel(\"Height [m]\")\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"There it is, the fastest possible serve. Flying only centimeters over the net, and landing right at the edge of the court, this serve leaves the minimal amount of time to react before landing on the floor. It looks like the optimal strategy is to shoot at the lowest possible angle, and with that angle shoot at the lowest possible velocity. When this strategy is taken to the extreme, the ball barely gets above the net, and flies all the way to the back of the court. With this newfound knowledge in my arsenal I am\n",
"ready to claim my revenge against Filip.\n",
"\n",
"The actual efficiency of such a serve is up for discussion, as where the ball lands in relation to the defenders is a big factor in the efficiency of the serve, along with the unpredictability of the serve. However, given the choice, I would definitely prefer not to be on the receiving end of the fastest possible serve."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Sources and inspiration"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Optimizing a Volleyball Serve - Hope College Mathematics REU Summer 06 - http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.176.6783&rep=rep1&type=pdf\n",
"\n",
"The Magnus Effect - https://en.wikipedia.org/wiki/Magnus_effect\n",
"\n",
"Volleyball Rules - https://www.fivb.org/EN/Refereeing-Rules/documents/FIVB-Volleyball_Rules_2017-2020-EN-v06.pdf"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.3"
}
},
"nbformat": 4,
"nbformat_minor": 2
}