Рассчитать размер круга из дуг? - PullRequest
1 голос
/ 18 мая 2011

Как я могу рассчитать размер круга из набора дуг?

В частности, у меня есть это определение пути SVG, которое рисует круг, я ищу, чтобы определить его размер.

<path clip-path="url(#SVGID_2_)" fill="#99C44C" d="M334.293,56.846c0-4.782,3.88-8.659,8.665-8.659c4.78,0,8.66,3.877,8.66,8.659
    c0,4.783-3.88,8.661-8.66,8.661C338.173,65.507,334.293,61.629,334.293,56.846"/>

Для вашей информации, круг нарисован в атрибуте 'd'.M334.293,56.846 перемещается в эту позицию x, y, тогда команды c являются кривыми.

Curves:

Рисует кубическую кривую Безье из текущей точки в (x, y), используя(x1, y1) в качестве контрольной точки в начале кривой и (x2, y2) в качестве контрольной точки в конце кривой.C (верхний регистр) указывает, что абсолютные координаты будут следовать;c (нижний регистр) указывает, что будут следовать относительные координаты.

relative curves
c0-4.782,3.88-8.659,8.665-8.659
c4.78,0,8.66,3.877,8.66,8.659
c0,4.783-3.88,8.661-8.66,8.661

absolute curve
C338.173,65.507,334.293,61.629,334.293,56.846

1 Ответ

1 голос
/ 18 мая 2011

На данный момент у вас есть две возможности:

Вы можете рассматривать кривую Безье как окружность (что, как прокомментировано, неверно; это просто действительно круговой вид). Чтобы вычислить площадь, определите радиус и используйте π * r^2 как обычно.

Если вы хотите вычислить, как правило, площадь, окруженную элементом пути; это требует некоторого умеренного исчисления и не для слабонервных.

...