Skip to main content

Class: NumberPlane

Defined in: mobjects/graphing/NumberPlane.ts:56

NumberPlane - A coordinate system with a background grid

Extends Axes to add a grid of background lines for better visualization of the coordinate space.

Example

// Create a simple number plane
const plane = new NumberPlane();

// Create a number plane with custom grid styling
const styledPlane = new NumberPlane({
xRange: [-5, 5, 1],
yRange: [-3, 3, 1],
backgroundLineStyle: {
color: '#334455',
strokeWidth: 0.5,
opacity: 0.3
}
});

Extends

Extended by

Constructors

Constructor

new NumberPlane(options): NumberPlane

Defined in: mobjects/graphing/NumberPlane.ts:64

Parameters

options

NumberPlaneOptions = {}

Returns

NumberPlane

Overrides

Axes.constructor

Properties

__savedMobjectState

__savedMobjectState: unknown = null

Defined in: core/Mobject.ts:121

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

Inherited from

Axes.__savedMobjectState


_color

protected _color: string = '#ffffff'

Defined in: core/Mobject.ts:84

Inherited from

Axes._color


_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

Axes._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

Axes._disableChildZLayering


_isVMobject

_isVMobject: boolean = false

Defined in: core/Mobject.ts:114

Inherited from

Axes._isVMobject


_opacity

protected _opacity: number = 1

Defined in: core/Mobject.ts:95

Inherited from

Axes._opacity


_style

protected _style: MobjectStyle

Defined in: core/Mobject.ts:100

Inherited from

Axes._style


_threeObject

_threeObject: Object3D<Object3DEventMap> = null

Defined in: core/Mobject.ts:101

Inherited from

Axes._threeObject


_tipLength

protected _tipLength: number

Defined in: mobjects/graphing/Axes.ts:73

Inherited from

Axes._tipLength


_tips

protected _tips: boolean

Defined in: mobjects/graphing/Axes.ts:72

Inherited from

Axes._tips


_xLength

protected _xLength: number

Defined in: mobjects/graphing/Axes.ts:70

Inherited from

Axes._xLength


_xRange

protected _xRange: [number, number, number]

Defined in: mobjects/graphing/Axes.ts:68

Inherited from

Axes._xRange


_xTip

protected _xTip: VMobject = null

Defined in: mobjects/graphing/Axes.ts:74

Inherited from

Axes._xTip


_yLength

protected _yLength: number

Defined in: mobjects/graphing/Axes.ts:71

Inherited from

Axes._yLength


_yRange

protected _yRange: [number, number, number]

Defined in: mobjects/graphing/Axes.ts:69

Inherited from

Axes._yRange


_yTip

protected _yTip: VMobject = null

Defined in: mobjects/graphing/Axes.ts:75

Inherited from

Axes._yTip


children

children: Mobject[] = []

Defined in: core/Mobject.ts:79

Inherited from

Axes.children


createdAtBeginning

createdAtBeginning: boolean = false

Defined in: core/Mobject.ts:83

Inherited from

Axes.createdAtBeginning


fillOpacity

fillOpacity: number = 0

Defined in: core/Mobject.ts:97

Inherited from

Axes.fillOpacity


id

readonly id: string

Defined in: core/Mobject.ts:77

Inherited from

Axes.id


parent

parent: Mobject = null

Defined in: core/Mobject.ts:78

Inherited from

Axes.parent


position

position: Vector3

Defined in: core/Mobject.ts:80

Inherited from

Axes.position


rotation

rotation: Euler

Defined in: core/Mobject.ts:81

Inherited from

Axes.rotation


savedState

savedState: Mobject = null

Defined in: core/Mobject.ts:117

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

Inherited from

Axes.savedState


scaleVector

scaleVector: Vector3

Defined in: core/Mobject.ts:82

Inherited from

Axes.scaleVector


strokeWidth

strokeWidth: number = 4

Defined in: core/Mobject.ts:96

Inherited from

Axes.strokeWidth


targetCopy

targetCopy: Mobject = null

Defined in: core/Mobject.ts:119

Target copy used by generateTarget() / MoveToTarget animation.

Inherited from

Axes.targetCopy


xAxis

xAxis: NumberLine

Defined in: mobjects/graphing/Axes.ts:64

The x-axis NumberLine

Inherited from

Axes.xAxis


yAxis

yAxis: NumberLine

Defined in: mobjects/graphing/Axes.ts:66

The y-axis NumberLine

Inherited from

Axes.yAxis

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

Axes.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

Axes.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

Axes.fillColor


isDirty

Get Signature

get isDirty(): boolean

Defined in: core/Mobject.ts:935

Returns

boolean

Inherited from

Axes.isDirty


length

Get Signature

get length(): number

Defined in: core/Group.ts:214

Get the number of mobjects in this group.

Returns

number

Inherited from

Axes.length


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

Axes.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

Axes.strokeColor


style

Get Signature

get style(): MobjectStyle

Defined in: core/Mobject.ts:148

Returns

MobjectStyle

Inherited from

Axes.style


submobjects

Get Signature

get submobjects(): Mobject[]

Defined in: core/Mobject.ts:162

Returns

Mobject[]

Inherited from

Axes.submobjects


xRange

Get Signature

get xRange(): [number, number, number]

Defined in: mobjects/graphing/Axes.ts:317

Public accessor for x range (matches Python Manim's ax.x_range)

Returns

[number, number, number]

Inherited from

Axes.xRange


yRange

Get Signature

get yRange(): [number, number, number]

Defined in: mobjects/graphing/Axes.ts:329

Public accessor for y range (matches Python Manim's ax.y_range)

Returns

[number, number, number]

Inherited from

Axes.yRange

Methods

_applyFunctionAboutPoint()

protected _applyFunctionAboutPoint(_fn, _aboutPoint): void

Defined in: core/Mobject.ts:1063

Per-node hook called by applyFunctionAboutPoint.

Parameters

_fn

(pts) => number[][]

_aboutPoint

number[]

Returns

void

Pre

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

Post

getPoints()[i] === fn(old.getPoints())[i]

Note

no-op in base Mobject; override in subclasses with own points

Inherited from

Axes._applyFunctionAboutPoint


_createThreeObject()

protected _createThreeObject(): Object3D

Defined in: core/Group.ts:183

Create the Three.js backing object for this Group. A group is simply a THREE.Group that contains children.

Returns

Object3D

Inherited from

Axes._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

Axes._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

Axes._flattenAsMesh


_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

Axes._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

Axes._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

Axes._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

Axes._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

Axes._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

Axes._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

Axes._ownMatrix


_root()

_root(): Mobject

Defined in: core/Mobject.ts:940

The topmost ancestor (the node with no parent).

Returns

Mobject

Inherited from

Axes._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

Axes._rotateAboutParentLocalPoint


_syncMaterialToThree()

protected _syncMaterialToThree(): void

Defined in: core/Mobject.ts:892

Returns

void

Inherited from

Axes._syncMaterialToThree


_syncToThree()

_syncToThree(): void

Defined in: core/Mobject.ts:870

Returns

void

Inherited from

Axes._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

Axes._syncWorldMatrices


_worldMatrix()

_worldMatrix(): Matrix4

Defined in: core/Mobject.ts:974

Returns

Matrix4

Inherited from

Axes._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

Axes._worldToLocal


[iterator]()

[iterator](): Iterator<Mobject>

Defined in: core/Group.ts:230

Iterate over all mobjects in the group.

Returns

Iterator<Mobject>

Inherited from

Axes.[iterator]


add()

add(mobject): this

Defined in: core/Group.ts:38

Add a mobject to this group.

Parameters

mobject

Mobject

Mobject to add

Returns

this

this for chaining

Inherited from

Axes.add


addUpdater()

addUpdater(updater, callOnAdd): this

Defined in: core/Mobject.ts:1010

Parameters

updater

UpdaterFunction

callOnAdd

boolean = false

Returns

this

Inherited from

Axes.addUpdater


alignTo()

alignTo(target, direction): this

Defined in: core/Mobject.ts:713

Parameters

target

Mobject | Vector3Tuple

direction

Vector3Tuple

Returns

this

Inherited from

Axes.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

Axes.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

Axes.applyFunctionAboutPoint


applyMatrix()

applyMatrix(matrix, options?): this

Defined in: core/Mobject.ts:1076

Parameters

matrix

number[][]

options?
aboutEdge?

Vector3Tuple

aboutPoint?

Vector3Tuple

Returns

this

Inherited from

Axes.applyMatrix


applyToFamily()

applyToFamily(func): this

Defined in: core/Mobject.ts:998

Parameters

func

(mobject) => void

Returns

this

Inherited from

Axes.applyToFamily


become()

become(other): this

Defined in: core/Mobject.ts:592

Parameters

other

Mobject

Returns

this

Inherited from

Axes.become


c2p()

c2p(x, y): Vector3Tuple

Defined in: mobjects/graphing/Axes.ts:252

Alias for coordsToPoint (matches Python Manim's c2p shorthand)

Parameters

x

number

y

number

Returns

Vector3Tuple

Inherited from

Axes.c2p


c2pX()

c2pX(x): number

Defined in: mobjects/graphing/Axes.ts:357

Convert an x coordinate to visual x position

Parameters

x

number

Returns

number

Inherited from

Axes.c2pX


c2pY()

c2pY(y): number

Defined in: mobjects/graphing/Axes.ts:364

Convert a y coordinate to visual y position

Parameters

y

number

Returns

number

Inherited from

Axes.c2pY


center()

center(): this

Defined in: core/Mobject.ts:772

Returns

this

Inherited from

Axes.center


clear()

clear(): this

Defined in: core/Group.ts:80

Remove all children from this group.

Returns

this

this for chaining

Inherited from

Axes.clear


clearUpdaters()

clearUpdaters(): this

Defined in: core/Mobject.ts:1022

Returns

this

Inherited from

Axes.clearUpdaters


coordsToPoint()

coordsToPoint(x, y): Vector3Tuple

Defined in: mobjects/graphing/Axes.ts:256

Parameters

x

number

y

number

Returns

Vector3Tuple

Inherited from

Axes.coordsToPoint


copy()

copy(): NumberPlane

Defined in: mobjects/graphing/NumberPlane.ts:310

Create a copy of this Group.

Returns

NumberPlane

Overrides

Axes.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

Axes.disableChildZLayering


dispose()

dispose(): void

Defined in: core/Mobject.ts:1117

Returns

void

Inherited from

Axes.dispose


filter()

filter(fn): Group

Defined in: core/Group.ts:258

Filter mobjects in the group.

Parameters

fn

(mobject, index) => boolean

Filter predicate

Returns

Group

New Group with filtered mobjects

Inherited from

Axes.filter


flip()

flip(axis, options?): this

Defined in: core/Mobject.ts:403

Parameters

axis

Vector3Tuple = ...

options?
aboutEdge?

Vector3Tuple

aboutPoint?

Vector3Tuple

Returns

this

Inherited from

Axes.flip


forEach()

forEach(fn): this

Defined in: core/Group.ts:239

Apply a function to each mobject in the group.

Parameters

fn

(mobject, index) => void

Function to apply

Returns

this

this for chaining

Inherited from

Axes.forEach


generateTarget()

generateTarget(): Mobject

Defined in: core/Mobject.ts:1091

Returns

Mobject

Inherited from

Axes.generateTarget


get()

get(index): Mobject

Defined in: core/Group.ts:223

Get a mobject by index.

Parameters

index

number

Index of the mobject

Returns

Mobject

The mobject at the given index, or undefined

Inherited from

Axes.get


getArea()

getArea(graph, xRange, options): VMobject

Defined in: mobjects/graphing/Axes.ts:609

Create a filled area between a graph and either the x-axis or another graph.

Parameters

graph

FunctionGraph

The primary graph boundary

xRange

[number, number]

The x interval [start, end]

options

Area options

boundedGraph?

FunctionGraph

color?

string

opacity?

number

strokeWidth?

number

Returns

VMobject

A filled VMobject representing the area

Inherited from

Axes.getArea


getAxisLabels()

getAxisLabels(xLabelOrOpts?, yLabelArg?): Group

Defined in: mobjects/graphing/Axes.ts:392

Get axis labels ("x" and "y" by default). Labels can be LaTeX strings or pre-built Mobject instances (e.g. Tex, MathTex).

Parameters

xLabelOrOpts?

string | Mobject | { xLabel?: string | Mobject; yLabel?: string | Mobject; }

yLabelArg?

string | Mobject

Returns

Group

A Group containing the two labels

Inherited from

Axes.getAxisLabels


getBackgroundLines()

getBackgroundLines(): Group

Defined in: mobjects/graphing/NumberPlane.ts:261

Get the background lines Group

Returns

Group

Group containing all background grid lines


getBackgroundLineStyle()

getBackgroundLineStyle(): BackgroundLineStyle

Defined in: mobjects/graphing/NumberPlane.ts:306

Get the background line style

Returns

BackgroundLineStyle


getBottom()

getBottom(): Vector3Tuple

Defined in: core/Mobject.ts:751

Returns

Vector3Tuple

Inherited from

Axes.getBottom


getBoundingBox()

getBoundingBox(): object

Defined in: core/Mobject.ts:732

Returns

object

depth

depth: number

height

height: number

width

width: number

Inherited from

Axes.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

Axes.getBounds


getCenter()

getCenter(): Vector3Tuple

Defined in: core/Group.ts:101

World-space center as the midpoint of the union of all children's bounding boxes.

Each child computes its own bounding box via getBounds(), which routes to the correct strategy automatically: VMobjects use point math, all other types use Box3.setFromObject(). See PointBounds.ts for the full explanation.

Returns

Vector3Tuple

Throws

this.isEmpty() — an empty group has no geometry, so no center.

Post

!this.isEmpty() => result[i] === (worldBbox.min[i] + worldBbox.max[i]) / 2

Inherited from

Axes.getCenter


getDisplayMeshes()

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

Defined in: core/Group.ts:198

Returns

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

Inherited from

Axes.getDisplayMeshes


getDisplayMeshLength()

getDisplayMeshLength(): number

Defined in: core/Group.ts:194

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

Axes.getDisplayMeshLength


getEdge()

getEdge(direction): Vector3Tuple

Defined in: core/Mobject.ts:745

Parameters

direction

Vector3Tuple

Returns

Vector3Tuple

Inherited from

Axes.getEdge


getFamily()

getFamily(): Mobject[]

Defined in: core/Mobject.ts:1004

Returns

Mobject[]

Inherited from

Axes.getFamily


getGraphLabel()

getGraphLabel(graph, labelOrOptions?, options?): MathTexImage

Defined in: mobjects/graphing/Axes.ts:445

Get a label for a graph at a specific x-value. Matches Python Manim's axes.get_graph_label() API.

Parameters

graph

FunctionGraph

The FunctionGraph to label

labelOrOptions?

string | { color?: string; direction?: Vector3Tuple; label?: string; xVal?: number; }

options?

Positioning options

color?

string

direction?

Vector3Tuple

label?

string

xVal?

number

Returns

MathTexImage

A MathTex label positioned near the graph

Inherited from

Axes.getGraphLabel


getHeight()

getHeight(): number

Defined in: core/Mobject.ts:738

Returns

number

Inherited from

Axes.getHeight


getLeft()

getLeft(): Vector3Tuple

Defined in: core/Mobject.ts:754

Returns

Vector3Tuple

Inherited from

Axes.getLeft


getLocalCenter()

getLocalCenter(): Vector3Tuple

Defined in: core/Mobject.ts:643

Get center in this mobject's parent coordinate frame.

Includes this node's own local transform, excludes ancestor transforms.

Returns

Vector3Tuple

Post

this.parent === null => result === this.getCenter()

Post

this.parent !== null => result === parent._computeWorldMatrix().invert() * this.getCenter()

Inherited from

Axes.getLocalCenter


getOrigin()

getOrigin(): Vector3Tuple

Defined in: mobjects/graphing/Axes.ts:350

Get the origin point in visual coordinates

Returns

Vector3Tuple

Inherited from

Axes.getOrigin


getRiemannRectangles()

getRiemannRectangles(graph, options): VGroup

Defined in: mobjects/graphing/Axes.ts:539

Create Riemann sum rectangles under a graph.

Parameters

graph

FunctionGraph

The FunctionGraph to approximate

options

Riemann rectangle options

color?

string

dx?

number

fillOpacity?

number

strokeColor?

string

strokeWidth?

number

xRange?

[number, number]

Returns

VGroup

A VGroup of filled rectangles

Inherited from

Axes.getRiemannRectangles


getRight()

getRight(): Vector3Tuple

Defined in: core/Mobject.ts:757

Returns

Vector3Tuple

Inherited from

Axes.getRight


getThreeObject()

getThreeObject(): Object3D

Defined in: core/Mobject.ts:944

Returns

Object3D

Inherited from

Axes.getThreeObject


getTop()

getTop(): Vector3Tuple

Defined in: core/Mobject.ts:748

Returns

Vector3Tuple

Inherited from

Axes.getTop


getUpdaters()

getUpdaters(): UpdaterFunction[]

Defined in: core/Mobject.ts:1029

Returns

UpdaterFunction[]

Inherited from

Axes.getUpdaters


getVerticalLine()

getVerticalLine(point, options): VMobject

Defined in: mobjects/graphing/Axes.ts:495

Create a vertical line from the x-axis to a point.

Parameters

point

Vector3Tuple

The target point [x, y, z] in visual coordinates

options

Line options

color?

string

lineFunc?

typeof Line | typeof DashedLine

strokeWidth?

number

Returns

VMobject

A Line from the x-axis to the point

Inherited from

Axes.getVerticalLine


getWidth()

getWidth(): number

Defined in: core/Mobject.ts:735

Returns

number

Inherited from

Axes.getWidth


getXAxis()

getXAxis(): NumberLine

Defined in: mobjects/graphing/Axes.ts:298

Get the x-axis NumberLine

Returns

NumberLine

Inherited from

Axes.getXAxis


getXLength()

getXLength(): number

Defined in: mobjects/graphing/Axes.ts:336

Get the visual x length

Returns

number

Inherited from

Axes.getXLength


getXRange()

getXRange(): [number, number, number]

Defined in: mobjects/graphing/Axes.ts:312

Get the x range

Returns

[number, number, number]

Inherited from

Axes.getXRange


getYAxis()

getYAxis(): NumberLine

Defined in: mobjects/graphing/Axes.ts:305

Get the y-axis NumberLine

Returns

NumberLine

Inherited from

Axes.getYAxis


getYLength()

getYLength(): number

Defined in: mobjects/graphing/Axes.ts:343

Get the visual y length

Returns

number

Inherited from

Axes.getYLength


getYRange()

getYRange(): [number, number, number]

Defined in: mobjects/graphing/Axes.ts:324

Get the y range

Returns

[number, number, number]

Inherited from

Axes.getYRange


hasUpdaters()

hasUpdaters(): boolean

Defined in: core/Mobject.ts:1026

Returns

boolean

Inherited from

Axes.hasUpdaters


i2gp()

i2gp(x, graph): Vector3Tuple

Defined in: mobjects/graphing/Axes.ts:520

Input to graph point: convert an x value to the visual point on a graph. Shorthand for graph.getPointFromX(x).

Parameters

x

number

The x coordinate in graph space

graph

FunctionGraph

The FunctionGraph

Returns

Vector3Tuple

The visual coordinates on the graph

Inherited from

Axes.i2gp


inputToGraphPoint()

inputToGraphPoint(x, graph): Vector3Tuple

Defined in: mobjects/graphing/Axes.ts:529

Alias for i2gp — convert an x value to the visual point on a graph. Matches Python Manim's axes.input_to_graph_point() API.

Parameters

x

number

graph

FunctionGraph

Returns

Vector3Tuple

Inherited from

Axes.inputToGraphPoint


isEmpty()

isEmpty(): boolean

Defined in: core/Group.ts:87

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

Returns

boolean

Inherited from

Axes.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

Axes.isTransformNormalized


map()

map<T>(fn): T[]

Defined in: core/Group.ts:249

Map over all mobjects in the group.

Type Parameters

T

T

Parameters

fn

(mobject, index) => T

Mapping function

Returns

T[]

Array of mapped values

Inherited from

Axes.map


moveTo()

moveTo(target, alignedEdge?): this

Defined in: core/Mobject.ts:256

Move to target position in world space.

Computes the delta from the current world-space center, converts it into this node's parent-local frame (the frame shift()/position live in), and applies it so the world-space center lands on the target. The parent-local conversion is what makes this correct when the node is parented under a scaled/rotated parent — a raw world delta fed to shift() would be scaled/rotated by the parent. For an unparented node the conversion is the identity, so behavior is unchanged.

Parameters

target

Mobject | Vector3Tuple

alignedEdge?

Vector3Tuple

Returns

this

Post

result world center === target (within the parent's representable frame)

Pre

!this.isEmpty() if needed (e.g., VGroup).

Inherited from

Axes.moveTo


moveToAligned()

moveToAligned(target, alignedEdge?): this

Defined in: core/Mobject.ts:723

Parameters

target

Mobject | Vector3Tuple

alignedEdge?

Vector3Tuple

Returns

this

Inherited from

Axes.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

Axes.nextTo


normalizeTransform()

normalizeTransform(worldMatrix): this

Defined in: core/Group.ts:14

Flatten this mobject's transform into its canonical, absolute representation.

Bakes worldMatrix into the node's own geometry, recurses so every descendant is expressed in the same frame, then resets the local transform to identity. Called with no argument it seeds with this node's OWN matrix, so bake-then-reset preserves world appearance whether or not the node has ancestors — the ancestors keep their transforms and still apply. The recursion (and a detached-clone caller) passes an explicit accumulated matrix.

Implemented per family rather than via a hook so the compiler forces every geometry-owning subclass to declare how it flattens: containers reset to identity (geometry lives in children), point-based mobjects bake worldMatrix into their points, and Three.js meshes — which cannot bake into points — absolutize their local transform instead (see _flattenAsMesh).

Parameters

worldMatrix

Matrix4 = ...

Returns

this

Post

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

Post

this._computeOwnMatrix() === Identity // container/point nodes; meshes: own === worldMatrix

Inherited from

Axes.normalizeTransform


plot()

plot(func, options): FunctionGraph

Defined in: mobjects/graphing/Axes.ts:374

Plot a function on these axes, returning a FunctionGraph.

Parameters

func

(x) => number

Function y = f(x)

options

Partial<Omit<FunctionGraphOptions, "func" | "axes">> = {}

Additional FunctionGraph options (color, strokeWidth, etc.)

Returns

FunctionGraph

A FunctionGraph bound to these axes

Inherited from

Axes.plot


plotLineGraph()

plotLineGraph(options): VDict

Defined in: mobjects/graphing/Axes.ts:696

Plot a line graph connecting data points with straight line segments. Returns a VDict with "line_graph" (the connecting line) and "vertex_dots" (dots at each data point).

Matches Python Manim's axes.plot_line_graph() API.

Parameters

options

Line graph options

addVertexDots?

boolean

lineColor?

string

strokeWidth?

number

vertexDotRadius?

number

vertexDotStyle?

{ color?: string; fillOpacity?: number; strokeColor?: string; strokeWidth?: number; }

vertexDotStyle.color?

string

vertexDotStyle.fillOpacity?

number

vertexDotStyle.strokeColor?

string

vertexDotStyle.strokeWidth?

number

xValues

number[]

yValues

number[]

Returns

VDict

A VDict with "line_graph" and "vertex_dots" entries

Inherited from

Axes.plotLineGraph


pointToCoords()

pointToCoords(point): [number, number]

Defined in: mobjects/graphing/Axes.ts:276

Convert visual point coordinates to graph coordinates

Parameters

point

Vector3Tuple

Visual point [x, y, z]

Returns

[number, number]

The graph coordinates [x, y]

Inherited from

Axes.pointToCoords


prepareForNonlinearTransform()

prepareForNonlinearTransform(numPieces): this

Defined in: core/Mobject.ts:1084

Parameters

numPieces

number = 50

Returns

this

Inherited from

Axes.prepareForNonlinearTransform


remove()

remove(mobject): this

Defined in: core/Group.ts:63

Remove a mobject from this group.

Parameters

mobject

Mobject

Mobject to remove

Returns

this

this for chaining

Inherited from

Axes.remove


removeUpdater()

removeUpdater(updater): this

Defined in: core/Mobject.ts:1016

Parameters

updater

UpdaterFunction

Returns

this

Inherited from

Axes.removeUpdater


replace()

replace(target, stretch): this

Defined in: core/Mobject.ts:597

Parameters

target

Mobject

stretch

boolean = false

Returns

this

Inherited from

Axes.replace


restoreState()

restoreState(): boolean

Defined in: core/Mobject.ts:1101

Returns

boolean

Inherited from

Axes.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

Axes.rotate


rotateAboutOrigin()

rotateAboutOrigin(angle, axis): this

Defined in: core/Mobject.ts:344

Parameters

angle

number

axis

Vector3Tuple = ...

Returns

this

Inherited from

Axes.rotateAboutOrigin


saveState()

saveState(): this

Defined in: core/Mobject.ts:1096

Returns

this

Inherited from

Axes.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

Axes.scale


setBackgroundLineStyle()

setBackgroundLineStyle(style): this

Defined in: mobjects/graphing/NumberPlane.ts:294

Set the background line style

Parameters

style

Partial<BackgroundLineStyle>

Returns

this


setColor()

setColor(color): this

Defined in: core/Group.ts:132

Set the color of all children.

Parameters

color

string

CSS color string

Returns

this

this for chaining

Inherited from

Axes.setColor


setFill()

setFill(color?, opacity?): this

Defined in: core/Mobject.ts:204

Parameters

color?

string

opacity?

number

Returns

this

Inherited from

Axes.setFill


setFillOpacity()

setFillOpacity(opacity): this

Defined in: core/Group.ts:171

Set the fill opacity of all children.

Parameters

opacity

number

Fill opacity (0-1)

Returns

this

this for chaining

Inherited from

Axes.setFillOpacity


setIncludeBackgroundLines()

setIncludeBackgroundLines(include): this

Defined in: mobjects/graphing/NumberPlane.ts:268

Set whether to show background lines

Parameters

include

boolean

Returns

this


setStrokeOpacity()

setStrokeOpacity(opacity): this

Defined in: core/Group.ts:145

Set the stroke opacity of all children.

Parameters

opacity

number

Opacity value (0-1)

Returns

this

this for chaining

Inherited from

Axes.setStrokeOpacity


setStrokeWidth()

setStrokeWidth(width): this

Defined in: core/Group.ts:158

Set the stroke width of all children.

Parameters

width

number

Stroke width in pixels

Returns

this

this for chaining

Inherited from

Axes.setStrokeWidth


setStyle()

setStyle(style): this

Defined in: core/Mobject.ts:152

Parameters

style

Partial<MobjectStyle>

Returns

this

Inherited from

Axes.setStyle


setX()

setX(x): this

Defined in: core/Mobject.ts:760

Parameters

x

number

Returns

this

Inherited from

Axes.setX


setY()

setY(y): this

Defined in: core/Mobject.ts:764

Parameters

y

number

Returns

this

Inherited from

Axes.setY


setZ()

setZ(z): this

Defined in: core/Mobject.ts:768

Parameters

z

number

Returns

this

Inherited from

Axes.setZ


shift()

shift(delta): this

Defined in: core/Mobject.ts:234

Parameters

delta

Vector3Tuple

Returns

this

Inherited from

Axes.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

Axes.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

Axes.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

Axes.toEdge


update()

update(dt): void

Defined in: core/Mobject.ts:1033

Parameters

dt

number

Returns

void

Inherited from

Axes.update