Geomatic Function Documentation

Reference documentation for all available geomatic functions and their parameters.

Scalar

Signature: scalar value
Input types:
  • value: Scalar
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: 0
  • y: 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: Point
  • vertex2: Point
  • vertex3: 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: Point
  • point2: 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: p0
  • radius: 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: p0
  • radiusX: Scalar, default value: 3
  • radiusY: Scalar, default value: 2
  • rotation: 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: Point
  • point2: 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: p0
  • radius: Scalar, default value: 2
  • numVertices: Scalar, default value: 6
  • startAngle: 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
Input types:
  • line1: Line
  • line2: Line
Output type: Line
Autogenerated id: line{counter} (e.g., line0)
Auxiliary nodes generated: midPoint (Point node)

IntersectionPoint

Signature: intersection line1 line2
Input types:
  • line1: Line
  • line2: Line
Output type: Point
Autogenerated id: p{counter} (e.g., p0)
Auxiliary nodes generated: None

ProjectPointOnLine

Signature: project-point point line
Input types:
  • point: Point
  • line: Line
Output type: Point
Autogenerated id: p{counter} (e.g., p0)
Auxiliary nodes generated: None

ReflectPointAcrossLine

Signature: reflect-point point line
Input types:
  • point: Point
  • line: 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: Point
  • control: Point
  • p2: 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: Point
  • control1: Point
  • control2: Point
  • p2: Point
Output type: BezierCubic
Autogenerated id: bc{counter} (e.g., bc0)
Auxiliary nodes generated: None

Polygon

Signature: polygon vertex1 vertex2 vertex3
Input types:
  • vertex1: Point
  • vertex2: Point
  • vertex3: 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: p0
  • side: Scalar, default value: 2
  • angle: 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: p0
  • width: Scalar, default value: 3
  • height: Scalar, default value: 2
  • angle: 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: p0
  • radius: Scalar, default value: 2
  • startAngle: Scalar, default value: 0
  • endAngle: 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: Point
  • point2: 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: Point
  • vertex: Point
  • point3: Point
Output type: Scalar
Autogenerated id: num{counter} (e.g., num0)
Auxiliary nodes generated: None

AreaTriangle

Signature: area-triangle triangle
Input types:
  • triangle: Triangle
Output type: Scalar
Autogenerated id: num{counter} (e.g., num0)
Auxiliary nodes generated: None

AreaCircle

Signature: area-circle circle
Input types:
  • circle: Circle
Output type: Scalar
Autogenerated id: num{counter} (e.g., num0)
Auxiliary nodes generated: None

Centroid

Signature: centroid triangle
Input types:
  • triangle: Triangle
Output type: Point
Autogenerated id: p{counter} (e.g., p0)
Auxiliary nodes generated: None

Circumcenter

Signature: circumcenter triangle
Input types:
  • triangle: Triangle
Output type: Point
Autogenerated id: p{counter} (e.g., p0)
Auxiliary nodes generated: None

Incenter

Signature: incenter triangle
Input types:
  • triangle: Triangle
Output type: Point
Autogenerated id: p{counter} (e.g., p0)
Auxiliary nodes generated: None

IntersectionOfTwoCircles

Signature: intersect-circles circle1 circle2
Input types:
  • circle1: Circle
  • circle2: 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: Point
  • focus2: Point
  • stringLength: Scalar
Output type: Ellipse
Autogenerated id: ell{counter} (e.g., ell0)
Auxiliary nodes generated: center, radiusX, radiusY, rotation

Array

Signature: array element1
Input types:
  • element1: Any (variadic)
Output type: Array
Autogenerated id: arr{counter} (e.g., arr0)
Auxiliary nodes generated: None

Rotate

Signature: rotate obj center angle
Input types:
  • obj: Any
  • center: Point
  • angle: 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: Scalar
  • b: 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
Input types:
  • a: Scalar
  • b: Scalar
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: Scalar
  • b: 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
Input types:
  • a: Scalar
  • b: Scalar
Output type: Scalar
Autogenerated id: num{counter} (e.g., num0)
Auxiliary nodes generated: None
Divide first scalar by second scalar

Sin

Signature: sin a
Input types:
  • a: Scalar
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
Input types:
  • a: Scalar
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
Input types:
  • a: Scalar
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
Input types:
  • a: Scalar
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
Input types:
  • a: Scalar
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
Input types:
  • a: Scalar
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
Input types:
  • a: Scalar
  • b: Scalar
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
Input types:
  • a: Scalar
  • b: Scalar
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
Input types:
  • a: Scalar
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
Input types:
  • a: Scalar
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
Input types:
  • a: Scalar
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
Input types:
  • a: Scalar
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
Input types:
  • a: Scalar
Output type: Scalar
Autogenerated id: num{counter} (e.g., num0)
Auxiliary nodes generated: None
Calculate absolute value of a scalar

ReLU

Signature: relu a
Input types:
  • a: Scalar
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
Input types:
  • a: Scalar
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
Input types:
  • a: Scalar
Output type: Scalar
Autogenerated id: num{counter} (e.g., num0)
Auxiliary nodes generated: None
Apply hyperbolic tangent activation function

Floor

Signature: floor a
Input types:
  • a: Scalar
Output type: Scalar
Autogenerated id: num{counter} (e.g., num0)
Auxiliary nodes generated: None
Round down to nearest integer

Ceil

Signature: ceil a
Input types:
  • a: Scalar
Output type: Scalar
Autogenerated id: num{counter} (e.g., num0)
Auxiliary nodes generated: None
Round up to nearest integer

Round

Signature: round a
Input types:
  • a: Scalar
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: Scalar
  • b: 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: Scalar
  • b: 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
Input types:
  • a: Scalar
  • b: Scalar
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
Input types:
  • a: Scalar
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
Input types:
  • a: Scalar
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
Input types:
  • a: Scalar
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
Input types:
  • a: Scalar
Output type: Scalar
Autogenerated id: num{counter} (e.g., num0)
Auxiliary nodes generated: None
Convert radians to degrees

Deg2Rad

Signature: deg2rad a
Input types:
  • a: Scalar
Output type: Scalar
Autogenerated id: num{counter} (e.g., num0)
Auxiliary nodes generated: None
Convert degrees to radians

Clear

Signature: clear
Input types:
    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
    Input types:
    • id: Any (variadic)
    Output type: Dummy
    Autogenerated id: dummy{counter} (e.g., dummy0)
    Auxiliary nodes generated: None
    Highlight an element

    Hide

    Signature: hide id
    Input types:
    • id: Any (variadic)
    Output type: Dummy
    Autogenerated id: dummy{counter} (e.g., dummy0)
    Auxiliary nodes generated: None
    Hide a node from rendering

    Show

    Signature: show id
    Input types:
    • id: Any (variadic)
    Output type: Dummy
    Autogenerated id: dummy{counter} (e.g., dummy0)
    Auxiliary nodes generated: None
    Show a previously hidden node

    Remove

    Signature: remove id
    Input types:
    • id: Any (variadic)
    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
    Input types:
    • id: Any (variadic)
    Output type: Dummy
    Autogenerated id: dummy{counter} (e.g., dummy0)
    Auxiliary nodes generated: None
    Register parameters for autodiff backpropagation

    Backprop

    Signature: backprop id
    Input types:
    • id: Any
    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
    Input types:
    • id: Any
    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
    Input types:
    • id: Any (variadic)
    Output type: Dummy
    Autogenerated id: dummy{counter} (e.g., dummy0)
    Auxiliary nodes generated: None
    Perform gradient descent on a parameter

    Help

    Signature: help id
    Input types:
    • id: Any
    Output type: Dummy
    Autogenerated id: dummy{counter} (e.g., dummy0)
    Auxiliary nodes generated: None
    Show properties of a node

    ZeroGrad

    Signature: zero-grad
    Input types:
      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
      Input types:
      • array: 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
      Input types:
      • array: 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
      Input types:
      • array: 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: 0
      • end: Scalar, default value: 1
      • n: 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: Any
      • dx: Scalar
      • dy: 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: Scalar
      • animateTo: Scalar
      Output type: Scalar
      Autogenerated id: num{counter} (e.g., num0)
      Auxiliary nodes generated: None
      Animate a scalar value to a target value (imperative)

      © Tiny Volt 2026