Reference documentation for all available geomatic functions and their parameters.
Scalar
Signature: scalar value
Output type: Scalar
Autogenerated id: num{counter} (e.g., num0)
Auxiliary nodes generated: None
Point
Signature: point x y
Input types:x: Scalar, default value: 0y: Scalar, default value: 0
Output type: Point
Autogenerated id: p{counter} (e.g., p0)
Auxiliary nodes generated: None
Triangle
Signature: triangle vertex1 vertex2 vertex3
Input types:vertex1: Pointvertex2: Pointvertex3: Point
Output type: Triangle
Autogenerated id: tr{counter} (e.g., tr0)
Auxiliary nodes generated: l_0, l_1, l_2 (Line nodes)
Line
Signature: line point1 point2
Input types:point1: Pointpoint2: Point
Output type: Line
Autogenerated id: line{counter} (e.g., line0)
Auxiliary nodes generated: None
Circle
Signature: circle center radius
Input types:center: Point, default value: p0radius: Scalar, default value: 2
Output type: Circle
Autogenerated id: circ{counter} (e.g., circ0)
Auxiliary nodes generated: None
Ellipse
Signature: ellipse center radiusX radiusY rotation
Input types:center: Point, default value: p0radiusX: Scalar, default value: 3radiusY: Scalar, default value: 2rotation: Scalar, default value: 0
Output type: Ellipse
Autogenerated id: ell{counter} (e.g., ell0)
Auxiliary nodes generated: None
Midpoint
Signature: mid-point point1 point2
Input types:point1: Pointpoint2: Point
Output type: Point
Autogenerated id: p{counter} (e.g., p0)
Auxiliary nodes generated: None
RegularPolygon
Signature: regular-polygon center radius numVertices startAngle
Input types:center: Point, default value: p0radius: Scalar, default value: 2numVertices: Scalar, default value: 6startAngle: Scalar, default value: 0
Output type: RegularPolygon
Autogenerated id: repo{counter} (e.g., repo0)
Auxiliary nodes generated: p_0...p_n (Point nodes), l_0...l_n (Line nodes)
AngleBisector
Signature: bisect-angle line1 line2
Output type: Line
Autogenerated id: line{counter} (e.g., line0)
Auxiliary nodes generated: midPoint (Point node)
IntersectionPoint
Signature: intersection line1 line2
Output type: Point
Autogenerated id: p{counter} (e.g., p0)
Auxiliary nodes generated: None
ProjectPointOnLine
Signature: project-point point line
Output type: Point
Autogenerated id: p{counter} (e.g., p0)
Auxiliary nodes generated: None
ReflectPointAcrossLine
Signature: reflect-point point line
Output type: Point
Autogenerated id: p{counter} (e.g., p0)
Auxiliary nodes generated: None
BezierQuadratic
Signature: bezier-quadratic p1 control p2
Input types:p1: Pointcontrol: Pointp2: Point
Output type: BezierQuadratic
Autogenerated id: bq{counter} (e.g., bq0)
Auxiliary nodes generated: None
BezierCubic
Signature: bezier-cubic p1 control1 control2 p2
Input types:p1: Pointcontrol1: Pointcontrol2: Pointp2: Point
Output type: BezierCubic
Autogenerated id: bc{counter} (e.g., bc0)
Auxiliary nodes generated: None
Polygon
Signature: polygon vertex1 vertex2 vertex3
Input types:vertex1: Pointvertex2: Pointvertex3: Point (variadic)
Output type: Polygon
Autogenerated id: poly{counter} (e.g., poly0)
Auxiliary nodes generated: l_0...l_n (Line nodes)
Square
Signature: square bottomLeft side angle
Input types:bottomLeft: Point, default value: p0side: Scalar, default value: 2angle: Scalar, default value: 0
Output type: Polygon
Autogenerated id: poly{counter} (e.g., poly0)
Auxiliary nodes generated: p1, p2, p3 (Point nodes), l_0...l_3 (Line nodes)
Rectangle
Signature: rectangle bottomLeft width height angle
Input types:bottomLeft: Point, default value: p0width: Scalar, default value: 3height: Scalar, default value: 2angle: Scalar, default value: 0
Output type: Polygon
Autogenerated id: poly{counter} (e.g., poly0)
Auxiliary nodes generated: p1, p2, p3 (Point nodes), l_0...l_3 (Line nodes)
Arc
Signature: arc center radius startAngle endAngle
Input types:center: Point, default value: p0radius: Scalar, default value: 2startAngle: Scalar, default value: 0endAngle: Scalar, default value: 90
Output type: Arc
Autogenerated id: arc{counter} (e.g., arc0)
Auxiliary nodes generated: None
Distance
Signature: distance point1 point2
Input types:point1: Pointpoint2: Point, default value: p0
Output type: Scalar
Autogenerated id: num{counter} (e.g., num0)
Auxiliary nodes generated: None
Angle
Signature: angle point1 vertex point3
Input types:point1: Pointvertex: Pointpoint3: Point
Output type: Scalar
Autogenerated id: num{counter} (e.g., num0)
Auxiliary nodes generated: None
AreaTriangle
Signature: area-triangle triangle
Output type: Scalar
Autogenerated id: num{counter} (e.g., num0)
Auxiliary nodes generated: None
AreaCircle
Signature: area-circle circle
Output type: Scalar
Autogenerated id: num{counter} (e.g., num0)
Auxiliary nodes generated: None
Centroid
Signature: centroid triangle
Output type: Point
Autogenerated id: p{counter} (e.g., p0)
Auxiliary nodes generated: None
Circumcenter
Signature: circumcenter triangle
Output type: Point
Autogenerated id: p{counter} (e.g., p0)
Auxiliary nodes generated: None
Incenter
Signature: incenter triangle
Output type: Point
Autogenerated id: p{counter} (e.g., p0)
Auxiliary nodes generated: None
IntersectionOfTwoCircles
Signature: intersect-circles circle1 circle2
Input types:circle1: Circlecircle2: Circle
Output type: Line
Autogenerated id: line{counter} (e.g., line0)
Auxiliary nodes generated: p1, p2 (Point nodes)
EllipseFromFociAndStringLength
Signature: ellipse-from-foci focus1 focus2 stringLength
Input types:focus1: Pointfocus2: PointstringLength: Scalar
Output type: Ellipse
Autogenerated id: ell{counter} (e.g., ell0)
Auxiliary nodes generated: center, radiusX, radiusY, rotation
Array
Signature: array element1
Output type: Array
Autogenerated id: arr{counter} (e.g., arr0)
Auxiliary nodes generated: None
Rotate
Signature: rotate obj center angle
Input types:obj: Anycenter: Pointangle: Scalar
Output type: Any
Autogenerated id: any{counter} (e.g., any0)
Auxiliary nodes generated: None
Rotate a geometric object around a center point by an angle in degrees (imperative)
Add
Signature: add a b
Input types:a: Scalarb: Scalar (variadic)
Output type: Scalar
Autogenerated id: num{counter} (e.g., num0)
Auxiliary nodes generated: None
Add two or more scalar values
Subtract
Signature: subtract a b
Output type: Scalar
Autogenerated id: num{counter} (e.g., num0)
Auxiliary nodes generated: None
Subtract second scalar from first scalar
Multiply
Signature: multiply a b
Input types:a: Scalarb: Scalar (variadic)
Output type: Scalar
Autogenerated id: num{counter} (e.g., num0)
Auxiliary nodes generated: None
Multiply two or more scalar values
Divide
Signature: divide a b
Output type: Scalar
Autogenerated id: num{counter} (e.g., num0)
Auxiliary nodes generated: None
Divide first scalar by second scalar
Sin
Signature: sin a
Output type: Scalar
Autogenerated id: num{counter} (e.g., num0)
Auxiliary nodes generated: None
Calculate sine of a scalar value (in radians)
Cos
Signature: cos a
Output type: Scalar
Autogenerated id: num{counter} (e.g., num0)
Auxiliary nodes generated: None
Calculate cosine of a scalar value (in radians)
Tan
Signature: tan a
Output type: Scalar
Autogenerated id: num{counter} (e.g., num0)
Auxiliary nodes generated: None
Calculate tangent of a scalar value (in radians)
Asin
Signature: asin a
Output type: Scalar
Autogenerated id: num{counter} (e.g., num0)
Auxiliary nodes generated: None
Calculate arcsine of a scalar value (returns radians)
Acos
Signature: acos a
Output type: Scalar
Autogenerated id: num{counter} (e.g., num0)
Auxiliary nodes generated: None
Calculate arccosine of a scalar value (returns radians)
Atan
Signature: atan a
Output type: Scalar
Autogenerated id: num{counter} (e.g., num0)
Auxiliary nodes generated: None
Calculate arctangent of a scalar value (returns radians)
Atan2
Signature: atan2 a b
Output type: Scalar
Autogenerated id: num{counter} (e.g., num0)
Auxiliary nodes generated: None
Calculate arctangent of y/x (returns radians)
Power
Signature: power a b
Output type: Scalar
Autogenerated id: num{counter} (e.g., num0)
Auxiliary nodes generated: None
Raise first scalar to the power of second scalar
Exp
Signature: exp a
Output type: Scalar
Autogenerated id: num{counter} (e.g., num0)
Auxiliary nodes generated: None
Calculate e raised to the power of a scalar value
Log
Signature: log a
Output type: Scalar
Autogenerated id: num{counter} (e.g., num0)
Auxiliary nodes generated: None
Calculate natural logarithm of a scalar value
Log10
Signature: log10 a
Output type: Scalar
Autogenerated id: num{counter} (e.g., num0)
Auxiliary nodes generated: None
Calculate base-10 logarithm of a scalar value
Sqrt
Signature: sqrt a
Output type: Scalar
Autogenerated id: num{counter} (e.g., num0)
Auxiliary nodes generated: None
Calculate square root of a scalar value
Abs
Signature: abs a
Output type: Scalar
Autogenerated id: num{counter} (e.g., num0)
Auxiliary nodes generated: None
Calculate absolute value of a scalar
ReLU
Signature: relu a
Output type: Scalar
Autogenerated id: num{counter} (e.g., num0)
Auxiliary nodes generated: None
Apply ReLU activation function (max(0, x))
Sigmoid
Signature: sigmoid a
Output type: Scalar
Autogenerated id: num{counter} (e.g., num0)
Auxiliary nodes generated: None
Apply sigmoid activation function (1 / (1 + e^(-x)))
Tanh
Signature: tanh a
Output type: Scalar
Autogenerated id: num{counter} (e.g., num0)
Auxiliary nodes generated: None
Apply hyperbolic tangent activation function
Floor
Signature: floor a
Output type: Scalar
Autogenerated id: num{counter} (e.g., num0)
Auxiliary nodes generated: None
Round down to nearest integer
Ceil
Signature: ceil a
Output type: Scalar
Autogenerated id: num{counter} (e.g., num0)
Auxiliary nodes generated: None
Round up to nearest integer
Round
Signature: round a
Output type: Scalar
Autogenerated id: num{counter} (e.g., num0)
Auxiliary nodes generated: None
Round to nearest integer
Min
Signature: min a b
Input types:a: Scalarb: Scalar (variadic)
Output type: Scalar
Autogenerated id: num{counter} (e.g., num0)
Auxiliary nodes generated: None
Return minimum of two or more scalar values
Max
Signature: max a b
Input types:a: Scalarb: Scalar (variadic)
Output type: Scalar
Autogenerated id: num{counter} (e.g., num0)
Auxiliary nodes generated: None
Return maximum of two or more scalar values
Mod
Signature: mod a b
Output type: Scalar
Autogenerated id: num{counter} (e.g., num0)
Auxiliary nodes generated: None
Calculate modulo (remainder) of first scalar divided by second
Sign
Signature: sign a
Output type: Scalar
Autogenerated id: num{counter} (e.g., num0)
Auxiliary nodes generated: None
Return sign of a scalar (-1, 0, or 1)
Negate
Signature: negate a
Output type: Scalar
Autogenerated id: num{counter} (e.g., num0)
Auxiliary nodes generated: None
Negate a scalar value (multiply by -1)
Reciprocal
Signature: reciprocal a
Output type: Scalar
Autogenerated id: num{counter} (e.g., num0)
Auxiliary nodes generated: None
Calculate reciprocal (1/x) of a scalar value
Rad2Deg
Signature: rad2deg a
Output type: Scalar
Autogenerated id: num{counter} (e.g., num0)
Auxiliary nodes generated: None
Convert radians to degrees
Deg2Rad
Signature: deg2rad a
Output type: Scalar
Autogenerated id: num{counter} (e.g., num0)
Auxiliary nodes generated: None
Convert degrees to radians
Clear
Signature: clear
Output type: Dummy
Autogenerated id: dummy{counter} (e.g., dummy0)
Auxiliary nodes generated: None
Clear all nodes from state and canvas
Highlight
Signature: highlight id
Output type: Dummy
Autogenerated id: dummy{counter} (e.g., dummy0)
Auxiliary nodes generated: None
Highlight an element
Hide
Signature: hide id
Output type: Dummy
Autogenerated id: dummy{counter} (e.g., dummy0)
Auxiliary nodes generated: None
Hide a node from rendering
Show
Signature: show id
Output type: Dummy
Autogenerated id: dummy{counter} (e.g., dummy0)
Auxiliary nodes generated: None
Show a previously hidden node
Remove
Signature: remove id
Output type: Dummy
Autogenerated id: dummy{counter} (e.g., dummy0)
Auxiliary nodes generated: None
Remove a node and all its dependencies
Param
Signature: param id
Output type: Dummy
Autogenerated id: dummy{counter} (e.g., dummy0)
Auxiliary nodes generated: None
Register parameters for autodiff backpropagation
Backprop
Signature: backprop id
Output type: Dummy
Autogenerated id: dummy{counter} (e.g., dummy0)
Auxiliary nodes generated: None
Run autodiff backpropagation from a target node
Grad
Signature: grad id
Output type: Dummy
Autogenerated id: dummy{counter} (e.g., dummy0)
Auxiliary nodes generated: None
Log the current gradient of a parameter
GradientDescent
Signature: gradient-descent-step id
Output type: Dummy
Autogenerated id: dummy{counter} (e.g., dummy0)
Auxiliary nodes generated: None
Perform gradient descent on a parameter
Help
Signature: help id
Output type: Dummy
Autogenerated id: dummy{counter} (e.g., dummy0)
Auxiliary nodes generated: None
Show properties of a node
ZeroGrad
Signature: zero-grad
Output type: Dummy
Autogenerated id: dummy{counter} (e.g., dummy0)
Auxiliary nodes generated: None
Zero out gradients for all autodiff parameters
ReduceSum
Signature: reduce-sum array
Output type: Scalar
Autogenerated id: num{counter} (e.g., num0)
Auxiliary nodes generated: None
Sum all elements in an array of scalars
ReduceMin
Signature: reduce-min array
Output type: Scalar
Autogenerated id: num{counter} (e.g., num0)
Auxiliary nodes generated: None
Find the minimum value in an array of scalars
ReduceMax
Signature: reduce-max array
Output type: Scalar
Autogenerated id: num{counter} (e.g., num0)
Auxiliary nodes generated: None
Find the maximum value in an array of scalars
Linspace
Signature: linspace start end n
Input types:start: Scalar, default value: 0end: Scalar, default value: 1n: Scalar, default value: 10
Output type: Array
Autogenerated id: arr{counter} (e.g., arr0)
Auxiliary nodes generated: el_0...el_n (Scalar nodes)
Create an array of n evenly-spaced Scalar values from start to end (inclusive)
Translate
Signature: translate obj dx dy
Input types:obj: Anydx: Scalardy: Scalar
Output type: Any
Autogenerated id: any{counter} (e.g., any0)
Auxiliary nodes generated: None
Translate a geometric object by dx and dy (imperative)
Animate
Signature: animate s animateTo
Input types:s: ScalaranimateTo: Scalar
Output type: Scalar
Autogenerated id: num{counter} (e.g., num0)
Auxiliary nodes generated: None
Animate a scalar value to a target value (imperative)