CircleGeometry is a simple shape of Euclidean geometry. It is constructed from a number of triangular segments that are oriented around a central point and extend as far out as a given radius. It is built counter-clockwise from a start angle and a given central angle. It can also be used to create regular polygons, where the number of segments determines the number of sides.

Code Example

const geometry = new v3d.CircleGeometry(5, 32); const material = new v3d.MeshBasicMaterial({ color: 0xffff00 }); const circle = new v3d.Mesh(geometry, material); scene.add(circle);


CircleGeometry(radius : Float, segments : Integer, thetaStart : Float, thetaLength : Float)

radius — radius of the circle, default is 1.
segments — number of segments (triangles), minimum is 3, default is 32.
thetaStart — start angle for first segment, default is 0 (three o'clock position).
thetaLength — the central angle, often called theta, of the circular sector. The default is 2π (2*Math.PI), which makes for a complete circle.

Procedural geometry is fun. However, in real life applications this feature is rarely needed. It would be more efficient do design circles in the preferred modelling suite and export/load to Verge3D via glTF.


See the base BufferGeometry class for common properties.

.parameters : Object

An object with a property for each of the constructor parameters. Any modification after instantiation does not change the geometry.


See the base BufferGeometry class for common methods.


For more info on how to obtain the source code of this module see this page.