Skip to main content

Style Functions

Constraint Functions

collinear

collinear(c1, c2, c3): IVarAD

Require that three points be collinear. Depends on the specific ordering of points.

Parameters

NameType
c1IVarAD[]
c2IVarAD[]
c3IVarAD[]

Returns

IVarAD

Defined in

contrib/Constraints.ts:420


collinearUnordered

collinearUnordered(c1, c2, c3): IVarAD

Require that three points be collinear. Does not enforce a specific ordering of points, instead it takes the arrangement of points that is most easily satisfiable.

Parameters

NameType
c1IVarAD[]
c2IVarAD[]
c3IVarAD[]

Returns

IVarAD

Defined in

contrib/Constraints.ts:436


disjointScalar

disjointScalar(c, left, right): IVarAD

Make scalar c disjoint from a range left, right.

Parameters

NameType
cany
leftany
rightany

Returns

IVarAD

Defined in

contrib/Constraints.ts:395


perpendicular

perpendicular(q, p, r): IVarAD

Require that the vector defined by (q, p) is perpendicular from the vector defined by (r, p).

Parameters

NameType
qIVarAD[]
pIVarAD[]
rIVarAD[]

Returns

IVarAD

Defined in

contrib/Constraints.ts:409


atDist

Static atDist(__namedParameters, __namedParameters, distance): IVarAD

Require that shape s1 is at a distance of distance from shape s2.

Parameters

NameType
__namedParameters[string, any]
__namedParameters[string, any]
distancenumber

Returns

IVarAD

Defined in

contrib/Constraints.ts:571


contains

Static contains(__namedParameters, __namedParameters, padding?): IVarAD

Require that a shape s1 contains another shape s2, based on the type of the shape, and with an optional padding between the sizes of the shapes (e.g. if s1 should contain s2 with margin padding).

Parameters

NameTypeDefault value
__namedParameters[string, any]undefined
__namedParameters[string, any]undefined
paddingnumber0.0

Returns

IVarAD

Defined in

contrib/Constraints.ts:548


contains1D

Static contains1D(__namedParameters, __namedParameters): IVarAD

Require that an interval [l1, r1] contains another interval [l2, r2]. If not possible, returns 0.

Parameters

NameType
__namedParameters[IVarAD, IVarAD]
__namedParameters[IVarAD, IVarAD]

Returns

IVarAD

Defined in

contrib/Constraints.ts:384


disjoint

Static disjoint(__namedParameters, __namedParameters, padding?): IVarAD

Require that a shape s1 is disjoint from shape s2, based on the type of the shape, and with an optional padding between them (e.g. if s1 should be disjoint from s2 with margin padding).

Parameters

NameTypeDefault value
__namedParameters[string, any]undefined
__namedParameters[string, any]undefined
paddingnumber0.0

Returns

IVarAD

Defined in

contrib/Constraints.ts:522


disjointIntervals

Static disjointIntervals(__namedParameters, __namedParameters): IVarAD

Make two intervals disjoint. They must be 1D intervals (line-like shapes) sharing a y-coordinate.

Parameters

NameType
__namedParameters[string, any]
__namedParameters[string, any]

Returns

IVarAD

Defined in

contrib/Constraints.ts:611


equal

Static equal(x, y): IVarAD

Require that the value x is equal to the value y

Parameters

NameType
xIVarAD
yIVarAD

Returns

IVarAD

Defined in

contrib/Constraints.ts:341


greaterThan

Static greaterThan(x, y, padding?): IVarAD

Require that the value x is greater than the value y with optional padding padding

Parameters

NameTypeDefault value
xIVarADundefined
yIVarADundefined
paddingnumber0

Returns

IVarAD

Defined in

contrib/Constraints.ts:355


greaterThanSq

Static greaterThanSq(x, y): IVarAD

Require that the value x is greater than the value y, with steeper penalty

Parameters

NameType
xIVarAD
yIVarAD

Returns

IVarAD

Defined in

contrib/Constraints.ts:370


inRange

Static inRange(x, x0, x1): IVarAD

Require that the value x is in the range defined by [x0, x1].

Parameters

NameType
xIVarAD
x0IVarAD
x1IVarAD

Returns

IVarAD

Defined in

contrib/Constraints.ts:377


lessThan

Static lessThan(x, y, padding?): IVarAD

Require that the value x is less than the value y with optional padding padding

Parameters

NameTypeDefault value
xIVarADundefined
yIVarADundefined
paddingnumber0

Returns

IVarAD

Defined in

contrib/Constraints.ts:348


lessThanSq

Static lessThanSq(x, y): IVarAD

Require that the value x is less than the value y, with steeper penalty

Parameters

NameType
xIVarAD
yIVarAD

Returns

IVarAD

Defined in

contrib/Constraints.ts:362


maxSize

Static maxSize(__namedParameters, limit): IVarAD

Require that a shape have a size less than some constant maximum, based on the type of the shape.

Parameters

NameType
__namedParameters[string, any]
limitnumber | IVarAD

Returns

IVarAD

Defined in

contrib/Constraints.ts:482


minSize

Static minSize(__namedParameters, limit?): IVarAD

Require that a shape have a size greater than some constant minimum, based on the type of the shape.

Parameters

NameTypeDefault value
__namedParameters[string, any]undefined
limitnumber50

Returns

IVarAD

Defined in

contrib/Constraints.ts:475


onCanvas

Static onCanvas(__namedParameters, canvasWidth, canvasHeight): IVarAD

Require that shape is on the canvas

Parameters

NameType
__namedParametersany
canvasWidthIVarAD
canvasHeightIVarAD

Returns

IVarAD

Defined in

contrib/Constraints.ts:453


overlapping

Static overlapping(__namedParameters, __namedParameters, padding?): IVarAD

Require that shape s1 overlaps shape s2 with some padding padding. based on the type of the shape, and with an optional padding between them (e.g. if s1 should be overlapping s2 with margin padding).

Parameters

NameTypeDefault value
__namedParameters[string, any]undefined
__namedParameters[string, any]undefined
paddingnumber0.0

Returns

IVarAD

Defined in

contrib/Constraints.ts:491


ptCircleIntersect

Static ptCircleIntersect(p, __namedParameters): IVarAD

Parameters

NameType
pIVarAD[]
__namedParameters[string, any]

Returns

IVarAD

Defined in

contrib/Constraints.ts:600


smallerThan

Static smallerThan(__namedParameters, __namedParameters, relativePadding?): IVarAD

Require that shape s1 is smaller than s2 with some relative padding relativePadding.

Parameters

NameTypeDefault value
__namedParameters[string, any]undefined
__namedParameters[string, any]undefined
relativePaddingnumber0.4

Returns

IVarAD

Defined in

contrib/Constraints.ts:584


touching

Static touching(__namedParameters, __namedParameters, padding?): IVarAD

Require that shape s1 is touching shape s2. based on the type of the shape, and with an optional padding between them (e.g. if s1 should be touching s2 with margin padding).

Parameters

NameTypeDefault value
__namedParameters[string, any]undefined
__namedParameters[string, any]undefined
paddingnumber0.0

Returns

IVarAD

Defined in

contrib/Constraints.ts:535

Objective Functions

above

Static above(__namedParameters, __namedParameters, offset?): IVarAD

Encourage the center of sBottom to be below the center of sTop.

Parameters

NameTypeDefault value
__namedParameters[string, any]undefined
__namedParameters[string, any]undefined
offsetnumber100

Returns

IVarAD

Defined in

contrib/Objectives.ts:396


below

Static below(__namedParameters, __namedParameters, offset?): IVarAD

Encourage the center of sTop to be above the center of sBottom. Only works for shapes with property center.

Parameters

NameTypeDefault value
__namedParameters[string, any]undefined
__namedParameters[string, any]undefined
offsetnumber100

Returns

IVarAD

Defined in

contrib/Objectives.ts:380


centerArrow

Static centerArrow(__namedParameters, __namedParameters, __namedParameters): IVarAD

Try to center the arrow arr between the shapes s2 and s3 (they can also be any shapes with a center).

Parameters

NameType
__namedParameters[string, any]
__namedParameters[string, any]
__namedParameters[string, any]

Returns

IVarAD

Defined in

contrib/Objectives.ts:528


centerLabel

Static centerLabel(__namedParameters, __namedParameters, w, padding?): IVarAD

Try to center a label s2 with respect to some shape s1.

Parameters

NameTypeDefault value
__namedParameters[string, any]undefined
__namedParameters[string, any]undefined
wnumberundefined
paddingnumber10

Returns

IVarAD

Defined in

contrib/Objectives.ts:580


centerLabelAbove

Static centerLabelAbove(__namedParameters, __namedParameters, w): IVarAD

Parameters

NameType
__namedParameters[string, any]
__namedParameters[string, any]
wnumber

Returns

IVarAD

Defined in

contrib/Objectives.ts:551


equal

Static equal(x, y): IVarAD

Encourage the inputs to have the same value: (x - y)^2

Parameters

NameType
xIVarAD
yIVarAD

Returns

IVarAD

Defined in

contrib/Objectives.ts:346


greaterThan

Static greaterThan(x, y): IVarAD

Encourage x to be greater than or equal to y: max(0,y - x)^2

Parameters

NameType
xIVarAD
yIVarAD

Returns

IVarAD

Defined in

contrib/Objectives.ts:351


leftwards

Static leftwards(__namedParameters, __namedParameters, offset?): IVarAD

Encourage the center of sLeft to be leftwards to the center of sRight.

Parameters

NameTypeDefault value
__namedParameters[string, any]undefined
__namedParameters[string, any]undefined
offsetnumber100

Returns

IVarAD

Defined in

contrib/Objectives.ts:412


lessThan

Static lessThan(x, y): IVarAD

Encourage x to be less than or equal to y: max(0,x - y)^2

Parameters

NameType
xIVarAD
yIVarAD

Returns

IVarAD

Defined in

contrib/Objectives.ts:356


maximal

Static maximal(x): IVarAD

Encourage the input value to be close to infinity

Parameters

NameType
xIVarAD

Returns

IVarAD

Defined in

contrib/Objectives.ts:341


minimal

Static minimal(x): IVarAD

Encourage the input value to be close to negative infinity

Parameters

NameType
xIVarAD

Returns

IVarAD

Defined in

contrib/Objectives.ts:336


near

Static near(__namedParameters, __namedParameters, offset?): IVarAD

Try to place shape s1 near shape s2 (putting their centers at the same place).

Parameters

NameTypeDefault value
__namedParameters[string, any]undefined
__namedParameters[string, any]undefined
offsetnumber10.0

Returns

IVarAD

Defined in

contrib/Objectives.ts:481


nearPt

Static nearPt(__namedParameters, x, y): IVarAD

Try to place shape s1 near a location (x, y).

Parameters

NameType
__namedParameters[string, any]
xany
yany

Returns

IVarAD

Defined in

contrib/Objectives.ts:491


nonDegenerateAngle

Static nonDegenerateAngle(__namedParameters, __namedParameters, __namedParameters, strength?, range?): IVarAD

Repel the angle between the p1-p0 and p1-p2 away from 0 and 180 degrees. NOTE: angles more than range degrees from 0 or 180 deg are considered satisfied.

Parameters

NameTypeDefault value
__namedParameters[string, any]undefined
__namedParameters[string, any]undefined
__namedParameters[string, any]undefined
strengthnumber20
rangenumber10

Returns

IVarAD

Defined in

contrib/Objectives.ts:499


pointLineDist

Static pointLineDist(point, __namedParameters, padding): IVarAD

try to make distance between a point and a segment s1 = padding.

Parameters

NameType
pointIVarAD[]
__namedParameters[string, any]
paddingIVarAD

Returns

IVarAD

Defined in

contrib/Objectives.ts:609


repel

Static repel(__namedParameters, __namedParameters, weight?): IVarAD

Try to repel shapes s1 and s2 with some weight.

Parameters

NameTypeDefault value
__namedParameters[string, any]undefined
__namedParameters[string, any]undefined
weightnumber10.0

Returns

IVarAD

Defined in

contrib/Objectives.ts:453


repelPt

Static repelPt(weight, a, b): IVarAD

Repel point a from another scalar b with weight weight.

Parameters

NameType
weightIVarAD
aIVarAD[]
bIVarAD[]

Returns

IVarAD

Defined in

contrib/Objectives.ts:361


repelScalar

Static repelScalar(c, d): IVarAD

Repel scalar c from another scalar d.

Parameters

NameType
cnumber | IVarAD
dnumber | IVarAD

Returns

IVarAD

Defined in

contrib/Objectives.ts:367


rightwards

Static rightwards(__namedParameters, __namedParameters, offset?): IVarAD

Encourage the center of sRight to be rightwards to the center of sLeft.

Parameters

NameTypeDefault value
__namedParameters[string, any]undefined
__namedParameters[string, any]undefined
offsetnumber100

Returns

IVarAD

Defined in

contrib/Objectives.ts:428


sameCenter

Static sameCenter(__namedParameters, __namedParameters): IVarAD

Encourage shape s1 to have the same center position as shape s2.

Parameters

NameType
__namedParameters[string, any]
__namedParameters[string, any]

Returns

IVarAD

Defined in

contrib/Objectives.ts:444

Computation Functions

MathE

Static MathE(_context): IFloatV<IVarAD>

Base e of the natural logarithm.

Parameters

NameType
_contextContext

Returns

IFloatV<IVarAD>

Defined in

contrib/Functions.ts:2942


MathPI

Static MathPI(_context): IFloatV<IVarAD>

Ratio of the circumference of a circle to its diameter.

Parameters

NameType
_contextContext

Returns

IFloatV<IVarAD>

Defined in

contrib/Functions.ts:2952


abs

Static abs(_context, x): IFloatV<IVarAD>

Return the absolute value of the number x.

Parameters

NameType
_contextContext
xIVarAD

Returns

IFloatV<IVarAD>

Defined in

contrib/Functions.ts:2874


acos

Static acos(_context, x): IFloatV<IVarAD>

Return acos(x).

Parameters

NameType
_contextContext
xIVarAD

Returns

IFloatV<IVarAD>

Defined in

contrib/Functions.ts:1787


acosh

Static acosh(_context, x): IFloatV<IVarAD>

Return acosh(x).

Parameters

NameType
_contextContext
xIVarAD

Returns

IFloatV<IVarAD>

Defined in

contrib/Functions.ts:1777


angleBetween

Static angleBetween(_context, u, v): IFloatV<IVarAD>

Return the unsigned angle between vectors u, v, in radians. Assumes that both u and v have nonzero magnitude. The returned value will be in the range [0,pi].

Parameters

NameType
_contextContext
uIVarAD[]
vIVarAD[]

Returns

IFloatV<IVarAD>

Defined in

contrib/Functions.ts:2292


angleFrom

Static angleFrom(_context, u, v): IFloatV<IVarAD>

Return the signed angle from vector u to vector v, in radians. Assumes that both u and v are 2D vectors and have nonzero magnitude. The returned value will be in the range [-pi,pi].

Parameters

NameType
_contextContext
uIVarAD[]
vIVarAD[]

Returns

IFloatV<IVarAD>

Defined in

contrib/Functions.ts:2305


angleOf

Static angleOf(_context, v): IFloatV<IVarAD>

Return the angle made by the vector v with the positive x-axis.

Parameters

NameType
_contextContext
vIVarAD[]

Returns

IFloatV<IVarAD>

Defined in

contrib/Functions.ts:2933


arc

Static arc(_context, pathType, start, end, radius, rotation, largeArc, arcSweep): IPathDataV<IVarAD>

Return series of elements that can render an arc SVG. See: https://css-tricks.com/svg-path-syntax-illustrated-guide/ for the "A" spec.

returns: Elements that can be passed to Path shape spec to render an SVG arc

Parameters

NameType
_contextContext
pathTypestring
startPt2
endPt2
radiusPt2
rotationIVarAD
largeArcIVarAD
arcSweepIVarAD

Returns

IPathDataV<IVarAD>

Defined in

contrib/Functions.ts:2201


arcSweepFlag

Static arcSweepFlag(_context, __namedParameters, start, end): IFloatV<IVarAD>

Return 0 if direction of rotation is CCW, 1 if direction of rotation is CW.

returns: 0 or 1 depending on CCW or CW rotation

Parameters

NameType
_contextContext
__namedParametersIVarAD[]
startPt2
endPt2

Returns

IFloatV<IVarAD>

Defined in

contrib/Functions.ts:2272


asin

Static asin(_context, x): IFloatV<IVarAD>

Return asin(x).

Parameters

NameType
_contextContext
xIVarAD

Returns

IFloatV<IVarAD>

Defined in

contrib/Functions.ts:1797


asinh

Static asinh(_context, x): IFloatV<IVarAD>

Return asinh(x).

Parameters

NameType
_contextContext
xIVarAD

Returns

IFloatV<IVarAD>

Defined in

contrib/Functions.ts:1807


atan

Static atan(_context, x): IFloatV<IVarAD>

Return atan(x).

Parameters

NameType
_contextContext
xIVarAD

Returns

IFloatV<IVarAD>

Defined in

contrib/Functions.ts:1817


atan2

Static atan2(_context, x, y): IFloatV<IVarAD>

Return atan2(y,x).

Parameters

NameType
_contextContext
xIVarAD
yIVarAD

Returns

IFloatV<IVarAD>

Defined in

contrib/Functions.ts:1827


atanh

Static atanh(_context, x): IFloatV<IVarAD>

Return atanh(x).

Parameters

NameType
_contextContext
xIVarAD

Returns

IFloatV<IVarAD>

Defined in

contrib/Functions.ts:1837


average

Static average(_context, xs): IFloatV<IVarAD>

Return the average of the floats in the list xs.

Parameters

NameType
_contextContext
xsIVarAD[]

Returns

IFloatV<IVarAD>

Defined in

contrib/Functions.ts:2589


average2

Static average2(_context, x, y): IFloatV<IVarAD>

Return the average of floats x and y.

Parameters

NameType
_contextContext
xIVarAD
yIVarAD

Returns

IFloatV<IVarAD>

Defined in

contrib/Functions.ts:2579


barycenter

Static barycenter(_context, a, b, c): IVectorV<IVarAD>

Return the barycenter of the triangle with vertices a, b, c.

Parameters

NameType
_contextContext
aIVarAD[]
bIVarAD[]
cIVarAD[]

Returns

IVectorV<IVarAD>

Defined in

contrib/Functions.ts:2690


cbrt

Static cbrt(_context, x): IFloatV<IVarAD>

Return cbrt(x).

Parameters

NameType
_contextContext
xIVarAD

Returns

IFloatV<IVarAD>

Defined in

contrib/Functions.ts:1847


ceil

Static ceil(_context, x): IFloatV<IVarAD>

Return ceil(x).

Parameters

NameType
_contextContext
xIVarAD

Returns

IFloatV<IVarAD>

Defined in

contrib/Functions.ts:1857


checkFloat

Static checkFloat(x): void

Parameters

NameType
xany

Returns

void

Defined in

contrib/Functions.ts:2985


chevron

Static chevron(_context, __namedParameters, padding, ticks): IPtListV<IVarAD>

Parameters

NameType
_contextContext
__namedParameters[string, any]
paddingIVarAD
ticksIVarAD

Returns

IPtListV<IVarAD>

Defined in

contrib/Functions.ts:2385


circumcenter

Static circumcenter(_context, p, q, r): IVectorV<IVarAD>

Return the circumcenter of the triangle with vertices p, q, r.

Parameters

NameType
_contextContext
pIVarAD[]
qIVarAD[]
rIVarAD[]

Returns

IVectorV<IVarAD>

Defined in

contrib/Functions.ts:2706


circumradius

Static circumradius(_context, p, q, r): IFloatV<IVarAD>

Return the circumradius of the triangle with vertices p, q, r.

Parameters

NameType
_contextContext
pIVarAD[]
qIVarAD[]
rIVarAD[]

Returns

IFloatV<IVarAD>

Defined in

contrib/Functions.ts:2748


concat

Static concat(_context, ...strings): IStrV

Concatenate a list of strings

Parameters

NameType
_contextContext
...stringsstring[]

Returns

IStrV

Defined in

contrib/Functions.ts:2072


cos

Static cos(_context, x): IFloatV<IVarAD>

Return cos(x).

Parameters

NameType
_contextContext
xIVarAD

Returns

IFloatV<IVarAD>

Defined in

contrib/Functions.ts:1867


cosh

Static cosh(_context, x): IFloatV<IVarAD>

Return cosh(x).

Parameters

NameType
_contextContext
xIVarAD

Returns

IFloatV<IVarAD>

Defined in

contrib/Functions.ts:1877


cross2D

Static cross2D(_context, u, v): IFloatV<IVarAD>

Return the 2D cross product of u and v, equal to the determinant of the 2x2 matrix [u v]

Parameters

NameType
_contextContext
uIVarAD[]
vIVarAD[]

Returns

IFloatV<IVarAD>

Defined in

contrib/Functions.ts:2316


cubicCurveFromPoints

Static cubicCurveFromPoints(_context, pathType, pts): IPathDataV<IVarAD>

Given a list of points pts, returns a PathData that can be used as input to the Path shape's pathData attribute to be drawn on the screen.

Parameters

NameType
_contextContext
pathTypestring
ptsPt2[]

Returns

IPathDataV<IVarAD>

Defined in

contrib/Functions.ts:2125


derivative

Static derivative(_context, optDebugInfo, varName): IFloatV<any>

Return the derivative of varName. NOTE: This is a special system function. Don't change it!

Parameters

NameType
_contextContext
optDebugInfoIOptDebugInfo
varNamestring

Returns

IFloatV<any>

Defined in

contrib/Functions.ts:1612


derivativePreconditioned

Static derivativePreconditioned(_context, optDebugInfo, varName): IFloatV<any>

Return the L-BFGS preconditioned derivative of varName. NOTE: This is a special system function. Don't change it!

Parameters

NameType
_contextContext
optDebugInfoIOptDebugInfo
varNamestring

Returns

IFloatV<any>

Defined in

contrib/Functions.ts:1651


dot

Static dot(_context, v, w): IFloatV<IVarAD>

Return the dot product of v and w.

Parameters

NameType
_contextContext
vIVarAD[]
wIVarAD[]

Returns

IFloatV<IVarAD>

Defined in

contrib/Functions.ts:2037


exp

Static exp(_context, x): IFloatV<IVarAD>

Return exp(x).

Parameters

NameType
_contextContext
xIVarAD

Returns

IFloatV<IVarAD>

Defined in

contrib/Functions.ts:1887


expm1

Static expm1(_context, x): IFloatV<IVarAD>

Return expm1(x).

Parameters

NameType
_contextContext
xIVarAD

Returns

IFloatV<IVarAD>

Defined in

contrib/Functions.ts:1897


floor

Static floor(_context, x): IFloatV<IVarAD>

Return floor(x).

Parameters

NameType
_contextContext
xIVarAD

Returns

IFloatV<IVarAD>

Defined in

contrib/Functions.ts:1907


furthestFrom

Static furthestFrom(pts, candidates): IVarAD[]

Returns the point in candidates farthest from the points in pts (by sum). Note: With the current autodiff system you cannot make discrete choices -- TODO debug why this code doesn't terminate in objective/gradient compilation Do not use this!

Parameters

NameType
ptsIVarAD[][]
candidatesIVarAD[][]

Returns

IVarAD[]

Defined in

contrib/Functions.ts:3042


get

Static get(_context, xs, i): IFloatV<any>

Return ith element of list `xs, assuming lists only hold floats.

Parameters

NameType
_contextContext
xsIVarAD[]
inumber

Returns

IFloatV<any>

Defined in

contrib/Functions.ts:1691


getVar

Static getVar(_context, xs, i): IFloatV<any>

Parameters

NameType
_contextContext
xsIVarAD[]
iIVarAD

Returns

IFloatV<any>

Defined in

contrib/Functions.ts:1699


hsva

Static hsva(_context, h, s, v, a): IColorV<IVarAD>

Return a paint color of elements h, s, v, a (hue, saturation, value, opacity).

Parameters

NameType
_contextContext
hIVarAD
sIVarAD
vIVarAD
aIVarAD

Returns

IColorV<IVarAD>

Defined in

contrib/Functions.ts:1746


incenter

Static incenter(_context, p, q, r): IVectorV<IVarAD>

Return the incenter of the triangle with vertices p, q, r.

Parameters

NameType
_contextContext
pIVarAD[]
qIVarAD[]
rIVarAD[]

Returns

IVectorV<IVarAD>

Defined in

contrib/Functions.ts:2786


innerPointOffset

Static innerPointOffset(_context, pt1, pt2, pt3, padding): IVectorV<IVarAD>

Return a point located at padding of a line s1 offset by padding in its normal direction (for making right angle markers).

Parameters

NameType
_contextContext
pt1IVarAD[]
pt2IVarAD[]
pt3IVarAD[]
paddingIVarAD

Returns

IVectorV<IVarAD>

Defined in

contrib/Functions.ts:2416


inradius

Static inradius(_context, p, q, r): IFloatV<IVarAD>

Return the inradius of the triangle with vertices p, q, r.

Parameters

NameType
_contextContext
pIVarAD[]
qIVarAD[]
rIVarAD[]

Returns

IFloatV<IVarAD>

Defined in

contrib/Functions.ts:2818


intersectingSideSize

Static intersectingSideSize(_context, start, end, __namedParameters): IFloatV<IVarAD>

Figure out which side of the rectangle [t1, s1] the start->end line is hitting, assuming that start is located at the rect's center and end is located outside the rectangle, and return the size of the OTHER side. Also assuming axis-aligned rectangle. This is used for arrow placement in box-and-arrow diagrams.

deprecated Don't use this function, it does not fully work

Parameters

NameType
_contextContext
startVecAD
endVecAD
__namedParameters[string, any]

Returns

IFloatV<IVarAD>

Defined in

contrib/Functions.ts:2518


len

Static len(_context, __namedParameters): IFloatV<IVarAD>

Return the length of the line or arrow shape [type, props].

Parameters

NameType
_contextContext
__namedParameters[string, any]

Returns

IFloatV<IVarAD>

Defined in

contrib/Functions.ts:2061


lineLength

Static lineLength(_context, __namedParameters): IFloatV<IVarAD>

Return the length of the line or arrow shape [type, props].

Parameters

NameType
_contextContext
__namedParameters[string, any]

Returns

IFloatV<IVarAD>

Defined in

contrib/Functions.ts:2047


lineLineIntersection

Static lineLineIntersection(_context, a0, a1, b0, b1): IVectorV<IVarAD>

Return the intersection of a line passing through a0 and a1 with a line passing through b0 and b1

Parameters

NameType
_contextContext
a0IVarAD[]
a1IVarAD[]
b0IVarAD[]
b1IVarAD[]

Returns

IVectorV<IVarAD>

Defined in

contrib/Functions.ts:2328


log

Static log(_context, x): IFloatV<IVarAD>

Return log(x).

Parameters

NameType
_contextContext
xIVarAD

Returns

IFloatV<IVarAD>

Defined in

contrib/Functions.ts:1917


log10

Static log10(_context, x): IFloatV<IVarAD>

Return log10(x).

Parameters

NameType
_contextContext
xIVarAD

Returns

IFloatV<IVarAD>

Defined in

contrib/Functions.ts:1937


log1p

Static log1p(_context, x): IFloatV<IVarAD>

Return log1p(x).

Parameters

NameType
_contextContext
xIVarAD

Returns

IFloatV<IVarAD>

Defined in

contrib/Functions.ts:1947


log2

Static log2(_context, x): IFloatV<IVarAD>

Return log2(x).

Parameters

NameType
_contextContext
xIVarAD

Returns

IFloatV<IVarAD>

Defined in

contrib/Functions.ts:1927


makePath

Static makePath(_context, start, end, curveHeight, padding): IPathDataV<IVarAD>

Parameters

NameType
_contextContext
start[IVarAD, IVarAD]
end[IVarAD, IVarAD]
curveHeightIVarAD
paddingIVarAD

Returns

IPathDataV<IVarAD>

Defined in

contrib/Functions.ts:1582


max

Static max(_context, x, y): IFloatV<IVarAD>

Return the max of the numbers x, y.

Parameters

NameType
_contextContext
xIVarAD
yIVarAD

Returns

IFloatV<IVarAD>

Defined in

contrib/Functions.ts:2860


midpoint

Static midpoint(_context, start, end): IVectorV<IVarAD>

Return a point located at the midpoint between pts start and end

Parameters

NameType
_contextContext
startIVarAD[]
endIVarAD[]

Returns

IVectorV<IVarAD>

Defined in

contrib/Functions.ts:2350


midpointOffset

Static midpointOffset(_context, __namedParameters, padding): ITupV<IVarAD>

Return a point located at the midpoint of a line s1 but offset by padding in its normal direction (for labeling).

Parameters

NameType
_contextContext
__namedParameters[string, any]
paddingIVarAD

Returns

ITupV<IVarAD>

Defined in

contrib/Functions.ts:2365


min

Static min(_context, x, y): IFloatV<IVarAD>

Return the min of the numbers x, y.

Parameters

NameType
_contextContext
xIVarAD
yIVarAD

Returns

IFloatV<IVarAD>

Defined in

contrib/Functions.ts:2867


mul

Static mul(_context, m, v): IVectorV<IVarAD>

Multiply a matrix m and a vector v (where v is implicitly treated as a column vector).

Parameters

NameType
_contextContext
mIVarAD[][]
vIVarAD[]

Returns

IVectorV<IVarAD>

Defined in

contrib/Functions.ts:2671


none

Static none(_context): IColorV<any>

Return a paint of none (no paint)

Parameters

NameType
_contextContext

Returns

IColorV<any>

Defined in

contrib/Functions.ts:1765


norm

Static norm(_context, v): IFloatV<IVarAD>

Return the Euclidean norm of the vector v.

Parameters

NameType
_contextContext
vIVarAD[]

Returns

IFloatV<IVarAD>

Defined in

contrib/Functions.ts:2901


normalize

Static normalize(_context, v): IVectorV<IVarAD>

Return the normalized version of vector v.

Parameters

NameType
_contextContext
vIVarAD[]

Returns

IVectorV<IVarAD>

Defined in

contrib/Functions.ts:2082


normsq

Static normsq(_context, v): IFloatV<IVarAD>

Return the Euclidean norm squared of the vector v.

Parameters

NameType
_contextContext
vIVarAD[]

Returns

IFloatV<IVarAD>

Defined in

contrib/Functions.ts:2908


orientedSquare

Static orientedSquare(_context, __namedParameters, __namedParameters, intersection, len): IPathDataV<IVarAD>

Given two orthogonal segments that intersect at intersection, and a size len return a path comprised of three points that describe a perpendicular mark at the angle where the segments intersect.

Parameters

NameType
_contextContext
__namedParameters[string, any]
__namedParameters[string, any]
intersectionPt2
lenIVarAD

Returns

IPathDataV<IVarAD>

Defined in

contrib/Functions.ts:2487


pathFromPoints

Static pathFromPoints(_context, pathType, pts): IPathDataV<IVarAD>

Given a list of points pts, returns a PathData that can be used as input to the Path shape's pathData attribute to be drawn on the screen.

Parameters

NameType
_contextContext
pathTypestring
ptsPt2[]

Returns

IPathDataV<IVarAD>

Defined in

contrib/Functions.ts:2092


perpPathFlat

Static perpPathFlat(len, __namedParameters, __namedParameters): [VecAD, VecAD, VecAD]

Given two perpendicular vectors [startR, endR] and [startL, endL], return a path that describes a perpendicular mark between them.

Parameters

NameType
lenIVarAD
__namedParameters[VecAD, VecAD]
__namedParameters[VecAD, VecAD]

Returns

[VecAD, VecAD, VecAD]

Defined in

contrib/Functions.ts:3001


pow

Static pow(_context, x, y): IFloatV<IVarAD>

Return pow(x,y).

Parameters

NameType
_contextContext
xIVarAD
yIVarAD

Returns

IFloatV<IVarAD>

Defined in

contrib/Functions.ts:1957


ptOnLine

Static ptOnLine(_context, p1, p2, r): IVectorV<IVarAD>

Find the point that is located at dist r along a line between p1 and p2.

returns: vector representation of the point of intersection

Parameters

NameType
_contextContext
p1IVarAD[]
p2IVarAD[]
rIVarAD

Returns

IVectorV<IVarAD>

Defined in

contrib/Functions.ts:2254


quadraticCurveFromPoints

Static quadraticCurveFromPoints(_context, pathType, pts): IPathDataV<IVarAD>

Given a list of points pts, returns a PathData that can be used as input to the Path shape's pathData attribute to be drawn on the screen.

Parameters

NameType
_contextContext
pathTypestring
ptsPt2[]

Returns

IPathDataV<IVarAD>

Defined in

contrib/Functions.ts:2108


rgba

Static rgba(_context, r, g, b, a): IColorV<IVarAD>

Return a paint color of elements r, g, b, a (red, green, blue, opacity).

Parameters

NameType
_contextContext
rIVarAD
gIVarAD
bIVarAD
aIVarAD

Returns

IColorV<IVarAD>

Defined in

contrib/Functions.ts:1710


rot90

Static rot90(_context, v): Object

Rotate a 2D vector v by 90 degrees counterclockwise.

Parameters

NameType
_contextContext
vIVarAD[]

Returns

Object

NameType
contentsIVarAD[]
tagstring

Defined in

contrib/Functions.ts:2964


rot90v

Static rot90v(__namedParameters): IVarAD[]

Rotate a 2D point [x, y] by 90 degrees clockwise.

Parameters

NameType
__namedParametersIVarAD[]

Returns

IVarAD[]

Defined in

contrib/Functions.ts:3033


rotateBy

Static rotateBy(_context, v, theta): Object

Rotate a 2D vector v by theta degrees counterclockwise.

Parameters

NameType
_contextContext
vIVarAD[]
thetaIVarAD

Returns

Object

NameType
contentsIVarAD[]
tagstring

Defined in

contrib/Functions.ts:2975


round

Static round(_context, x): IFloatV<IVarAD>

Return round(x).

Parameters

NameType
_contextContext
xIVarAD

Returns

IFloatV<IVarAD>

Defined in

contrib/Functions.ts:1967


sampleColor

Static sampleColor(context, alpha, colorType): IColorV<IVarAD>

Sample a random color once, with opacity alpha and colorType colorType ("rgb" or "hsv").

Parameters

NameType
contextContext
alphaIVarAD
colorTypestring

Returns

IColorV<IVarAD>

Defined in

contrib/Functions.ts:2610


selectColor

Static selectColor(_context, color1, color2, level): IColorV<IVarAD>

Parameters

NameType
_contextContext
color1Color<IVarAD>
color2Color<IVarAD>
levelIVarAD

Returns

IColorV<IVarAD>

Defined in

contrib/Functions.ts:1726


setOpacity

Static setOpacity(_context, color, frac): IColorV<IVarAD>

Set the opacity of a color color to frac.

Parameters

NameType
_contextContext
colorColor<IVarAD>
fracIVarAD

Returns

IColorV<IVarAD>

Defined in

contrib/Functions.ts:2644


sign

Static sign(_context, x): IFloatV<IVarAD>

Return sign(x).

Parameters

NameType
_contextContext
xIVarAD

Returns

IFloatV<IVarAD>

Defined in

contrib/Functions.ts:1977


sin

Static sin(_context, x): IFloatV<IVarAD>

Return sin(x).

Parameters

NameType
_contextContext
xIVarAD

Returns

IFloatV<IVarAD>

Defined in

contrib/Functions.ts:1987


sinh

Static sinh(_context, x): IFloatV<IVarAD>

Return sinh(x).

Parameters

NameType
_contextContext
xIVarAD

Returns

IFloatV<IVarAD>

Defined in

contrib/Functions.ts:1997


sqr

Static sqr(_context, x): IFloatV<IVarAD>

Return the square of the number x.

Parameters

NameType
_contextContext
xIVarAD

Returns

IFloatV<IVarAD>

Defined in

contrib/Functions.ts:2846


sqrt

Static sqrt(_context, x): IFloatV<IVarAD>

Return the square root of the number x. (NOTE: if x < 0, you may get NaNs)

Parameters

NameType
_contextContext
xIVarAD

Returns

IFloatV<IVarAD>

Defined in

contrib/Functions.ts:2853


tan

Static tan(_context, x): IFloatV<IVarAD>

Return tan(x).

Parameters

NameType
_contextContext
xIVarAD

Returns

IFloatV<IVarAD>

Defined in

contrib/Functions.ts:2007


tanh

Static tanh(_context, x): IFloatV<IVarAD>

Return tanh(x).

Parameters

NameType
_contextContext
xIVarAD

Returns

IFloatV<IVarAD>

Defined in

contrib/Functions.ts:2017


tickPlacement

Static tickPlacement(padding, numPts, multiplier?): IVarAD[]

Parameters

NameType
paddingIVarAD
numPtsIVarAD
multiplierIVarAD

Returns

IVarAD[]

Defined in

contrib/Functions.ts:3060


ticksOnLine

Static ticksOnLine(_context, pt1, pt2, spacing, numTicks, tickLength): IPathDataV<IVarAD>

Create equally spaced tick marks centered at the midpoint of a line

Parameters

NameType
_contextContext
pt1IVarAD[]
pt2IVarAD[]
spacingIVarAD
numTicksIVarAD
tickLengthIVarAD

Returns

IPathDataV<IVarAD>

Defined in

contrib/Functions.ts:2454


toDegrees

Static toDegrees(_context, theta): IFloatV<IVarAD>

Convert the angle theta from radians to degrees.

Parameters

NameType
_contextContext
thetaIVarAD

Returns

IFloatV<IVarAD>

Defined in

contrib/Functions.ts:2891


toPt

Static toPt(v): Pt2

Parameters

NameType
vVecAD

Returns

Pt2

Defined in

contrib/Functions.ts:2991


toRadians

Static toRadians(_context, theta): IFloatV<IVarAD>

Convert the angle theta from degrees to radians.

Parameters

NameType
_contextContext
thetaIVarAD

Returns

IFloatV<IVarAD>

Defined in

contrib/Functions.ts:2881


triangle

Static triangle(_context, __namedParameters, __namedParameters, __namedParameters): IPathDataV<IVarAD>

Given three lines l1, l2, l3 that already form a triangle, return a path that describes the triangle (which can then be filled, etc.).

Parameters

NameType
_contextContext
__namedParametersany
__namedParametersany
__namedParametersany

Returns

IPathDataV<IVarAD>

Defined in

contrib/Functions.ts:2556


trunc

Static trunc(_context, x): IFloatV<IVarAD>

Return trunc(x).

Parameters

NameType
_contextContext
xIVarAD

Returns

IFloatV<IVarAD>

Defined in

contrib/Functions.ts:2027


unit

Static unit(_context, v): IVectorV<IVarAD>

Return the normalized version of vector v.

Parameters

NameType
_contextContext
vIVarAD[]

Returns

IVectorV<IVarAD>

Defined in

contrib/Functions.ts:2600


unitMark

Static unitMark(_context, __namedParameters, __namedParameters, t, padding, barSize): IPtListV<IVarAD>

Return two points parallel to line s1 using its normal line s2.

Parameters

NameType
_contextContext
__namedParameters[string, any]
__namedParameters[string, any]
tstring
paddingIVarAD
barSizeIVarAD

Returns

IPtListV<IVarAD>

Defined in

contrib/Functions.ts:2143


unitMark2

Static unitMark2(_context, __namedParameters, t, padding, size): IPtListV<IVarAD>

Return two points to "cap off" the line made in unitMark.

Parameters

NameType
_contextContext
__namedParameters[Pt2, Pt2]
tstring
paddingIVarAD
sizeIVarAD

Returns

IPtListV<IVarAD>

Defined in

contrib/Functions.ts:2169


vdist

Static vdist(_context, v, w): IFloatV<IVarAD>

Return the Euclidean distance between the vectors v and w.

Parameters

NameType
_contextContext
vIVarAD[]
wIVarAD[]

Returns

IFloatV<IVarAD>

Defined in

contrib/Functions.ts:2915


vdistsq

Static vdistsq(_context, v, w): IFloatV<IVarAD>

Return the Euclidean distance squared between the vectors v and w.

Parameters

NameType
_contextContext
vIVarAD[]
wIVarAD[]

Returns

IFloatV<IVarAD>

Defined in

contrib/Functions.ts:2926


vmul

Static vmul(_context, s, v): IVectorV<IVarAD>

Parameters

NameType
_contextContext
sIVarAD
vIVarAD[]

Returns

IVectorV<IVarAD>

Defined in

contrib/Functions.ts:2919


wedge

Static wedge(_context, center, start, end, radius, rotation, largeArc, arcSweep): IPathDataV<IVarAD>

Return series of elements that render a "wedge", which is the same as the arc above except that it's connected to the circle center and filled

returns: Elements that can be passed to Path shape spec to render an SVG arc

Parameters

NameType
_contextContext
centerPt2
startPt2
endPt2
radiusPt2
rotationIVarAD
largeArcIVarAD
arcSweepIVarAD

Returns

IPathDataV<IVarAD>

Defined in

contrib/Functions.ts:2228