`curve.tangentAt(ratio [, opt])`

Return a line that is tangent to the curve at a point that lies `ratio`

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

The function expects `ratio`

to lie between 0 and 1; values outside the range are constrained to 0 and 1, respectively.

The tangent line starts at the specified point. The direction from `start`

to `end`

is the same as the direction of the curve at the specified point.

If the control points of the curve all lie at the same coordinates, `null`

is returned (it is impossible to determine the slope of a point). The `curve.isDifferentiable()`

function may be used in advance to determine whether tangents can exist for a given curve.

The function uses the same algorithm as the `curve.tangentAtLength()`

function.

The default value for `opt.precision`

is 3; this corresponds to maximum observed error of 0.1%.

The `opt.subdivisions`

property may be specified, directly providing an array of pre-computed curve subdivisions from which to calculate curve length. Use the `curve.getSubdivisions()`

function to obtain an array of curve subdivisions. The `opt.precision`

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