1

Topic: Algorithm of filling of a segment of an arc

For circle filling there is 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. And whether there are similar fast algorithms for arcs and segments of arcs (two radiuses - internal both exterior, and two corners - the beginning and the end)?

2

Re: Algorithm of filling of a segment of an arc

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.