A basic paint application built using Java and JavaFX that supports manual drawing through coordinate input and performs fundamental 2D matrix transformations. The app uses Bresenham's line drawing algorithm for rendering lines and triangles.
- Dots: Draw a single pixel by entering coordinates.
- Lines: Draw lines between two points using Bresenham’s Line Algorithm.
- Triangles: Draw triangles by entering three points. Automatically connects edges using lines.
All transformations are applied to the currently drawn shape(s). The app automatically redraws using Bresenham’s algorithm.
- Translate shape by
dxanddy.
- Rotate shape around:
- A user-defined pivot point
- The shape’s geometric center
- Scale shape:
- Uniformly (same factor in both x and y)
- Non-uniformly (different
sxandsy)
- Pivot options:
- Around a specific point
- Around the shape's center
- Move shape directly to a new
(x, y)location.
- Display the current coordinates of all relevant points of the shape.
- Java
- JavaFX
- Custom implementation of Bresenham’s Line Drawing Algorithm
- Java 17+
- JavaFX SDK properly configured in your system or IDE (e.g., IntelliJ or VS Code)
- Clone the repo:
git clone https://github.com/Alvin0305/Paint.git cd Paint