The pages are in English; this contents, the search and the buttons are in Japanese.
Gallery: the skating rinks
The standard 400 m speed skating track with its two lanes, warm-up lane, blocks and the lines of every race, the 111.12 m short track oval on its rink, the figure skating rink with its judges' seats, and the data: pairs, starting positions, results, a race replay and the elements of a programme. The pictures share one stylesheet, which is left out of each one's SVG here; drawKyogijo puts it in every drawing unless style: "none" says not to.
The long track#
sport: "skating", the long track by default: an inner lane of 4 m and an outer lane of at least 4 m, the warm-up lane inside, the blocks of the curves, the coaches' area on the crossing straight and the finishing line.
The standard 400 m track
Open in a page loads the published package from jsDelivr, which serves only released versions.
Show the code
import { drawKyogijo } from "@johnmorrisdotca/kyogijo-stadiums";
const svg = drawKyogijo({ sport: "skating" });The track, tall
Open in a page loads the published package from jsDelivr, which serves only released versions.
Show the code
import { drawKyogijo } from "@johnmorrisdotca/kyogijo-stadiums";
const svg = drawKyogijo({ sport: "skating", orientation: "portrait" });The lines of every race
The 500 m on the 300 m mark, the 1000 m's finish in the middle of the straight, the 1500 m, 3000 m and 5000 m on the crossing straight, the mass start and the team races in the middle of the straights.
Open in a page loads the published package from jsDelivr, which serves only released versions.
Show the code
import { drawKyogijo } from "@johnmorrisdotca/kyogijo-stadiums";
const svg = drawKyogijo({ sport: "skating", skating: { races: "all" } });An inner curve of 26 m, an outer lane of 5 m
The straight follows, so that a lap stays 400 m (110.43 m for 26 m).
Open in a page loads the published package from jsDelivr, which serves only released versions.
Show the code
import { drawKyogijo } from "@johnmorrisdotca/kyogijo-stadiums";
const svg = drawKyogijo({ sport: "skating", skating: { innerRadius: 26, laneWidth: 5 } });Without the warm-up lane, blocks and padding
Open in a page loads the published package from jsDelivr, which serves only released versions.
Show the code
import { drawKyogijo } from "@johnmorrisdotca/kyogijo-stadiums";
const svg = drawKyogijo({ sport: "skating", skating: { warmUp: false, blocks: false, coaches: false, padding: false } });The infield iced
Open in a page loads the published package from jsDelivr, which serves only released versions.
Show the code
import { drawKyogijo } from "@johnmorrisdotca/kyogijo-stadiums";
const svg = drawKyogijo({ sport: "skating", skating: { infield: "ice" } });Line drawing
Open in a page loads the published package from jsDelivr, which serves only released versions.
Show the code
import { drawKyogijo } from "@johnmorrisdotca/kyogijo-stadiums";
const svg = drawKyogijo({ sport: "skating", look: "line-drawing", skating: { races: "all" } });Night
Open in a page loads the published package from jsDelivr, which serves only released versions.
Show the code
import { drawKyogijo } from "@johnmorrisdotca/kyogijo-stadiums";
const svg = drawKyogijo({ sport: "skating", look: "night" });A team race, with a score
Open in a page loads the published package from jsDelivr, which serves only released versions.
Show the code
import { drawKyogijo } from "@johnmorrisdotca/kyogijo-stadiums";
const svg = drawKyogijo({
sport: "skating",
away: { name: "Harbour City Gulls", abbr: "HCG", score: 27, color: "#1d4f91" },
home: { name: "Prairie Ridge Bison", abbr: "PRB", score: 24, color: "#a8452c" },
status: "final",
competition: "Team pursuit final",
});A close-up of each start, and the finish#
range: "start" with skating.start shows the starting lines of the race, each lane's at the distance from the finish its own curve makes.
500 m
Open in a page loads the published package from jsDelivr, which serves only released versions.
Show the code
import { drawKyogijo } from "@johnmorrisdotca/kyogijo-stadiums";
const svg = drawKyogijo({ sport: "skating", range: "start", skating: { start: "500m" } });1000 m
The lane's lines stand 6.25 m and 6.32 m from the middle of the crossing straight: no lane is changed on its first straight.
Open in a page loads the published package from jsDelivr, which serves only released versions.
Show the code
import { drawKyogijo } from "@johnmorrisdotca/kyogijo-stadiums";
const svg = drawKyogijo({ sport: "skating", range: "start", skating: { start: "1000m" } });1500 m
Open in a page loads the published package from jsDelivr, which serves only released versions.
Show the code
import { drawKyogijo } from "@johnmorrisdotca/kyogijo-stadiums";
const svg = drawKyogijo({ sport: "skating", range: "start", skating: { start: "1500m" } });3000 m and 5000 m
The two lanes' lines are 12.57 m apart, the difference of the curves.
Open in a page loads the published package from jsDelivr, which serves only released versions.
Show the code
import { drawKyogijo } from "@johnmorrisdotca/kyogijo-stadiums";
const svg = drawKyogijo({ sport: "skating", range: "start", skating: { start: "3000m" } });Mass start
Open in a page loads the published package from jsDelivr, which serves only released versions.
Show the code
import { drawKyogijo } from "@johnmorrisdotca/kyogijo-stadiums";
const svg = drawKyogijo({ sport: "skating", range: "start", skating: { start: "mass-start" } });Team pursuit
Open in a page loads the published package from jsDelivr, which serves only released versions.
Show the code
import { drawKyogijo } from "@johnmorrisdotca/kyogijo-stadiums";
const svg = drawKyogijo({ sport: "skating", range: "start", skating: { start: "team-pursuit" } });The finish
Open in a page loads the published package from jsDelivr, which serves only released versions.
Show the code
import { drawKyogijo } from "@johnmorrisdotca/kyogijo-stadiums";
const svg = drawKyogijo({ sport: "skating", range: "finish" });The crossing straight
Open in a page loads the published package from jsDelivr, which serves only released versions.
Show the code
import { drawKyogijo } from "@johnmorrisdotca/kyogijo-stadiums";
const svg = drawKyogijo({ sport: "skating", range: "crossing-straight" });A curve
Open in a page loads the published package from jsDelivr, which serves only released versions.
Show the code
import { drawKyogijo } from "@johnmorrisdotca/kyogijo-stadiums";
const svg = drawKyogijo({ sport: "skating", range: "first-bend" });The short track#
league: "isu-short-track": an oval of 111.12 m on a rink of 60 by 30 m, seven blocks in each curve, five or seven tracks laid out beside the standard one.
The short track
Open in a page loads the published package from jsDelivr, which serves only released versions.
Show the code
import { drawKyogijo } from "@johnmorrisdotca/kyogijo-stadiums";
const svg = drawKyogijo({ sport: "skating", league: "isu-short-track" });The starting lines of the half-lap races
The 500 m and the 1500 m start on the straight opposite the finishing line, the others at it; the five dots of the 500 m and the 1000 m are the starting positions.
Open in a page loads the published package from jsDelivr, which serves only released versions.
Show the code
import { drawKyogijo } from "@johnmorrisdotca/kyogijo-stadiums";
const svg = drawKyogijo({ sport: "skating", league: "isu-short-track", skating: { races: ["500m", "1000m", "1500m"] } });Seven tracks
Open in a page loads the published package from jsDelivr, which serves only released versions.
Show the code
import { drawKyogijo } from "@johnmorrisdotca/kyogijo-stadiums";
const svg = drawKyogijo({ sport: "skating", league: "isu-short-track", skating: { tracks: 7, races: ["500m"] } });A close-up of the 500 m's start
Open in a page loads the published package from jsDelivr, which serves only released versions.
Show the code
import { drawKyogijo } from "@johnmorrisdotca/kyogijo-stadiums";
const svg = drawKyogijo({ sport: "skating", league: "isu-short-track", range: "start", skating: { start: "500m" } });The finishing line
Open in a page loads the published package from jsDelivr, which serves only released versions.
Show the code
import { drawKyogijo } from "@johnmorrisdotca/kyogijo-stadiums";
const svg = drawKyogijo({ sport: "skating", league: "isu-short-track", range: "finish" });A curve with its seven blocks
Open in a page loads the published package from jsDelivr, which serves only released versions.
Show the code
import { drawKyogijo } from "@johnmorrisdotca/kyogijo-stadiums";
const svg = drawKyogijo({ sport: "skating", league: "isu-short-track", range: "first-bend" });Line drawing
Open in a page loads the published package from jsDelivr, which serves only released versions.
Show the code
import { drawKyogijo } from "@johnmorrisdotca/kyogijo-stadiums";
const svg = drawKyogijo({
sport: "skating",
league: "isu-short-track",
look: "line-drawing",
skating: { races: ["500m"] },
});The figure skating rink#
league: "isu-figure": 60 m by 30 m if possible and never less than 56 m by 26 m, with the judges and the referee at the rinkboard, the technical panel and the kiss and cry.
The rink
Open in a page loads the published package from jsDelivr, which serves only released versions.
Show the code
import { drawKyogijo } from "@johnmorrisdotca/kyogijo-stadiums";
const svg = drawKyogijo({ sport: "skating", league: "isu-figure" });The smallest rink: 56 m by 26 m
Open in a page loads the published package from jsDelivr, which serves only released versions.
Show the code
import { drawKyogijo } from "@johnmorrisdotca/kyogijo-stadiums";
const svg = drawKyogijo({ sport: "skating", league: "isu-figure", skating: { rink: { length: 56, width: 26 } } });The ice alone
Open in a page loads the published package from jsDelivr, which serves only released versions.
Show the code
import { drawKyogijo } from "@johnmorrisdotca/kyogijo-stadiums";
const svg = drawKyogijo({ sport: "skating", league: "isu-figure", skating: { furniture: false } });The judges
Open in a page loads the published package from jsDelivr, which serves only released versions.
Show the code
import { drawKyogijo } from "@johnmorrisdotca/kyogijo-stadiums";
const svg = drawKyogijo({ sport: "skating", league: "isu-figure", range: "judges" });One half
Open in a page loads the published package from jsDelivr, which serves only released versions.
Show the code
import { drawKyogijo } from "@johnmorrisdotca/kyogijo-stadiums";
const svg = drawKyogijo({ sport: "skating", league: "isu-figure", range: "half" });The rink, tall
Open in a page loads the published package from jsDelivr, which serves only released versions.
Show the code
import { drawKyogijo } from "@johnmorrisdotca/kyogijo-stadiums";
const svg = drawKyogijo({ sport: "skating", league: "isu-figure", orientation: "portrait" });The data#
@johnmorrisdotca/kyogijo-stadiums/skating: the pairs of a race, the starting positions, the results, a replay and the elements of a programme.
A pair on the start of the 1000 m
The inner lane's armband is white and the outer's red (Rule 253.3.1).
Open in a page loads the published package from jsDelivr, which serves only released versions.
Show the code
import { skatingPairs } from "@johnmorrisdotca/kyogijo-stadiums/skating";
const flag = (a, b, c) => `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 3 2"><rect width="1" height="2" fill="${a}"/><rect x="1" width="1" height="2" fill="${b}"/><rect x="2" width="1" height="2" fill="${c}"/></svg>`;
const ned = flag("#ae1c28", "#fff", "#21468b");
const nor = flag("#ba0c2f", "#00205b", "#fff");
const svg = skatingPairs([{ pair: 1, inner: { name: "Nuis", country: "NED", flag: ned }, outer: { name: "Stolz", country: "NED", flag: ned } }, { pair: 2, inner: { name: "Kulizhnikov" }, outer: { name: "Lundin", country: "NOR", flag: nor } }], { race: "1000m" }).draw();The starting positions of a short track race
Open in a page loads the published package from jsDelivr, which serves only released versions.
Show the code
import { skatingGrid } from "@johnmorrisdotca/kyogijo-stadiums/skating";
const svg = skatingGrid([{ position: 1, name: "Hwang" }, { position: 2, name: "Liu" }, { position: 4, name: "Shaoang" }], { race: "500m" }).draw();Results
The medals and the times in the middle of the ice, and the splits along the lane.
Open in a page loads the published package from jsDelivr, which serves only released versions.
Show the code
import { skatingResults } from "@johnmorrisdotca/kyogijo-stadiums/skating";
const results = [
{ name: "Nuis", place: 1, time: 67.8, lane: "inner", pair: 1, splits: [{ distance: 200, time: 17.3 }, { distance: 600, time: 45.1 }] },
{ name: "Stolz", place: 2, time: 68.2, lane: "outer" },
{ name: "Kulizhnikov", place: 3, time: 68.9 },
{ name: "Lundin", place: 4, time: 69.1 },
];
const svg = skatingResults(results, { race: "1000m" }).draw();A race replay, the 1000 m
Each skater is on his own way: the first straight of the 1000 m in one lane, then a lane changed on every crossing.
Open in a page loads the published package from jsDelivr, which serves only released versions.
Show the code
import { skatingReplay } from "@johnmorrisdotca/kyogijo-stadiums/skating";
import { drawFrame } from "@johnmorrisdotca/kyogijo-stadiums/replay";
const replay = skatingReplay([{ name: "A", lane: "inner", time: 68 }, { name: "B", lane: "outer", time: 69 }], { race: "1000m" });
const svg = drawFrame(replay.options, replay.timeline, 30, replay.look);A short track replay
Open in a page loads the published package from jsDelivr, which serves only released versions.
Show the code
import { skatingReplay } from "@johnmorrisdotca/kyogijo-stadiums/skating";
import { drawFrame } from "@johnmorrisdotca/kyogijo-stadiums/replay";
const replay = skatingReplay([{ name: "A", position: 1, time: 40 }, { name: "B", position: 3, time: 41 }, { name: "C", position: 5, time: 41.4 }], { race: "500m", surface: { league: "isu-short-track" } });
const svg = drawFrame(replay.options, replay.timeline, 10, replay.look);The elements of a programme on the ice
A mark for each element where it starts, a shape for its kind, the track of a sequence as a dashed line.
Open in a page loads the published package from jsDelivr, which serves only released versions.
Show the code
import { figureElements } from "@johnmorrisdotca/kyogijo-stadiums/skating";
const svg = figureElements([
{ kind: "jump", name: "3Lz", x: -18, y: 5, order: 1 },
{ kind: "spin", name: "CCoSp4", x: 2, y: -4, order: 2 },
{ kind: "step-sequence", name: "StSq3", x: -24, y: -9, x2: 22, y2: -9, order: 3 },
{ kind: "jump", name: "3F", x: 20, y: 6, order: 4 },
]).draw();