Drag any gold vertex to a new lattice point. Tap an empty dot to push a new vertex onto the nearest edge. With a vertex selected, the arrow keys move it one unit.
“Ownership” gives every interior dot a whole unit of turning and every boundary dot half a unit; the leftover −1 is the polygon's own full turn. “Edge counts” labels each edge with its number of steps, gcd(|Δx|, |Δy|).
Scroll or pinch on the grid to zoom, drag the background to pan.
Where's the maths? This is geometry on a coordinate grid — the same squared paper you use for Cartesian coordinates, plus the area work you already do with triangles, parallelograms and trapeziums. Every corner of the shape on screen sits on a lattice point, a point whose coordinates are both whole numbers. Normally you would find such a shape's area by cutting it into rectangles and right-angled triangles, or by boxing it in and subtracting the corners. Pick's theorem says you can throw all that away and simply count dots: how many lie strictly inside, and how many lie on the edge. Those two counts alone fix the area exactly, with no measuring and no multiplying of lengths. It is a small piece of the branch called discrete geometry, where continuous things like area are pinned down by whole-number counting. Drag a vertex and watch the counted answer and the true area move in lockstep.
Beyond the syllabus: Pick's formula itself is not examined; it is a shortcut students can test against the syllabus methods.
Let I be the number of lattice points strictly inside the polygon and B the number on its boundary (corners included). Then
A = I + B⁄2 − 1
and that is the exact area in unit squares — no approximation. The panel at the bottom checks it every time you move a point against the shoelace formula, A = ½|Σ(xiyi+1 − xi+1yi)|, which is the coordinate version of the composite-figure method.
Counting B needs one idea from number work. The edge from (0, 0) to (6, 4) passes through lattice points every (3, 2), because 6 and 4 share the factor 2. In general an edge with steps Δx and Δy carries exactly gcd(|Δx|, |Δy|) lattice points if you count its start and not its end — so going once round the polygon counts every boundary point exactly once. Turn on “Edge counts” to see each edge's number.
Why the formula works, in the picture the “Ownership proof” draws: give each lattice point one unit of “turning” and ask how much of it the polygon takes. An interior dot is surrounded by the shape, so it hands over its whole unit. A boundary dot sits on a straight edge with the shape on one side only, so it hands over half. That accounts for I + B⁄2. The corners are the fiddly part, and when you add up how much extra the corners give and take, the polygon's one complete turn of 360° costs exactly one unit — the −1. Every triangle you can draw with no dots inside and only its three corners on the boundary has area I + B/2 − 1 = 0 + 3/2 − 1 = ½, and the whole theorem follows by cutting any polygon into those.
The two “Pick fails” shapes show the small print. The polygon must be simple: one closed loop, edges meeting only at shared corners. The bow tie crosses itself, and there the shoelace formula returns 0 while the dot count returns 12½ — neither is the 12 square units of paper the two triangles actually cover. A ring with a hole is not one loop either: counting gives an answer one short per hole, so the repaired rule reads A = I + B⁄2 − 1 + h for h holes.
Try this: load the Triangle, note I, B and the area, then drag one vertex straight up by one unit at a time. The true area jumps by a fixed amount each time (half the base), so predict I and B before you let go — if the area must rise by 3, the dots must supply exactly 3 more units between them. Then find a triangle with no interior dots at all and check that its area is always exactly ½.
Controls: drag a vertex to move it · tap an empty dot to add one · scroll or pinch to zoom · drag the background to pan · arrow keys nudge the selected vertex.