UNPKG

@thi.ng/axidraw

Version:

Minimal AxiDraw plotter/drawing machine controller for Node.js

30 lines (29 loc) 645 B
import { map } from "@thi.ng/transducers/map"; import { normRange } from "@thi.ng/transducers/norm-range"; import { cartesian2 } from "@thi.ng/vectors/cartesian"; import { DOWN, MOVE, UP } from "./commands.js"; const registrationMark = ([x, y], size = 5, r = size * 0.75) => [ // crosshair // horizontal MOVE([x - size, y]), DOWN(), MOVE([x + size, y]), UP(), // vertical MOVE([x, y - size]), DOWN(), MOVE([x, y + size]), UP(), // circle MOVE([x + r, y]), DOWN(), ...map( (t) => MOVE(cartesian2([], [r, t * Math.PI * 2], [x, y])), normRange(40) ), UP(), MOVE([x, y]) ]; export { registrationMark };