Hello, coder9999, you wrote: the C> For circle filling exists the algorithm of Brezenhema working only with the whole types. In particular for a circle filling happens horizontal lines from center to section 45 of degrees and is similar from poles to the same section. Cs> And whether exist similar fast algorithms for arcs and segments of arcs (two radiuses - internal both exterior, and two corners - the beginning and the end)? And that hinders to make, though easier to make a polygon with the necessary accuracy and it to paint over. For a circle function S0 (x, y, r) =x^2+y^2-r*r S0 (x+1, y, r)-S (x, y, r) =2*x+1 at x ++ => S0 + = 1+2*x at y ++ => S0 + = 1+2*y while in circle S0 <0 as intersected S0> =0 for straight line S1 (x, y) = (y2-y1) * (x-x1) - (x2-x1) * (y-y1) dy1=y2-y1, dx1=x2-x1 (for a case from center it is possible to suppose x1=y1=0) at x ++ => S1 + = dy1 at y ++ => S1 - = dx1 let the necessary side S1 <0 Accordingly S0 <0 - the first circle, S1 <0 and S2 <0 two areas setting sector, S3> 0 if still is necessary the ring the input data x, y, S0, S1, dx1, dy1, S2, dx2, dy2, S3 and function of filling of a horizontal line hline (y, xa, xb). (S0 <0 && S1 <0 && S2 <0 && S3> 0) - in sector of a ring a step to the left: S0 + = 1+2*x; S3 + = 1+2*x; S1 + = dy1; S2 + = dy2; x ++; a step to the right: S0 + = 1-2*x; S3 + = 1-2*x; S1 - = dy1; S2 - = dy2; x-; a step downwards: S0 + = 1+2*y S1 + = dx1; S2 - = dx2; y-; it is necessary to get in further and to paint over flood fill Further an owl.