A flexible camera system for a 2D renderer architecture built with Python and Matplotlib.
- Top view projection
- Left view projection
- Smooth camera following
- Camera zoom in/out
- Camera panning
- World-to-screen transformation
- Screen-to-world transformation
- Dynamic grid rendering
- Modular renderer architecture
| Key | Action |
|---|---|
| Mouse Wheel | Zoom in/out |
| Arrow Keys | Pan camera |
| F | Toggle camera follow |
| V | Switch camera view |
camera-system/
│
├── camera.py
├── renderer.py
├── robot.py
├── world.py
│
├── docs/
│ ├── ticket20.jpg
│ └── ticket20.gif
│
├── main.py
├── README.md
└── requirements.txt
3D coordinates inside the simulation world.
Example:
(100, 50, 20)
2D coordinates rendered on the screen.
Example:
(500, 300)
Projects:
(X, Y)
The Z-axis is hidden.
Projects:
(X, Z)
The Y-axis is hidden.
- Object following
- Smooth movement
- Zoom scaling
- Coordinate transformations
- Camera panning
- Dynamic grid rendering
- View switching
pip install -r requirements.txtpython main.py- Python 3.10+
- NumPy
- Matplotlib

