UNPKG

shape-points

Version:

Generate points for simple shapes and curves: arcs, rectangles, rounded rectangles, circles, ellipses, bezierCurveTo, bezierCurveThrough (i.e., bezier curves through specific points)

23 lines (21 loc) 591 B
/** * calculate points for a ellipse (calculates using pointsInArc * 4) * @module shape-points/ellipse * @param {number} x * @param {number} y * @param {number} rx * @param {number} ry * @param {number} [pointsInArc=5] * @returns {array} [x1, y1, x2, y2, ... xn, yn] */ export function ellipse(x, y, rx, ry, pointsInArc) { pointsInArc = pointsInArc || 5 const points = [] const interval = Math.PI * 2 / (pointsInArc * 4) for (let i = 0; i < Math.PI * 2; i += interval) { points.push(x - rx * Math.sin(i), y - ry * Math.cos(i)) } return points }