UNPKG

react-speedometer

Version:
15 lines (14 loc) 673 B
export const polarToCartesian = (centerX, centerY, radius, angleInDegrees) => { const angleInRadians = ((angleInDegrees - 90) * Math.PI) / 180.0; return { x: centerX + radius * Math.cos(angleInRadians), y: centerY + radius * Math.sin(angleInRadians), }; }; export const getCirclePath = (x, y, radius, startAngle, endAngle) => { const start = polarToCartesian(x, y, radius, endAngle * 0.9999); const end = polarToCartesian(x, y, radius, startAngle); const largeArcFlag = endAngle - startAngle <= 180 ? '0' : '1'; const d = ['M', start.x, start.y, 'A', radius, radius, 0, largeArcFlag, 0, end.x, end.y]; return d.join(' '); };