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 class NormalizedCurve(f: Normalized => Point) extends Parametric[Normalized]

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

Quadratic bezier curve

Quadratic bezier curve

def rose(k: Double, scale: Double): AngularCurve

Rose curve

Rose curve

def sine(amplitude: Double, frequency: Double): AngularCurve

A sinusoid

A sinusoid