An interactive Python tool for painting reliefs in real-time on a 2D canvas, with instant 3D visualization.
-
Interactive Painting
- Draw with the left mouse button.
- Erase with the right mouse button.
-
Dynamic 3D Visualization
- Automatic real-time updates of the 3D view.
- Button to quickly enable or disable this view.
-
Real-Time Adjustable Controls
- Brush radius via mouse wheel.
- Painting intensity (
Increment) with a slider. - Smooth blending of strokes (
Blend) with a slider.
-
Filters and Effects
- Apply Gaussian smoothing via a dedicated button.
-
Simplified Image Management
- Quick save (key
z). - Load external images (key
a). - Fully reset the canvas (key
r).
- Quick save (key
numpymatplotlibscipytkinter
Install via pip:
pip install numpy matplotlib scipy tkinterFor more details on dependencies, see the requirements.txt file.
To launch the application, run this command in a terminal:
python3 main.py| Action | Shortcut |
|---|---|
| Paint | Left mouse click |
| Erase | Right mouse click |
| Adjust brush radius | Mouse wheel |
| Save the current image | Key z |
| Reset the canvas | Key r |
| Import an external image | Key a |
| Quit the application | Key q |
| Gaussian smoothing | Smooth button |
| Show/Hide 3D view | 3D button |
- Saved images will automatically be placed in the current folder in PNG format:
painted_image_DATE.png - Loading supports PNG format only.
This project is distributed under the MIT license — see the LICENSE file for more details.