Skip to main content

vArrayCircularPoints

Generate points on a circle or a spiral from a radius, a segment count, a number of rounds and per-point offsets.

BeginnerMograph / ArrayArrayScriptValJSON
vArrayCircularPoints node

vArrayCircularPoints has no input and outputs an array of XYZ points placed around the Z axis. Round Segments and Rounds set the point count, and the offset controls turn the circle into a spiral.

Parameters​

ParameterTypeDefaultDescription
RadiusFloat0.1Radius of the first point. Minimum 0.001, default 0.1.
Round SegmentsFloat40Number of points in one full round. Clamped to 3 or more in the code, default 40.
RoundsFloat0.1Fraction or number of rounds to write. The point count is floor(Round Segments * Rounds). Default 0.1.
Radius Add RoundFloat0.1Hidden control. Radius added after each completed group of Round Segments points. Minimum 0.01, default 0.1.
Radius Add PointFloat0.0Radius added for every point is this value divided by 100. Minimum 0, default 0.
+3 more parameters
ParameterTypeDefaultDescription
OffsetFloat0.0Shifts all points around the circle, in steps of 360 / Round Segments degrees. Default 0.
Point Offset XYFloat0.1Extra angle step added to every point, as a fraction of one segment per point index. Default 0.1.
Point Offset ZFloat0.1Hidden control. Z distance added per point. Default 0.1.
Read the full description

The node writes floor(Round Segments * Rounds) points, where Round Segments is first clamped to 3 or more. Point i has the angle (360 / Round Segments) * (i + i * Point Offset XY + Offset) degrees and the radius Radius + floor(i / Round Segments) * Radius Add Round + i * Radius Add Point / 100. It is placed at X = radius * cos(angle), Y = radius * sin(angle) and Z = i * Point Offset Z.

With the defaults (Radius 0.1, 40 round segments, 0.1 rounds, Point Offset XY 0.1) the node outputs 4 points. Raising Rounds to 1 writes 40 points. Because Point Offset XY adds a fraction of a step to every point, 40 points at the default offset cover 1.1 turns of angle and not exactly one.

Radius Add Point grows the radius continuously, by the control value divided by 100 for every point. Radius Add Round, a hidden control, grows the radius by a fixed amount each time the point index passes a multiple of Round Segments. Point Offset Z, also hidden, raises each point by its index times the control value. Its default of 0.1 raises each point by 0.1 along Z.

If Round Segments * Rounds is less than 1, the output is empty. Offset shifts every point around the circle by that many steps of 360 / Round Segments degrees.

Example Connections​

vArrayCircularPoints.Output -> vArrayCameraProjection.ArrayA
vArrayCameraProjection.Output -> vArrayShapeRender.ArrayPoint
Background.Output -> vArrayShapeRender.Input