#! /usr/bin/gawk -f # Last edited on 2013-01-07 10:32:00 by stolfilocal # Client must define {nx,ny} = size of each block, {nd} = num of blocks BEGIN{ cx = int((nx-1)/2); cy = int((ny-1)/2); maxval = 65535; lo = int(maxval/4); hi = maxval - lo; printf "P2\n"; printf "%d %d\n", nx, nd*ny; printf "%d\n", maxval; for (k = 0; k < nd; k++) { for (y = 0; y < ny; y++) { for (x = 0; x < nx; x++) { printf " %d", ((x == cx+k) && (y == cy) ? hi : lo); } printf "\n"; } } fflush("/dev/stdout"); }