При написании вопроса я понял, что неправильно понял, как работают контрольные точки кривой Безье. Если присмотреться к ресурсу , который я использовал, дуги эллипса никогда не касаются границ x - width / 2
и x + width / 2
на рисунке. Так что это не совсем "ширина" вообще.
В будущем я буду придерживаться arc
вместо bezierCurveTo
.
(Это можно настроить с помощью «каппа»; см. этот ответ . Этот подход предпочтительнее дуги, если вы используете stroke
, а не просто fill
, поскольку scale
приведет к неравномерной толщине линии.)