rendered paste bodybool alarge = _mB < _mA;int a = alarge ? _mB :_mA;int b = alarge ? _mA :_mB;int aa = a*a;int bb = b*b;int d2 = 0;int d1 = 4*bb - 4*aa*b + aa;int x = 0;int y = b;int deltaE = 12*bb;int deltaSE1 = 12*bb + 8*aa - 8*aa*b;int deltaSE2 =8*bb + 12*aa - 8*aa*b;int deltaS = 12*aa - 8*aa*b;int deltaSQEtoE = 8*bb;int deltaSQEtoSE1 = 8*bb;int deltaSQEtoSE2 = 8*bb;int deltaSQSE1toE = 8*bb;int deltaSQSE1toSE1 =8*bb + 8 * aa;int deltaSQSE1toSE2 =8*bb + 8 * aa;int deltaSQSE1toS =8 *aa;int deltaSQSE2toSE2 =8*bb + 8 *aa;int deltaSQSE2toS = 8 * aa;int deltaSQStoSE2 = 8 * aa;int deltaSQStoS = 8 * aa;int GradX =2 * bb;int GradY = 2*aa*b - aa;int deltaEtoGradX = 2*bb;int deltaSEtoGradX = 2*bb;int deltaSEtoGradY = -aa; //set pixel with symmetry. if (alarge) DrawSymmetricalPoints(y,x,window);else DrawSymmetricalPoints(x,y,window); while(GradY > GradX && y > 0){ //check if still in quadrant 1if (d1 < 0){ //East d1 += deltaE ; deltaE += deltaSQEtoE; deltaSE1 += deltaSQEtoSE1; deltaSE2 += deltaSQEtoSE2; GradX += deltaEtoGradX;}else{ d1 += deltaSE1; deltaE += deltaSQSE1toE; deltaSE1 += deltaSQSE1toSE1; deltaSE2 += deltaSQSE1toSE2; deltaS += deltaSQSE1toS; GradX += deltaSEtoGradX; GradY += deltaSEtoGradY; --y;}++x;if (alarge) DrawSymmetricalPoints(y,x,window);else DrawSymmetricalPoints(x,y,window);}//bottom region.d2 = 4*bb*x*x + 4*bb*x + bb + 4*aa*y*y - 8*aa*y + 4*aa - 4*aa*bb; //guh!while (y > 0) { //still inside bottom regionif (d2 < 0) { //South east d2 += deltaSE2; deltaSE2 += deltaSQSE2toSE2; deltaS += deltaSQSE2toS; ++x;} else { d2 += deltaS; deltaSE2 += deltaSQStoSE2; deltaS += deltaSQStoS;}--y;if (alarge) DrawSymmetricalPoints(y,x,window);else DrawSymmetricalPoints(x,y,window);}