Circle

Center X, Y

Radius R

xa = X - R ; xb = X + R ;

For[i = xa, i≤xb, i ++, ya = Round[Y - Sqrt[Pow[R, 2] - Pow[(i - X), 2]]] ; yb = Round[Y + Sqrt[Pow[R, 2] - Pow[(i - X), 2]]] ; For[j = ya, j≤yb, i ++, Obs[i][j] ++; ] ; ] ;

Rectangle

Center X, Y

Width W, Height H, Rotation Q

x[0] = X + (-W/2 * Cos[Q] + H/2 * Sin[Q]) ;

y[0] = Y + (-W/2 * Sin[Q] - H/2 * Cos[Q]) ;

x[1] = X + (-W/2 * Cos[Q] - H/2 * Sin[Q]) ;

y[1] = Y + (-W/2 * Sin[Q] + H/2 * Cos[Q]) ; <br />

x[2] = X + (W/2 * Cos[Q] - H/2 * Sin[Q]) ;

y[2] = Y + (W/2 * Sin[Q] + H/2 * Cos[Q]) ;

x[3] = X + (W/2 * Cos[Q] + H/2 * Sin[Q]) ;

y[3] = Y + (W/2 * Sin[Q] - H/2 * Cos[Q]) ; <br />

xa = Min[x] ;

ya = Min[y] ;

xb = Max[x] ;

yb = Max[y] ;

For [ i = xa, i≤xb, i ++, For [ j = ya, j≤yb, j ++, If [InPolygon[i, j, x, y], Obs[i][j] ++;] ] ; ] ;