AR Basketball training

Training shooting behavior

Eugene Jahn

University of Washington


The advance of AR technology had changed our lives drastically. There are many AR applications for training people on different fields such as education, architecture, and cooking, etc. With the advantage of the hologram, AR technology gives users more intuitive and visualize instructions. AR technology creates a better interaction for learning new skills. This project aimed to teach and adjust shooting behavior by visualizing predicted best shooting path. This project is implemented on the Magic Leap headset and Unity Engine. The long term goal of this project will be to corporate with basketball teams and to help players finding a better shooting behaviors.

1 / 8
The concept of this project
2 / 8
The hoop with the tracking image
3 / 8
The debelopment kit hoop and Magic Leap
4 / 8
The concept video of this project
5 / 8
The simulation in Unity
6 / 8
Video showing the tracking
7 / 8
Video from Magic Leap
8 / 8
Video when using Magic Leap

This slideshow includes the photos of hardware and videos of demo on Unity and physical world


For basketball training, many players have their personal trainers helping them to improve their skills and adjust their behaviors. With the advent of technologies, in basketball industry, people starts to use technology and software for training and finding the most efficient ways to play, such as AR, big data, and AI, etc. However, there doesn’t exist a basketball training application on AR head set (most of the applications are on laptop or mobile such as Therefore, the goal of this projection is to implement an AR application on Magic Leap displaying the real-time training data and enabling users to adjust their behaviors in real-time.

  • Eugene Jahn

This approach can be divided into three parts: the position tracking, predicted shooting path, and virtual ball physic. The process flow for this application is that tracks the three location values (headset, controller (virtual ball), and the hoop), generates a predicted shooting path, and then enable users to shoot the ball.

1. Location tracking:

For location tracking, the application needs to get three position data from headset, controller (virtual ball), and the hoop. Since this application uses Magic Leap and its controller, it is easy to get the position data of headset and controller. To get the position of the hoop, the application uses the image tracking algorithm. Basically, I pasted an image on the hoop, and it allows the headset to keep tracking the image and generates the location of the hoop.

2. Shooting path:

After gathering the three positions, the application sets the headset position as origin and displays the shooting path/arch from controller (virtual ball) to hoop. For calculating the path, we need to use parabola equation. Since we have the begin (controller) and end(hoop) points and angle (45 degree), we can generate the path based on parabola equation.

X is the position of the distance from contoller to hoop. Since we have X, delta, and G, we can find V which can graph the path.

3. Shooting mechanics:

For shooting the virtual basketball, the application needs to create a shooting algorithm applying the real-world physics. Therefore, the application needs to get the data of velocity and angle after releasing the ball. In order to do that, to shoot the ball, user needs to hold the trigger and release it. Therefore, the application get the data of release time and start and end positions. With the value of release time and start and end positions, the application can get the force and angle. And, this application sets the gravity sets as 9.8 and ignores the magnus force and drag force.

4. Overall

There are demo videos for the final result.

1. Gameplay from Unity

2. Record video from Magic Leap

3. Video of the third person view

Implementation Details

The main algorithm for this project is how to generate the shooting arch/path. To predict the best shooting path, we need to understand the physic of shooting. The below graph just shows the angle, positions, and velocity of shooting.

To predict the best shooting arch, we need to know what is the best angle for shooting. Based on the research article, the optimal arch angle is 45 degree[1] [2] [3]. We can see the below graphs showing the shooting from different angle with same force, and we can find that the end point(to the basket) is similar in the range from 40-45. Therefore, it is more stable to shoot in 45 degree

After we have the parabola equations and the best shooting angle, we can get what is the velocity to shoot. Based on the velocity, we can graph the shooting path.

Evaluation of Results

Due to Covid-19, I left Seattle earlier than I planed to, and I can’t do any users testing without Magic Leap. Therefore, I don’t have any data for this section.

Discussion of Benefits and Limitations


This application shows the concept of using AR headset for shooting training. Although this application uses virtual basketball, the users still can learn how to shoot with the best angle and, after trying many times, the users would develop a better shooting angle and arch.


The goal for this project is to be used in a real basketball instead of virtual basketball. However, due to danger of throwing the Magic Leap controller, I implemented the application by throwing a virtual basketball. Although this application still shows the concept of visualizing a shooting path/arch and enable to shoot it with this assistance, this application is still far from the goal which really improve your shooting skills. Therefore, for the future work, I will try to put sensors into a basketball and use that instead of controller.

Future Work

For the future work, I would replace the virtual ball into a basketball to enable to shoot a physical ball. In order to do that, I would need to put other tracking sensors into basketball. After rebuilding the ball tracking, I would like to corporate with basketball team and get feedback from the players. Training for shooting is just the first step. In the future, I would like to see how I can implement more basketball techniques into application like dribbling, defense, and players moving, etc. I believe this application can help player develop a better sense of basketball and mare training become more efficient.


In this project, I proposed a new way for basketball training. I believe that this application can improve the users shooting behavior and make their movements more efficient even for professional players. This application shows the concept of using AR headset for training. However, there still have many problems to work on to make it useful for basketball training. Also, this application can collect and analyze more basketball data in order to provide a better assistance. Overall, I believe in the future AR technology would be useful in sports and help the players have a better training tools. It will be interesting to see how this project can help the professional basketball players and to see how this might change the behavior of basketball culture.


Include a list of references (e.g., external websites and publications). See the example reports for guidance on formatting the bibliography.

[1] K. Frank Lin, 2002. The Optimal Arc Angles for Shooting a Basketball.

[2] Michael Austin. Building the perfect arc in your shot . Journal of Winning hoops

[3] Noah Basketball, 2017. IS A HIGHER ARC REALLY BETTER?