`path.pointAt(ratio [, opt])`

Return a point on the path that lies `ratio`

(normalized length) away from the beginning of the path.

The function expects `ratio`

to lie between 0 and 1; values outside the range are constrained to 0 and 1, respectively. Invisible segments (e.g. Moveto segments) have no length and are therefore skipped by the algorithm. If the path contains no visible segments, the `end`

point of the last segment is returned. If the path has no segments at all, `null`

is returned.

The function uses the same algorithm as the `path.pointAtLength()`

function. It finds a visible segment which contains the point at length that corresponds to given `ratio`

and then calls the segment's `pointAtLength()`

function.

The `opt`

argument is optional. Two properties may be specified, `opt.precision`

and `opt.segmentSubdivisions`

, which determine maximum error allowed in `pointAtLength`

calculations for curved segments (default precision is 3; this corresponds to maximum observed error of 0.1%). The `opt.segmentSubdivisions`

property is an array of individual segments' subdivision arrays. The `path.getSegmentSubdivisions()`

function may be used to obtain the `segmentSubdivisions`

array. The `opt.precision`

property is still necessary, however; it determines the precision of the point search algorithm in curved segments.