This question already has an answer here:
- How to draw a filled circle? 2 answers
Is there any function I can create in order to draw a filled circle using the base drawing functions:
putpixel(x, y);
lineto(x, y);
?
Note that it must use trigonometric functions (videlicet sin
, cos
etc..) so I can easily turn it into a hexagon and even further - a square or another type of polygon.
And finally, not necessarily but always appreciated if it isn't very slow in drawing (one loop should be enough I presume) and even more not necessarily, but always even more appreciated if it isn't too complex and/or consisting of more lines than needed for a lightweight life.
The fastest way to draw a filled circle with
lineto
is as followsTo convert the circle to a polygon you can compute the vertices of the polygon based on the radius of the circles and angle to each vertex. For example, with a hexagon the angles are 0, 60, 120, 180, 240, and 300 degrees. With a square the angles are 45, 135, 225, and 315. Once you have the polygon vertices, you can compute the
x1
andx2
values for eachy
value based on the equations of the lines between the vertices.