Skip to main content

Class: Mobject2D

Defined in: mobjects/point/Mobject2D.ts:74

Mobject2D - 2D point distribution in a rectangular plane

Points are distributed within a rectangular region. Supports grid distribution (evenly spaced rows and columns) or random distribution within the bounds.

Example

// Create a 10x10 grid of points
const grid = new Mobject2D({
center: [0, 0, 0],
width: 4,
height: 4,
numPointsX: 10,
numPointsY: 10,
distribution: 'grid',
});

// Create random points in a region
const randomCloud = new Mobject2D({
center: [0, 0, 0],
width: 3,
height: 2,
numPointsX: 100, // total points for random
distribution: 'random',
color: '#ff00ff',
});

// Use density instead of explicit counts
const densePlane = new Mobject2D({
width: 2,
height: 2,
density: 5, // 5 points per unit (grid) or 5 per unit area (random)
distribution: 'grid',
});

Extends

Constructors

Constructor

new Mobject2D(options): Mobject2D

Defined in: mobjects/point/Mobject2D.ts:83

Parameters

options

Mobject2DOptions = {}

Returns

Mobject2D

Overrides

PMobject.constructor

Properties

__savedMobjectState

__savedMobjectState: unknown = null

Defined in: core/Mobject.ts:121

JSON-serializable saved state (used by restoreState()).

Inherited from

PMobject.__savedMobjectState


_center2D

protected _center2D: Vector3Tuple

Defined in: mobjects/point/Mobject2D.ts:75


_color

protected _color: string = '#ffffff'

Defined in: core/Mobject.ts:84

Inherited from

PMobject._color


_density?

protected optional _density: number

Defined in: mobjects/point/Mobject2D.ts:80


_dirty

_dirty: boolean = true

Defined in: core/Mobject.ts:113

THREE backing object needs re-sync from this node's transform/state.

Inv

this._dirty || child._dirty === false // a clean node has a clean subtree

This invariant is what makes the early-return in _syncToThree() and the root-sync in _syncWorldMatrices() correct. It holds because _markDirty() always propagates upward. Marking a node dirty WITHOUT marking its ancestors (e.g. reverting _markDirty to self-only) silently breaks it: a clean ancestor will short-circuit the sync and never reach the dirty descendant, leaving stale world coordinates (issue #251).

Inherited from

PMobject._dirty


_disableChildZLayering

protected _disableChildZLayering: boolean = false

Defined in: core/Mobject.ts:99

When true, children skip the 2D z-layering offset in _syncToThree.

Inherited from

PMobject._disableChildZLayering


_distribution

protected _distribution: Distribution2D

Defined in: mobjects/point/Mobject2D.ts:81


_geometry

protected _geometry: BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap> = null

Defined in: mobjects/point/PMobject.ts:71

THREE.js geometry for points

Inherited from

PMobject._geometry


_height

protected _height: number

Defined in: mobjects/point/Mobject2D.ts:77


_isVMobject

_isVMobject: boolean = false

Defined in: core/Mobject.ts:114

Inherited from

PMobject._isVMobject


_material

protected _material: ShaderMaterial = null

Defined in: mobjects/point/PMobject.ts:74

THREE.js material for points

Inherited from

PMobject._material


_numPointsX

protected _numPointsX: number

Defined in: mobjects/point/Mobject2D.ts:78


_numPointsY

protected _numPointsY: number

Defined in: mobjects/point/Mobject2D.ts:79


_opacity

protected _opacity: number = 1

Defined in: core/Mobject.ts:95

Inherited from

PMobject._opacity


_points

protected _points: PointData[] = []

Defined in: mobjects/point/PMobject.ts:62

Internal point data storage

Inherited from

PMobject._points


_pointSize

protected _pointSize: number = 10

Defined in: mobjects/point/PMobject.ts:65

Point size in pixels

Inherited from

PMobject._pointSize


_roundPoints

protected _roundPoints: boolean = true

Defined in: mobjects/point/PMobject.ts:68

Whether to render points as circles

Inherited from

PMobject._roundPoints


_style

protected _style: MobjectStyle

Defined in: core/Mobject.ts:100

Inherited from

PMobject._style


_threeObject

_threeObject: Object3D<Object3DEventMap> = null

Defined in: core/Mobject.ts:101

Inherited from

PMobject._threeObject


_width

protected _width: number

Defined in: mobjects/point/Mobject2D.ts:76


children

children: Mobject[] = []

Defined in: core/Mobject.ts:79

Inherited from

PMobject.children


createdAtBeginning

createdAtBeginning: boolean = false

Defined in: core/Mobject.ts:83

Inherited from

PMobject.createdAtBeginning


fillOpacity

fillOpacity: number = 0

Defined in: core/Mobject.ts:97

Inherited from

PMobject.fillOpacity


id

readonly id: string

Defined in: core/Mobject.ts:77

Inherited from

PMobject.id


parent

parent: Mobject = null

Defined in: core/Mobject.ts:78

Inherited from

PMobject.parent


position

position: Vector3

Defined in: core/Mobject.ts:80

Inherited from

PMobject.position


rotation

rotation: Euler

Defined in: core/Mobject.ts:81

Inherited from

PMobject.rotation


savedState

savedState: Mobject = null

Defined in: core/Mobject.ts:117

Saved mobject copy (used by Restore animation). Set by saveState().

Inherited from

PMobject.savedState


scaleVector

scaleVector: Vector3

Defined in: core/Mobject.ts:82

Inherited from

PMobject.scaleVector


strokeWidth

strokeWidth: number = 4

Defined in: core/Mobject.ts:96

Inherited from

PMobject.strokeWidth


targetCopy

targetCopy: Mobject = null

Defined in: core/Mobject.ts:119

Target copy used by generateTarget() / MoveToTarget animation.

Inherited from

PMobject.targetCopy

Accessors

animate

Get Signature

get animate(): AnimateProxy

Defined in: core/Mobject.ts:789

Returns an AnimateProxy that records method calls. Pass the proxy to scene.play() to animate from the current state to the state after all recorded calls are applied.

Example
scene.play(circle.animate.shift([2, 0, 0]));
scene.play(circle.animate.setColor('#ff0000').scale(2));
Returns

AnimateProxy

Inherited from

PMobject.animate


color

Get Signature

get color(): string

Defined in: core/Mobject.ts:85

Returns

string

Set Signature

set color(value): void

Defined in: core/Mobject.ts:88

Parameters
value

string

Returns

void

Inherited from

PMobject.color


fillColor

Get Signature

get fillColor(): string

Defined in: core/Mobject.ts:210

Returns

string

Set Signature

set fillColor(color): void

Defined in: core/Mobject.ts:214

Parameters
color

string

Returns

void

Inherited from

PMobject.fillColor


isDirty

Get Signature

get isDirty(): boolean

Defined in: core/Mobject.ts:935

Returns

boolean

Inherited from

PMobject.isDirty


numPoints

Get Signature

get numPoints(): number

Defined in: mobjects/point/PMobject.ts:223

Get the number of points

Returns

number

Inherited from

PMobject.numPoints


opacity

Get Signature

get opacity(): number

Defined in: core/Mobject.ts:140

Returns

number

Set Signature

set opacity(value): void

Defined in: core/Mobject.ts:144

Parameters
value

number

Returns

void

Inherited from

PMobject.opacity


strokeColor

Get Signature

get strokeColor(): string

Defined in: core/Mobject.ts:221

Returns

string

Set Signature

set strokeColor(color): void

Defined in: core/Mobject.ts:225

Parameters
color

string

Returns

void

Inherited from

PMobject.strokeColor


style

Get Signature

get style(): MobjectStyle

Defined in: core/Mobject.ts:148

Returns

MobjectStyle

Inherited from

PMobject.style


submobjects

Get Signature

get submobjects(): Mobject[]

Defined in: core/Mobject.ts:162

Returns

Mobject[]

Inherited from

PMobject.submobjects

Methods

_applyFunctionAboutPoint()

protected _applyFunctionAboutPoint(fn, aboutPoint): void

Defined in: mobjects/point/PMobject.ts:183

Parameters

fn

(pts) => number[][]

aboutPoint

number[]

Returns

void

Pre

fn(pts).length === pts.length

Post

getPoints()[i] === fn(old.getPoints().map(p => p - aboutPoint))[i] + aboutPoint

Inherited from

PMobject._applyFunctionAboutPoint


_createThreeObject()

protected _createThreeObject(): Object3D

Defined in: mobjects/point/PMobject.ts:372

Create the Three.js backing object

Returns

Object3D

Inherited from

PMobject._createThreeObject


_flattenAsContainer()

protected _flattenAsContainer(worldMatrix): this

Defined in: core/Mobject.ts:848

Flatten a node whose geometry is fully described by its children (or which has no own geometry): recurse into children, then reset own transform to identity. The transform is not lost — it was folded into the descendants via the composed worldMatrix.

Parameters

worldMatrix

Matrix4

Returns

this

Inherited from

PMobject._flattenAsContainer


_flattenAsMesh()

protected _flattenAsMesh(worldMatrix): this

Defined in: core/Mobject.ts:863

Flatten a Three.js-mesh node that cannot bake geometry into points: absolutize by setting the local transform equal to worldMatrix, so it renders correctly once its (now identity) ancestors collapse. A mesh is a flattening barrier — its descendants stay relative to it.

Parameters

worldMatrix

Matrix4

Returns

this

Inherited from

PMobject._flattenAsMesh


_generatePoints()

protected _generatePoints(): void

Defined in: mobjects/point/Mobject2D.ts:147

Generate points in the rectangular region

Returns

void


_getActualPointCounts()

protected _getActualPointCounts(): object

Defined in: mobjects/point/Mobject2D.ts:124

Get actual point counts based on density or config

Returns

object

total

total: number

x

x: number

y

y: number


_getBoundingBox()

_getBoundingBox(): object

Defined in: core/Mobject.ts:742

Returns

object

depth

depth: number

height

height: number

width

width: number

Deprecated

Use getBoundingBox() instead.

Inherited from

PMobject._getBoundingBox


_getEdgeInDirection()

_getEdgeInDirection(direction): Vector3Tuple

Defined in: core/Mobject.ts:729

Parameters

direction

Vector3Tuple

Returns

Vector3Tuple

World-space edge position (center + half-bounding-box offset).

Inherited from

PMobject._getEdgeInDirection


_localToWorld()

protected _localToWorld(p): Vector3Tuple

Defined in: core/Mobject.ts:387

LOCAL point -> WORLD (the frame this node's points live in; this node's own transform IS applied).

Parameters

p

Vector3Tuple

Returns

Vector3Tuple

Post

result === this._worldMatrix() * p

Inherited from

PMobject._localToWorld


_markDirty()

_markDirty(): void

Defined in: core/Mobject.ts:920

Mark this node's render/transform state stale and propagate the flag to the root. World-space geometry of any node depends on its ancestors' transforms, so a change anywhere must invalidate the whole ancestor chain; the invariant "a clean node has a clean subtree" then lets _syncToThree()/root-sync skip untouched branches safely.

Returns

void

Post

this._dirty && (this.parent => this.parent._dirty)

Inherited from

PMobject._markDirty


_markDirtyUpward()

_markDirtyUpward(): void

Defined in: core/Mobject.ts:931

Alias for _markDirty. Retained as the single override point for subclasses (e.g. VMobject) that must also invalidate baked geometry when a mutation propagates upward; transform-only changes call _markDirty() directly.

Returns

void

Inherited from

PMobject._markDirtyUpward


_normalizeChildrenInto()

protected _normalizeChildrenInto(worldMatrix): void

Defined in: core/Mobject.ts:836

Recurse normalizeTransform into children, composing each child's own matrix onto worldMatrix so every descendant flattens into the same frame.

Parameters

worldMatrix

Matrix4

Returns

void

Inherited from

PMobject._normalizeChildrenInto


_ownMatrix()

_ownMatrix(): Matrix4

Defined in: core/Mobject.ts:969

This node's transform matrix in isolation — position, rotation, and scale composed together, with no ancestor contribution.

Returns

Matrix4

Post

this.parent === null => this._computeWorldMatrix() === this._computeOwnMatrix()

Post

this.parent !== null => this._computeWorldMatrix() === this.parent._computeWorldMatrix() * this._computeOwnMatrix()

Inherited from

PMobject._ownMatrix


_root()

_root(): Mobject

Defined in: core/Mobject.ts:940

The topmost ancestor (the node with no parent).

Returns

Mobject

Inherited from

PMobject._root


_rotateAboutParentLocalPoint()

protected _rotateAboutParentLocalPoint(angle, axis, pivotLocal): void

Defined in: core/Mobject.ts:356

Rotate about a pivot expressed in this node's PARENT-local frame (the same frame as this.position). No world-space conversion is done.

Parameters

angle

number

axis

Vector3Tuple

pivotLocal

Vector3Tuple

Returns

void

Pre

pivotLocal is in the same frame as this.position (parent-local)

Post

the parent-local pivot point is fixed; this.position rotates about it

Post

this.rotation === old.rotation composed with the requested rotation

Inherited from

PMobject._rotateAboutParentLocalPoint


_syncMaterialToThree()

protected _syncMaterialToThree(): void

Defined in: mobjects/point/PMobject.ts:457

Sync material properties to Three.js

Returns

void

Inherited from

PMobject._syncMaterialToThree


_syncToThree()

_syncToThree(): void

Defined in: core/Mobject.ts:870

Returns

void

Inherited from

PMobject._syncToThree


_syncWorldMatrices()

_syncWorldMatrices(): Object3D

Defined in: core/Mobject.ts:661

Refresh the THREE world matrices so a geometry query reads current transforms, and return the backing object. World coordinates depend on every ancestor's transform, so we sync from the root (the dirty invariant — see _markDirty — lets the recursion skip clean subtrees). _syncToThree only copies locals onto the THREE objects; setFromObject won't walk up to refresh matrixWorld, so we flush ancestors (true) and descendants (true) here. Shared by getBounds() and getBoundingBox() so both stay consistent.

Returns

Object3D

Pre

!this.isEmpty()

Post

result.min <= result.max component-wise

Inherited from

PMobject._syncWorldMatrices


_updateGeometry()

protected _updateGeometry(): void

Defined in: mobjects/point/PMobject.ts:383

Update or create the geometry from points

Returns

void

Inherited from

PMobject._updateGeometry


_updateMaterial()

protected _updateMaterial(): void

Defined in: mobjects/point/PMobject.ts:410

Update or create the material

Returns

void

Inherited from

PMobject._updateMaterial


_worldMatrix()

_worldMatrix(): Matrix4

Defined in: core/Mobject.ts:974

Returns

Matrix4

Inherited from

PMobject._worldMatrix


_worldToLocal()

protected _worldToLocal(p): Vector3Tuple

Defined in: core/Mobject.ts:397

WORLD point -> this node's LOCAL frame. Inverse of _localToWorld.

Parameters

p

Vector3Tuple

Returns

Vector3Tuple

Post

result === this._worldMatrix().invert() * p

Inherited from

PMobject._worldToLocal


add()

add(...mobjects): this

Defined in: core/Mobject.ts:481

Parameters

mobjects

...Mobject[]

Returns

this

Inherited from

PMobject.add


addPoint()

addPoint(point): this

Defined in: mobjects/point/PMobject.ts:97

Add a single point to the mobject

Parameters

point

PointData

Point data with position and optional color/opacity

Returns

this

this for chaining

Inherited from

PMobject.addPoint


addPoints()

addPoints(points): this

Defined in: mobjects/point/PMobject.ts:112

Add multiple points to the mobject

Parameters

points

PointData[]

Array of point data

Returns

this

this for chaining

Inherited from

PMobject.addPoints


addUpdater()

addUpdater(updater, callOnAdd): this

Defined in: core/Mobject.ts:1010

Parameters

updater

UpdaterFunction

callOnAdd

boolean = false

Returns

this

Inherited from

PMobject.addUpdater


alignTo()

alignTo(target, direction): this

Defined in: core/Mobject.ts:713

Parameters

target

Mobject | Vector3Tuple

direction

Vector3Tuple

Returns

this

Inherited from

PMobject.alignTo


applyFunction()

applyFunction(fn, options?): this

Defined in: core/Mobject.ts:1068

Parameters

fn

(point) => number[]

options?
aboutEdge?

Vector3Tuple

aboutPoint?

Vector3Tuple

Returns

this

Inherited from

PMobject.applyFunction


applyFunctionAboutPoint()

applyFunctionAboutPoint(fn, aboutPoint): this

Defined in: core/Mobject.ts:1047

Apply a function to every descendant's world-space points, about a given point. Recurses the family and delegates to _applyFunctionAboutPoint on each node.

Parameters

fn

(pts) => number[][]

aboutPoint

number[] = ...

Returns

this

Pre

fn(pts).length === pts.length

Post

m.getPoints()[i] === old.m.getPoints().map(p => fn([p - aboutPoint]) + aboutPoint)[i] // for every descendant m

Inherited from

PMobject.applyFunctionAboutPoint


applyMatrix()

applyMatrix(matrix, options?): this

Defined in: core/Mobject.ts:1076

Parameters

matrix

number[][]

options?
aboutEdge?

Vector3Tuple

aboutPoint?

Vector3Tuple

Returns

this

Inherited from

PMobject.applyMatrix


applyToFamily()

applyToFamily(func): this

Defined in: core/Mobject.ts:998

Parameters

func

(mobject) => void

Returns

this

Inherited from

PMobject.applyToFamily


become()

become(other): this

Defined in: core/Mobject.ts:592

Parameters

other

Mobject

Returns

this

Inherited from

PMobject.become


center()

center(): this

Defined in: core/Mobject.ts:772

Returns

this

Inherited from

PMobject.center


clearPoints()

clearPoints(): this

Defined in: mobjects/point/PMobject.ts:136

Clear all points

Returns

this

this for chaining

Inherited from

PMobject.clearPoints


clearUpdaters()

clearUpdaters(): this

Defined in: core/Mobject.ts:1022

Returns

this

Inherited from

PMobject.clearUpdaters


copy()

copy(): Mobject2D

Defined in: mobjects/point/Mobject2D.ts:324

Create a copy of this Mobject2D

Returns

Mobject2D

Overrides

PMobject.copy


disableChildZLayering()

disableChildZLayering(): this

Defined in: core/Mobject.ts:905

Disable the 2D draw-order z-layering offset (idx * 0.01 per non-first child, applied in _syncToThree) for this node and its whole subtree.

The offset is a flat-2D hack that fakes paint order by nudging later siblings toward the camera. Under a 3D perspective camera with real depth sorting it instead corrupts geometry: a group's children drift along world-z proportionally to their index (issue #465). ThreeDScene calls this on every added mobject so 3D scenes opt out. Because the offset is gated on the parent's flag, setting it on a container also covers children added later.

Returns

this

Inherited from

PMobject.disableChildZLayering


dispose()

dispose(): void

Defined in: mobjects/point/PMobject.ts:482

Clean up Three.js resources

Returns

void

Inherited from

PMobject.dispose


flip()

flip(axis, options?): this

Defined in: core/Mobject.ts:403

Parameters

axis

Vector3Tuple = ...

options?
aboutEdge?

Vector3Tuple

aboutPoint?

Vector3Tuple

Returns

this

Inherited from

PMobject.flip


generateTarget()

generateTarget(): Mobject

Defined in: core/Mobject.ts:1091

Returns

Mobject

Inherited from

PMobject.generateTarget


getArea()

getArea(): number

Defined in: mobjects/point/Mobject2D.ts:117

Get the area of the region

Returns

number


getBottom()

getBottom(): Vector3Tuple

Defined in: core/Mobject.ts:751

Returns

Vector3Tuple

Inherited from

PMobject.getBottom


getBoundingBox()

getBoundingBox(): object

Defined in: core/Mobject.ts:732

Returns

object

depth

depth: number

height

height: number

width

width: number

Inherited from

PMobject.getBoundingBox


getBounds()

getBounds(): object

Defined in: core/Mobject.ts:679

World-space axis-aligned bounding box.

Uses Box3.setFromObject() via the Three.js subtree. This works for all standard geometry types without a renderer. VMobject overrides this with point math because Line2's LineGeometry is incompatible with Box3.setFromObject() — see PointBounds.ts for the full explanation.

Returns

object

max

max: object

max.x

x: number

max.y

y: number

max.z

z: number

min

min: object

min.x

x: number

min.y

y: number

min.z

z: number

Pre

!this.isEmpty()

Post

result.min <= result.max component-wise

Inherited from

PMobject.getBounds


getCenter()

getCenter(): Vector3Tuple

Defined in: mobjects/point/Mobject2D.ts:285

Get the center of the region

Returns

Vector3Tuple

Overrides

PMobject.getCenter


getCenterOfMass()

getCenterOfMass(): Vector3Tuple

Defined in: mobjects/point/PMobject.ts:323

Get center of mass in world coordinates by averaging all world-space points.

Unlike getCenter (which uses bbox midpoint), this is the true centroid — equal to getCenter() only when points are symmetrically distributed.

Returns

Vector3Tuple

Inherited from

PMobject.getCenterOfMass


getDisplayMeshes()

getDisplayMeshes(): Mesh<BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>, Material<MaterialEventMap> | Material<MaterialEventMap>[], Object3DEventMap>[]

Defined in: core/Mobject.ts:990

Returns

Mesh<BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>, Material<MaterialEventMap> | Material<MaterialEventMap>[], Object3DEventMap>[]

Inherited from

PMobject.getDisplayMeshes


getDisplayMeshLength()

getDisplayMeshLength(): number

Defined in: core/Mobject.ts:986

Number of visible display meshes this mobject contributes when rendered. Used for Transform eligibility checks without forcing Three.js object creation.

Returns

number

Inherited from

PMobject.getDisplayMeshLength


getDistribution()

getDistribution(): Distribution2D

Defined in: mobjects/point/Mobject2D.ts:278

Get the distribution pattern

Returns

Distribution2D


getEdge()

getEdge(direction): Vector3Tuple

Defined in: core/Mobject.ts:745

Parameters

direction

Vector3Tuple

Returns

Vector3Tuple

Inherited from

PMobject.getEdge


getFamily()

getFamily(): Mobject[]

Defined in: core/Mobject.ts:1004

Returns

Mobject[]

Inherited from

PMobject.getFamily


getHeight()

getHeight(): number

Defined in: mobjects/point/Mobject2D.ts:200

Get the height of the region

Returns

number

Overrides

PMobject.getHeight


getLeft()

getLeft(): Vector3Tuple

Defined in: core/Mobject.ts:754

Returns

Vector3Tuple

Inherited from

PMobject.getLeft


getLocalCenter()

getLocalCenter(): Vector3Tuple

Defined in: mobjects/point/PMobject.ts:290

Get center in parent coordinates by averaging points after this node's own transform.

Returns

Vector3Tuple

Inherited from

PMobject.getLocalCenter


getLocalPoints()

getLocalPoints(): PointData[]

Defined in: mobjects/point/PMobject.ts:212

Get all points in local coordinates.

Returns

PointData[]

Copy of the local points array

Inherited from

PMobject.getLocalPoints


getPoints()

getPoints(): number[][]

Defined in: mobjects/point/PMobject.ts:152

Get all points in world coordinates as number[][] (consistent with VMobject).

Applies this mobject's own transform and every ancestor transform in the parent chain (Group/PGroup/etc.). The render-only z-layering offset added by _syncToThree is intentionally excluded.

For untransformed local-space coordinates, use getLocalPoints. For world points with color/opacity, use getPointsData.

Returns

number[][]

Inherited from

PMobject.getPoints


getPointsData()

getPointsData(): PointData[]

Defined in: mobjects/point/PMobject.ts:166

Get all points in world coordinates as PointData[] (with color and opacity).

For untransformed local-space coordinates, use getLocalPoints.

Returns

PointData[]

Inherited from

PMobject.getPointsData


getPointSize()

getPointSize(): number

Defined in: mobjects/point/PMobject.ts:241

Get the point size

Returns

number

Inherited from

PMobject.getPointSize


getRight()

getRight(): Vector3Tuple

Defined in: core/Mobject.ts:757

Returns

Vector3Tuple

Inherited from

PMobject.getRight


getThreeObject()

getThreeObject(): Object3D

Defined in: core/Mobject.ts:944

Returns

Object3D

Inherited from

PMobject.getThreeObject


getTop()

getTop(): Vector3Tuple

Defined in: core/Mobject.ts:748

Returns

Vector3Tuple

Inherited from

PMobject.getTop


getUpdaters()

getUpdaters(): UpdaterFunction[]

Defined in: core/Mobject.ts:1029

Returns

UpdaterFunction[]

Inherited from

PMobject.getUpdaters


getWidth()

getWidth(): number

Defined in: mobjects/point/Mobject2D.ts:193

Get the width of the region

Returns

number

Overrides

PMobject.getWidth


hasUpdaters()

hasUpdaters(): boolean

Defined in: core/Mobject.ts:1026

Returns

boolean

Inherited from

PMobject.hasUpdaters


isEmpty()

isEmpty(): boolean

Defined in: core/Mobject.ts:611

Whether this mobject has no renderable geometry. Base default is conservative: non-empty unless specialized subclasses decide otherwise.

Returns

boolean

Inherited from

PMobject.isEmpty


isTransformNormalized()

isTransformNormalized(): boolean

Defined in: core/Mobject.ts:517

Check if this mobject's transform is normalized (rotation=0, scale=1).

Returns

boolean

Post

result === (rotation.x==0 && rotation.y==0 && rotation.z==0 && scaleVector===[1,1,1])

Inherited from

PMobject.isTransformNormalized


moveCenterOfMassTo()

moveCenterOfMassTo(target): this

Defined in: mobjects/point/PMobject.ts:340

Parameters

target

Vector3Tuple

Returns

this

Inherited from

PMobject.moveCenterOfMassTo


moveTo()

moveTo(point): this

Defined in: mobjects/point/Mobject2D.ts:293

Move the region to center at a new position

Parameters

point

Vector3Tuple

Target center position [x, y, z]

Returns

this

Overrides

PMobject.moveTo


moveToAligned()

moveToAligned(target, alignedEdge?): this

Defined in: core/Mobject.ts:723

Parameters

target

Mobject | Vector3Tuple

alignedEdge?

Vector3Tuple

Returns

this

Inherited from

PMobject.moveToAligned


nextTo()

nextTo(target, direction, buff): this

Defined in: core/Mobject.ts:696

Parameters

target

Mobject | Vector3Tuple

direction

Vector3Tuple = RIGHT

buff

number = 0.25

Returns

this

Inherited from

PMobject.nextTo


normalizeTransform()

normalizeTransform(worldMatrix): this

Defined in: mobjects/point/PMobject.ts:356

Flatten into absolute coordinates: bake worldMatrix into every point, then reset the local transform to identity and recurse into children.

Parameters

worldMatrix

Matrix4 = ...

Returns

this

Post

old.getPoints()[i] === this.getPoints()[i] // world geometry preserved

Post

this._computeOwnMatrix() === Identity

Inherited from

PMobject.normalizeTransform


prepareForNonlinearTransform()

prepareForNonlinearTransform(numPieces): this

Defined in: core/Mobject.ts:1084

Parameters

numPieces

number = 50

Returns

this

Inherited from

PMobject.prepareForNonlinearTransform


regenerate()

regenerate(): this

Defined in: mobjects/point/Mobject2D.ts:316

Regenerate the points (useful for random distribution refresh)

Returns

this

this for chaining


remove()

remove(...mobjects): this

Defined in: core/Mobject.ts:496

Parameters

mobjects

...Mobject[]

Returns

this

Inherited from

PMobject.remove


removePoint()

removePoint(index): this

Defined in: mobjects/point/PMobject.ts:124

Remove a point by index

Parameters

index

number

Index of point to remove

Returns

this

this for chaining

Inherited from

PMobject.removePoint


removeUpdater()

removeUpdater(updater): this

Defined in: core/Mobject.ts:1016

Parameters

updater

UpdaterFunction

Returns

this

Inherited from

PMobject.removeUpdater


replace()

replace(target, stretch): this

Defined in: core/Mobject.ts:597

Parameters

target

Mobject

stretch

boolean = false

Returns

this

Inherited from

PMobject.replace


restoreState()

restoreState(): boolean

Defined in: core/Mobject.ts:1101

Returns

boolean

Inherited from

PMobject.restoreState


rotate()

rotate(angle, axisOrOptions?): this

Defined in: core/Mobject.ts:306

Rotate the mobject by angle around an axis. Accepts aboutPoint or aboutEdge to specify the rotation center.

Parameters

angle

number

axisOrOptions?

Vector3Tuple | AxisOrOptions

Returns

this

Inherited from

PMobject.rotate


rotateAboutOrigin()

rotateAboutOrigin(angle, axis): this

Defined in: core/Mobject.ts:344

Parameters

angle

number

axis

Vector3Tuple = ...

Returns

this

Inherited from

PMobject.rotateAboutOrigin


saveState()

saveState(): this

Defined in: core/Mobject.ts:1096

Returns

this

Inherited from

PMobject.saveState


scale()

scale(factor, options?): this

Defined in: core/Mobject.ts:429

Parameters

factor

number | Vector3Tuple

options?
aboutEdge?

Vector3Tuple

aboutPoint?

Vector3Tuple

Returns

this

Inherited from

PMobject.scale


setColor()

setColor(color): this

Defined in: mobjects/point/PMobject.ts:250

Set the color of all points

Parameters

color

string

CSS color string

Returns

this

this for chaining

Inherited from

PMobject.setColor


setDensity()

setDensity(density): this

Defined in: mobjects/point/Mobject2D.ts:258

Set the density and regenerate (overrides point counts)

Parameters

density

number

Points per unit length (grid) or per unit area (random)

Returns

this

this for chaining


setDimensions()

setDimensions(width, height): this

Defined in: mobjects/point/Mobject2D.ts:232

Set both dimensions and regenerate

Parameters

width

number

New width

height

number

New height

Returns

this

this for chaining


setDistribution()

setDistribution(distribution): this

Defined in: mobjects/point/Mobject2D.ts:269

Set the distribution pattern and regenerate

Parameters

distribution

Distribution2D

'grid' or 'random'

Returns

this

this for chaining


setFill()

setFill(color?, opacity?): this

Defined in: core/Mobject.ts:204

Parameters

color?

string

opacity?

number

Returns

this

Inherited from

PMobject.setFill


setFillOpacity()

setFillOpacity(opacity): this

Defined in: core/Mobject.ts:194

Parameters

opacity

number

Returns

this

Inherited from

PMobject.setFillOpacity


setHeight()

setHeight(height): this

Defined in: mobjects/point/Mobject2D.ts:220

Set the height and regenerate

Parameters

height

number

New height

Returns

this

this for chaining


setPointCounts()

setPointCounts(xCount, yCount): this

Defined in: mobjects/point/Mobject2D.ts:245

Set point counts for grid distribution (clears density)

Parameters

xCount

number

Points along width

yCount

number

Points along height

Returns

this

this for chaining


setPointSize()

setPointSize(size): this

Defined in: mobjects/point/PMobject.ts:232

Set the point size

Parameters

size

number

Size in pixels

Returns

this

this for chaining

Inherited from

PMobject.setPointSize


setStrokeOpacity()

setStrokeOpacity(opacity): this

Defined in: mobjects/point/PMobject.ts:263

Set the opacity of all points

Parameters

opacity

number

Opacity value (0-1)

Returns

this

this for chaining

Inherited from

PMobject.setStrokeOpacity


setStrokeWidth()

setStrokeWidth(width): this

Defined in: core/Mobject.ts:184

Parameters

width

number

Returns

this

Inherited from

PMobject.setStrokeWidth


setStyle()

setStyle(style): this

Defined in: core/Mobject.ts:152

Parameters

style

Partial<MobjectStyle>

Returns

this

Inherited from

PMobject.setStyle


setWidth()

setWidth(width): this

Defined in: mobjects/point/Mobject2D.ts:209

Set the width and regenerate

Parameters

width

number

New width

Returns

this

this for chaining


setX()

setX(x): this

Defined in: core/Mobject.ts:760

Parameters

x

number

Returns

this

Inherited from

PMobject.setX


setY()

setY(y): this

Defined in: core/Mobject.ts:764

Parameters

y

number

Returns

this

Inherited from

PMobject.setY


setZ()

setZ(z): this

Defined in: core/Mobject.ts:768

Parameters

z

number

Returns

this

Inherited from

PMobject.setZ


shift()

shift(delta): this

Defined in: mobjects/point/Mobject2D.ts:308

Shift the region by a delta

Parameters

delta

Vector3Tuple

Translation vector [x, y, z]

Returns

this

this for chaining

Overrides

PMobject.shift


stretch()

stretch(factor, dim, options?): this

Defined in: core/Mobject.ts:461

Parameters

factor

number

dim

number

options?
aboutEdge?

Vector3Tuple

aboutPoint?

Vector3Tuple

Returns

this

Inherited from

PMobject.stretch


toCorner()

toCorner(direction, buff, frameDimensions?): this

Defined in: core/Mobject.ts:801

Parameters

direction

Vector3Tuple = ...

buff

number = 0.5

frameDimensions?

[number, number]

Returns

this

Inherited from

PMobject.toCorner


toEdge()

toEdge(direction, buff, frameDimensions?): this

Defined in: core/Mobject.ts:796

Parameters

direction

Vector3Tuple

buff

number = 0.5

frameDimensions?

[number, number]

Returns

this

Inherited from

PMobject.toEdge


update()

update(dt): void

Defined in: core/Mobject.ts:1033

Parameters

dt

number

Returns

void

Inherited from

PMobject.update