prologues := 0; pen xypen, pixelpen, stpen, stgridpen, legendpen; xypen = pencircle scaled 2pt; pixelpen = pencircle scaled 3pt; stpen = pencircle scaled 1pt; stgridpen = pencircle scaled .5pt; legendpen = pencircle scaled 1.5pt; transform xytrans, sttrans; xytrans = identity scaled 80; sttrans = identity rotated 10 xscaled 15 yscaled 10 scaled .8 rotated 20 shifted (110,40); beginfig(1); drawarrow ((0,0) -- (3,0)) transformed xytrans withpen xypen; drawarrow ((0,0) -- (0,3)) transformed xytrans withpen xypen; label.bot("x", ((3,0) transformed xytrans)); label.lft("y", ((0,3) transformed xytrans)); draw ((1,1)--(2,1)--(2,2)--(1,2)--cycle) transformed xytrans withpen pixelpen; x0 = -5; x1 = 16; y0 = -5; y1 = 20; for x := x0 upto x1: draw ((x, y0)--(x,y1)) transformed sttrans withpen stgridpen; endfor; for y := y0 upto y1: draw ((x0, y)--(x1,y)) transformed sttrans withpen stgridpen; endfor; drawarrow ((0,0) -- (x1+x0,0)) transformed sttrans withpen stpen; drawarrow ((0,0) -- (0, y1+y0)) transformed sttrans withpen stpen; label.bot("s", ((x1+x0,0) transformed sttrans)); label.lft("t", ((0,y1+y0) transformed sttrans)); z42=(170,-30); label.bot("The pixel", z42); draw z42{0,1}.. ((1.9,1) transformed xytrans) withpen legendpen; z43 = (60,270); label.top("Texel color = contribution to pixel value", z43); draw (z43+(-40,0)){0,-1}.. ((2.5,18.5) transformed sttrans) withpen legendpen; z44=(250,30); label.bot("Texture coordinates", z44); draw z44{0,1}.. ((10.5,0) transformed sttrans) withpen legendpen; endfig; end