Вопрос

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

В частности, у меня есть это определение пути 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 - это кривые. Кривые

:

Рисует кривую кубической безье из текущей точки до (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
.

Это было полезно?

Решение

At this juncture you have two possibilites:

You can treat the bezier curve as a circle (which is, as commented, wrong; it's just really circle-looking). To calculate the area, determine the radius and use π * r^2 as usual.

If you want to calculate generally the area enclosed by a path element; that requires some moderate calculus, and is not for the faint of heart.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top