Spin Up Kinematics Graphing Tool

Hello! I was thinking about how best to launch rings into the Spin Up high goals and I created a tool that others may find helpful.
When designing a disc launching system, I was evaluating how it needs to be able to shoot discs. I wanted to launch the discs such that they score in the high goal at as large of a range of distances as possible. Ideally, the robot would be able to land discs in the goal from both close distances and from far distances. The initial velocity of the disc, the angle at which it is launched both must be optimized based on the launch height to maximize this value.

This problem led me to making a Desmos graphing tool that models the disc’s height as a function of position.

The Math (Summary) This was made using simple kinematic motion modelling. Drag force was not considered because this is not meant to be a totally exact representation of reality. If someone wanted to add this functionality they would be welcome to.

Kinematics is a simple physics concept that models the path of objects (particles) moving with forces on them. It uses simple algebraic equations (derived from the calculus) to simplify the math.
This specifically uses the following equation:
I solved the equation for horizontal position for time to find time as a function of horizontal position then used that time value in the vertical position function to attain a function that relates vertical position to horizontal position. If you want a more in depth explanation, DM me and I can send you resources or show my work.

Description This is a simple graph to view the kinematic model for a disc shot towards a high goal. The green box represents the zone at which the disc will hit the high goal. This graph has position on both axis. The Y axis is the vertical position and the X axis is the horizontal position. The upper and lower horizontal lines of the green box are placed at the highest and lowest height a disc can reach the high goal respectively. To match the specified tolerances, I placed these values at 26 inches and 24.5 inches. Drag forces are not considered. I also added some images to better show what is going on.
Here it is:

This desmos graph shows the disc’s height as it travels away from the robot. The X axis is position away from the robot (Meters) and the Y axis is the disc’s height (Meters) with a given launch height, angle and velocity. The green box represents the zone in which a disc will land in the high goal. The upper and lower bounds of the green box are placed at the height of the highest and lowest height that a ring will land in the goal. All values are configurable and the effects of a change can be easily seen. You can adjust the left and right bounds with the “Min” and “Max” variables to fit the desired range of distances that the robot can shoot from.

The purpose of this tool, as stated above is to find values of initial velocity, launch angle and launch height that will make the disc fly as desired.

First the left and right limits are selected. (I set them at 2 feet away from the robot and 12 feet away to be able to shoot discs from almost anywhere on the field) Then, you can adjust the variables “h” for the height of the launched disc, “v” for the initial velocity of the disc and “a” for the angle if the disc. Note the units for each variable. They are described in the Desmos comment.

Fun features As you can see, I added a few images representing the game objects. I also set up the disc such that it will be placed on the graph with the correct position and angle. If you click the play button on the variable "discx" the disc will be animated moving through it's trajectory.

Please let me know if you have any questions or if this was helpful for you. I made this in an afternoon mostly for fun and to make the math easier to visualize.

Edit: I amended this post to include the complete math that led to the equations used in the graph as @Sidoti requested. See the below collapsed text below. Also, @DrewWHOOP I am aware of the inaccuracies in this method and the factors it doesn’t account for. I would love to do a more comprehensive analysis of the physics involved. Some other people shared some resources that may assist in that. (I may do so with my physics teacher since my AP exams are over)

Complete Math Here is the math I used to find the equation in the graph. I tried to include as much detail as possible but I may have omitted some details still. As I said above, if you have any questions about it, feel free to DM me or reply below. I did the work on paper because I don't know tools to correctly format the equations digitally.

The kinematics equations used below (I included all of them on the top of page 1) are derived from calculus concepts. (The additional hidden page shows how the equation we used is derived) Except for that, all the math I used was algebra and simple trigonometry and Newton’s Second law.
Page 1/3:

Deriving kinematics equations (Not needed for math)

Page 2/3:

Page 3/3:


Great post! I love me some physics!

1 Like

This is really cool and interesting was looking to do one myself just haven’t got to it yet. This is a great post!

1 Like

Anyone have any idea how fast you could reasonably expect a disc to be traveling when you initially launch it from a single flywheel?

h = 14
v = 11.3
a = 0.2618
max = 12 * 17 # corner to corner
min = 12 * 4 # little bit further
d = 4.59 # I don't think I set this


Interesting, but I’m not sure how you would get it to drop out of mid-air for the beginning of the green box.


The green box represents where the goal can be relative to the robot. If the disc hits the goal at any height, it will hit the chains and fall into the goal.

1 Like

I noticed you can animate the disc and angle at the same time. I set the close point of the green box to three feet and the far point to 17 feet and imagined you could change the flywheel angle. That way you can angle it differently depending how far away you are.

For example, this position would be more suited to where the disc is here:

But this position is better for farther away:

Changing the flywheel speed is probably easier:

This way you can change the speed depending on where you are and it will still drop neatly into the base.

I was a little doubtful of this… but I hope. How taught do you think the chains are? I could imagine a disc sliding down them, but it seems they would just deflect off the center post.


if it is set up anything like disc golf, it should just hit the chain and fall into the basket (unless you put an unreasonable amount of force behind it)


That’s a good point. This graph mainly was made to plot the trajectory so I assumed that the goals are perfectly working frisbee golf targets and that any shot that hit the chains would land in the goal. The goals are based on real disc golf targets which are designed to do that.

1 Like

This is also an interesting idea. I made this graph to optimize the trajectory so that I could avoid having to modulate it at all. By setting these variables precisely, a disc should be scored from most positions on the field.

1 Like

Although this is very cool, it does not factor the lift that a disc shaped object gains by moving through air at an angle. You need to research the shape of a disc flight path - it is not a simple ballistic parabola.

Grab a frisbee and give it a toss. The majority of its flight is a very flat parabola near the launch angle. At the end of its flight it looses lift and falls in a steep parabola.

Discs are not balls.


I am too dumb to understand this. So ima just make an adjustable angle that goes shoots discs and goes brrrrrrrrrrr.


OP is OP. This tool is great. While in TuP you had to aim at two small targets at different heights from various distances, in this game you just shoot at one tall target from various distances. Now a single good trajectory is all you need, and you don’t really need to worry about aiming unless you are just wayyy too close to the net. Thanks so much for making this for everyone.


Sure, I can mentally account for any imperfections in the goal that cause the frisbee not to land in it.

That is also true; you could have a few settings for your flywheel speed that could score from different ranges of positions. For example:

  1. v = 7.5; a = 0.416; max = 11.5; min = 2.5 (blue on diagram)
  2. v = 8.06; a = 0.413 (same as above); max = 14; min = 11 (yellow on diagram)
  3. v = 8.6; a = 0.416; max = 16; min = 13.5 (green on diagram)

I drew up a diagram of the ranges of these hypothetical arcs, where #1 is shaded blue, #2 is shaded yellow, and #3, which I would not even program, is shaded green. The red part is too close.


Imagine a spherical cow… Spherical cow - Wikipedia


Think it is even more simplified than a spherical cow. Most likely we are assuming the disc as point object :stuck_out_tongue:


For a moment I thought these are your autonomous routes.


I did mention in the OP that these equations model particle motion.


Also keep in mind that the scales were uneven of the axis in the pictures I took. This is a picture that shows the curve with even scales on the X and Y axis.


I have not read through the full PDF yet, but MIT has a nice PDF going over the physics of frisbees. What the others mentioned about a relatively flat flight, then a steep decline is true, and would severely affect the models being shown above.

Here is the PDF: https://web.mit.edu/womens-ult/www/smite/frisbee_physics.pdf


Here is the graph with the same settings as picture #1 but with the scales even: