A 2D graphics package that draws using Windows API with self-implemented drawing algorithms for various graphical shapes in C++.
This package enables users to:
- Draw straight lines
- Using DDA algorithm
- Using parametric line equations
- Using Bresenham algorithm
- Draw circles
- Using direct Cartesian method
- Using direct polar method
- Using iterative polar method (similar to direct polar with a slight change to improve performance)
- Using Bresenham midpoint algorithm
- Draw ellipses
- Using Bresenham algorithm
- Draw curves of different degrees
- First degree (straight line)
- Second degree
- Hermite curves (third degree)
- Bezier curves (a special case of Hermite curves)
- Cardinal splines
- Use Filling algorithms
- Convex shapes filling using scanline filling algorithm
- Circle filling in a simple way
- Use Cohen–Sutherland Clipping algorithm
- Clipping a point according to a rectangle & circle
- Clipping a straight line according to a rectangle & circle
The project is still under development and contribution is welcomed including but not limited to adding new algorithms, enhancing existing algorithms, fixing bugs, adding or enhancing comments, improving naming conventions or code structure to make it cleaner, shorter or simpler. You can do so through issues or directly with a pull request.
Graphtona is licensed under the MIT License