Посмотрите на схему, дуга - это часть окружности воображаемого круга, этот воображаемый круг можно определить координатами x,y и радиусом.
Далее мы можем определить саму дугу, для этого нужно выбрать 2 точки по диаметру этой мнимой окружности, и углы от центральной точки до вашей точки будут начальмым и конечным углами. Углы задаются в радианах.
И последним аргументом мы передаем направление рисования, по умолчанию это false, что означает что рисоваться будет по часовой стрелке (необязательный параметр).
С помощью метода arc() можно нарисовать полную окружность
Для раскрашивания нарисованных в canvas фигур предусмотрены свойства: fillStyle и strokeStyle. Свойство fillStyle используется для применения цвета к закрашенным, а strokeStyleдля применения цвета к не закрашенным фигурам.
Здесь используются две знакомые нам функции: fillStyle - задает цвет и прозрачность кисти рисования и fillRect - рисует прямоугольник с заданными координатами и размерами.
Линии
Перемещение пера в точку с координатами x,y без прорисовки линии выполняется методом moveTo(x, y).
Перемещение пера в точку с координатами x,y с прорисовкой линии выполняется методом lineTo(x, y).
В HTML имеются несколько свойств для оформления линий нарисованных с помощью метода lineTo(), это lineWidth, lineCap, lineJoin.
С помощью свойства lineWidth можно установить ширину линии (по умолчанию линии имеют ширину 1 пиксель)