Zones: tennis

Tennis courtDrawn as: a tennis court, 78 by 36 feet, with its baselines, singles and doubles sidelines, service lines, centre service lines, centre marks and the net. Data: Zone chart of 80 balls. Count in 2 zones, from 40 to 40. Highest: Front court (left end) (40), Front court (right end) (40).Zone chart of 80 ballsCount in 2 zones, from 40 to 40. Highest: Front court (left end) (40), Front court (right end) (40).Front court (left end): 40 (40)Back court (left end) (0)Front court (right end): 40 (40)Back court (right end) (0)4040Legend: CountCount40

The picture above was drawn when the docs were built. The script below draws it again with the published package.

import { drawKyogijo } from "@johnmorrisdotca/kyogijo-stadiums";

const balls = Array.from({ length: 80 }, (_, i) => ({ x: ((i * 53) % 40) - 20, y: ((i * 29) % 16) - 8 }));
const svg = drawKyogijo({ sport: "tennis", layers: [{ kind: "zones", name: "balls", zones: "net-court", from: "tennis", data: balls, labels: true, legend: true }] });

This page imports the package from jsDelivr (major version 0), which serves only versions that have been published to npm. A feature added after the last release is not in it: the page then keeps the picture above and says why. The docs were built from version 0.6.1.