# Parametric

object Parametric

A collection of parametric curves.

A parametric curve is a function from some input---usually a normalized number or an angle---to a `Point`.

Companion
class
class Object
trait Matchable
class Any

## Type members

### Classlikes

final case
class AngularCurve(f: Angle => Point) extends Parametric[Angle]

A parametric curve that maps angles to points

A parametric curve that maps angles to points

final case

A parametric curve that maps normalized to points

A parametric curve that maps normalized to points

## Value members

### Concrete methods

def circle(radius: Double): AngularCurve

A circle

A circle

def cubicBezier(start: Point, cp1: Point, cp2: Point, end: Point): NormalizedCurve
def hypotrochoid(outerRadius: Double, innerRadius: Double, offset: Double): AngularCurve

A hypotrochoid is the curve sketched out by a point `offset` from the centre of a circle of radius `innerRadius` rolling around the inside of a circle of radius `outerRadius`.

A hypotrochoid is the curve sketched out by a point `offset` from the centre of a circle of radius `innerRadius` rolling around the inside of a circle of radius `outerRadius`.

def interpolate(points: Seq[Point], tension: Double): NormalizedCurve

Interpolate a spline (a curve) that passes through all the given points, using the Catmul Rom formulation (see, e.g., https://en.wikipedia.org/wiki/Cubic_Hermite_spline)

Interpolate a spline (a curve) that passes through all the given points, using the Catmul Rom formulation (see, e.g., https://en.wikipedia.org/wiki/Cubic_Hermite_spline)

The tension can be changed to control how tightly the curve turns. It defaults to 0.5.

The Catmul Rom algorithm requires a point before and after each pair of points that define the curve. To meet this condition for the first and last points in `points`, they are repeated.

If `points` has less than two elements an empty `Path` is returned.

def logarithmicSpiral(a: Double, b: Double): AngularCurve

Logarithmic spiral

Logarithmic spiral