public function toCurves(float $fromX, float $fromY) : array
    {
        if (sqrt(($fromX - $this->x) ** 2 + ($fromY - $this->y) ** 2) < self::ZERO_TOLERANCE) {
            return [];
        }

        if ($this->xRadius < self::ZERO_TOLERANCE || $this->yRadius < self::ZERO_TOLERANCE) {
            return [new Line($this->x, $this->y)];
        }

        return $this->createCurves($fromX, $fromY);
    }
public function toCurves(float $fromX, float $fromY) : array
    {
        if (sqrt(($fromX - $this->x) ** 2 + ($fromY - $this->y) ** 2) < self::ZERO_TOLERANCE) {
            return [];
        }

        if ($this->xRadius < self::ZERO_TOLERANCE || $this->yRadius < self::ZERO_TOLERANCE) {
            return [new Line($this->x, $this->y)];
        }

        return $this->createCurves($fromX, $fromY);
    }
public function toCurves ( float $ fromX , float $ fromY ) : array { if ( sqrt ( ( $ fromX - $ this -> x ) ** 2 + ( $ fromY - $ this -> y ) ** 2 ) < self :: ZERO_TOLERANCE ) { return [ ] ; } if ( $ this -> xRadius < self :: ZERO_TOLERANCE || $ this -> yRadius < self :: ZERO_TOLERANCE ) { return [ new Line ( $ this -> x , $ this -> y ) ] ; } return $ this -> createCurves ( $ fromX , $ fromY ) ; }
Converts the elliptic arc to multiple curves.

Since not all image back ends support elliptic arcs, this method allows to convert the arc into multiple curves
resembling the same result.

@see https://mortoray.com/2017/02/16/rendering-an-svg-elliptical-arc-as-bezier-curves/
@return array<Curve|Line>
Converts the elliptic arc to multiple curves .