Tennis Match Visualizer is a simple interactive application that I have written to visualize professional tennis matches point by point. It parses shot-by-shot data from the Match Charting Project, a nice initiative that systematically records pro tennis matches in a standardized format, making it possible to analyze patterns and strategies.
The app reads CSV files from the Match Charting Project and brings the match to life using VPython, a (very) simple 3D animation library. While the data is not precise enough for an exact reconstruction of every shot, the main goal was to provide a clear and engaging visual impression of the flow, positioning, and dynamics of each point.
The application allows users to:
- Select the tournament and match to visualize
- Run matches point by point, with full animation
- Control playback with play/pause, slow motion, and point navigation buttons
- Switch between day and night modes for the court
- Interact with the camera: zoom, rotate, and move freely
- View a live score table and follow the match progression
This project started purely as a personal side hobby. It grew out of curiosity and a desire to explore Python, GUI development, and 3D animations in a hands-on, playful way. The goal has always been to learn by doing, experiment with visualizations, and create something fun and interactive.