A rasterized shape drawing application, inspired by GeoGebra Classic, developed as part of a UI design assignment. This application allows users to draw various rasterized shapes with a simple and intuitive interface, focusing on user experience and design principles. The project report, which details the design process and key decisions, is available here.
- Scalable coordinate system with drag to move.
- Supports DDA and Bresenham line drawing algorithms.
- Configurable line attributes (type, thickness, color).
- Draw polygons (regular and irregular).
- Configurable polygon attributes (border color, border thickness, fill color).
- Circle drawing using midpoint circle algorithm.
- Animated transformations (translation, rotation, shearing, ...).
- Ellipse drawing using midpoint ellipse algorithm.
- Shape clipping.
- Drag and drop to move shapes.
- Testing with JUnit 4.
- Sidebar with opening and closing animation.
- In-app tutorials with searching functionality.
- Cross-platform GUI.
- Export canvas in PNG and JSON format.
- Keyboard shortcuts.
- Supports undo, redo, and delete operations.
All documentation (installation guide, usage guide, ...) is available in the docs
folder.
This project was developed as part of an educational assignment and is not production-ready. Please note that the project is currently incomplete, and no further development is planned.
- UI and drawing modes graphics were adapted from https://www.geogebra.org/classic.
- App logo: Icosahedron icon created by Pixel perfect - Flaticon.