Class: ThreeDAxes
Defined in: mobjects/three-d/ThreeDAxes.ts:85
ThreeDAxes - A 3D coordinate system with x, y, and z axes
Creates a 3D coordinate system with configurable ranges, colors, and styling. Supports coordinate transformations between graph space and visual space.
Example
// Create default 3D axes
const axes = new ThreeDAxes();
// Create axes with custom ranges
const customAxes = new ThreeDAxes({
xRange: [0, 10, 1],
yRange: [-1, 1, 0.5],
zRange: [0, 5, 1]
});
// Get a point in visual coordinates
const point = axes.coordsToPoint(3, 2, 1);
// Create colored axes
const coloredAxes = new ThreeDAxes({
xColor: '#ff0000',
yColor: '#00ff00',
zColor: '#0000ff'
});
Extends
Constructors
Constructor
new ThreeDAxes(
options):ThreeDAxes
Defined in: mobjects/three-d/ThreeDAxes.ts:105
Parameters
options
ThreeDAxesOptions = {}
Returns
ThreeDAxes
Overrides
Properties
__savedMobjectState
__savedMobjectState:
unknown=null
Defined in: core/Mobject.ts:121
JSON-serializable saved state (used by restoreState()).
Inherited from
_color
protected_color:string='#ffffff'
Defined in: core/Mobject.ts:84
Inherited from
_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
_disableChildZLayering
protected_disableChildZLayering:boolean=false
Defined in: core/Mobject.ts:99
When true, children skip the 2D z-layering offset in _syncToThree.
Inherited from
_isVMobject
_isVMobject:
boolean=false
Defined in: core/Mobject.ts:114
Inherited from
_opacity
protected_opacity:number=1
Defined in: core/Mobject.ts:95
Inherited from
_style
protected_style:MobjectStyle
Defined in: core/Mobject.ts:100
Inherited from
_threeObject
_threeObject:
Object3D<Object3DEventMap> =null
Defined in: core/Mobject.ts:101
Inherited from
children
children:
Mobject[] =[]
Defined in: core/Mobject.ts:79
Inherited from
createdAtBeginning
createdAtBeginning:
boolean=false
Defined in: core/Mobject.ts:83
Inherited from
fillOpacity
fillOpacity:
number=0
Defined in: core/Mobject.ts:97
Inherited from
id
readonlyid:string
Defined in: core/Mobject.ts:77
Inherited from
parent
parent:
Mobject=null
Defined in: core/Mobject.ts:78
Inherited from
position
position:
Vector3
Defined in: core/Mobject.ts:80
Inherited from
rotation
rotation:
Euler
Defined in: core/Mobject.ts:81
Inherited from
savedState
savedState:
Mobject=null
Defined in: core/Mobject.ts:117
Saved mobject copy (used by Restore animation). Set by saveState().
Inherited from
scaleVector
scaleVector:
Vector3
Defined in: core/Mobject.ts:82
Inherited from
strokeWidth
strokeWidth:
number=4
Defined in: core/Mobject.ts:96
Inherited from
targetCopy
targetCopy:
Mobject=null
Defined in: core/Mobject.ts:119
Target copy used by generateTarget() / MoveToTarget animation.
Inherited from
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
Inherited from
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
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
isDirty
Get Signature
get isDirty():
boolean
Defined in: core/Mobject.ts:935
Returns
boolean
Inherited from
length
Get Signature
get length():
number
Defined in: core/Group.ts:214
Get the number of mobjects in this group.
Returns
number
Inherited from
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
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
style
Get Signature
get style():
MobjectStyle
Defined in: core/Mobject.ts:148
Returns
Inherited from
submobjects
Get Signature
get submobjects():
Mobject[]
Defined in: core/Mobject.ts:162
Returns
Mobject[]
Inherited from
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
Group._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
_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
_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
_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
_getEdgeInDirection()
_getEdgeInDirection(
direction):Vector3Tuple
Defined in: core/Mobject.ts:729
Parameters
direction
Returns
World-space edge position (center + half-bounding-box offset).
Inherited from
_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
Returns
Post
result === this._worldMatrix() * p
Inherited from
_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
_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
_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
_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
_root()
_root():
Mobject
Defined in: core/Mobject.ts:940
The topmost ancestor (the node with no parent).
Returns
Inherited from
_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
pivotLocal
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
Group._rotateAboutParentLocalPoint
_syncMaterialToThree()
protected_syncMaterialToThree():void
Defined in: core/Mobject.ts:892
Returns
void
Inherited from
_syncToThree()
_syncToThree():
void
Defined in: core/Mobject.ts:870
Returns
void
Inherited from
_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
_worldMatrix()
_worldMatrix():
Matrix4
Defined in: core/Mobject.ts:974
Returns
Matrix4
Inherited from
_worldToLocal()
protected_worldToLocal(p):Vector3Tuple
Defined in: core/Mobject.ts:397
WORLD point -> this node's LOCAL frame. Inverse of _localToWorld.
Parameters
p
Returns
Post
result === this._worldMatrix().invert() * p
Inherited from
[iterator]()
[iterator]():
Iterator<Mobject>
Defined in: core/Group.ts:230
Iterate over all mobjects in the group.
Returns
Iterator<Mobject>
Inherited from
add()
add(
mobject):this
Defined in: core/Group.ts:38
Add a mobject to this group.
Parameters
mobject
Mobject to add
Returns
this
this for chaining
Inherited from
addUpdater()
addUpdater(
updater,callOnAdd):this
Defined in: core/Mobject.ts:1010
Parameters
updater
callOnAdd
boolean = false
Returns
this
Inherited from
alignTo()
alignTo(
target,direction):this
Defined in: core/Mobject.ts:713
Parameters
target
direction
Returns
this
Inherited from
applyFunction()
applyFunction(
fn,options?):this
Defined in: core/Mobject.ts:1068
Parameters
fn
(point) => number[]
options?
aboutEdge?
aboutPoint?
Returns
this
Inherited from
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
applyMatrix()
applyMatrix(
matrix,options?):this
Defined in: core/Mobject.ts:1076
Parameters
matrix
number[][]
options?
aboutEdge?
aboutPoint?
Returns
this
Inherited from
applyToFamily()
applyToFamily(
func):this
Defined in: core/Mobject.ts:998
Parameters
func
(mobject) => void
Returns
this
Inherited from
become()
become(
other):this
Defined in: core/Mobject.ts:592
Parameters
other
Returns
this
Inherited from
c2p()
c2p(
x,y,z):Vector3Tuple
Defined in: mobjects/three-d/ThreeDAxes.ts:380
Alias for coordsToPoint (matches Python Manim's c2p shorthand)
Parameters
x
number
y
number
z
number
Returns
c2pX()
c2pX(
x):number
Defined in: mobjects/three-d/ThreeDAxes.ts:474
Convert an x coordinate to visual x position
Parameters
x
number
Returns
number
c2pY()
c2pY(
y):number
Defined in: mobjects/three-d/ThreeDAxes.ts:481
Convert a y coordinate to visual y position
Parameters
y
number
Returns
number
c2pZ()
c2pZ(
z):number
Defined in: mobjects/three-d/ThreeDAxes.ts:488
Convert a z coordinate to visual z position
Parameters
z
number
Returns
number
center()
center():
this
Defined in: core/Mobject.ts:772
Returns
this
Inherited from
clear()
clear():
this
Defined in: core/Group.ts:80
Remove all children from this group.
Returns
this
this for chaining
Inherited from
clearUpdaters()
clearUpdaters():
this
Defined in: core/Mobject.ts:1022
Returns
this
Inherited from
coordsToPoint()
coordsToPoint(
x,y,z):Vector3Tuple
Defined in: mobjects/three-d/ThreeDAxes.ts:373
Convert graph coordinates to visual point coordinates (scene space). With unit_size=1, graph coordinates map directly to visual positions.
Parameters
x
number
y
number
z
number
Returns
copy()
copy():
ThreeDAxes
Defined in: mobjects/three-d/ThreeDAxes.ts:632
Create a copy of this ThreeDAxes
Returns
ThreeDAxes
Overrides
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
dispose()
dispose():
void
Defined in: core/Mobject.ts:1117
Returns
void
Inherited from
filter()
filter(
fn):Group
Defined in: core/Group.ts:258
Filter mobjects in the group.
Parameters
fn
(mobject, index) => boolean
Filter predicate
Returns
New Group with filtered mobjects
Inherited from
flip()
flip(
axis,options?):this
Defined in: core/Mobject.ts:403
Parameters
axis
Vector3Tuple = ...
options?
aboutEdge?
aboutPoint?
Returns
this
Inherited from
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
generateTarget()
generateTarget():
Mobject
Defined in: core/Mobject.ts:1091
Returns
Inherited from
get()
get(
index):Mobject
Defined in: core/Group.ts:223
Get a mobject by index.
Parameters
index
number
Index of the mobject
Returns
The mobject at the given index, or undefined
Inherited from
getAxisLabels()
getAxisLabels(
xLabel?,yLabel?,zLabel?):Group
Defined in: mobjects/three-d/ThreeDAxes.ts:586
Get all axis label mobjects as a Group.
If no labels were created at construction time (showLabels was false)
or any of xLabel/yLabel/zLabel are supplied, labels are created/replaced
on demand and added to this group. Mirrors Manim CE's
ThreeDAxes.get_axis_labels(x_label, y_label, z_label).
Parameters
xLabel?
LaTeX string or Mobject for x-axis label. Default: 'x'
string | Mobject
yLabel?
LaTeX string or Mobject for y-axis label. Default: 'y'
string | Mobject
zLabel?
LaTeX string or Mobject for z-axis label. Default: 'z'
string | Mobject
Returns
getBottom()
getBottom():
Vector3Tuple
Defined in: core/Mobject.ts:751
Returns
Inherited from
getBoundingBox()
getBoundingBox():
object
Defined in: core/Mobject.ts:732
Returns
object
depth
depth:
number
height
height:
number
width
width:
number
Inherited from
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
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
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
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
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
getEdge()
getEdge(
direction):Vector3Tuple
Defined in: core/Mobject.ts:745
Parameters
direction
Returns
Inherited from
getFamily()
getFamily():
Mobject[]
Defined in: core/Mobject.ts:1004
Returns
Mobject[]
Inherited from
getHeight()
getHeight():
number
Defined in: core/Mobject.ts:738
Returns
number
Inherited from
getLeft()
getLeft():
Vector3Tuple
Defined in: core/Mobject.ts:754
Returns
Inherited from
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
Post
this.parent === null => result === this.getCenter()
Post
this.parent !== null => result === parent._computeWorldMatrix().invert() * this.getCenter()
Inherited from
getOrigin()
getOrigin():
Vector3Tuple
Defined in: mobjects/three-d/ThreeDAxes.ts:467
Get the origin point in visual coordinates
Returns
getRight()
getRight():
Vector3Tuple
Defined in: core/Mobject.ts:757
Returns
Inherited from
getThreeObject()
getThreeObject():
Object3D
Defined in: core/Mobject.ts:944
Returns
Object3D
Inherited from
getTop()
getTop():
Vector3Tuple
Defined in: core/Mobject.ts:748
Returns
Inherited from
getUpdaters()
getUpdaters():
UpdaterFunction[]
Defined in: core/Mobject.ts:1029
Returns
Inherited from
getWidth()
getWidth():
number
Defined in: core/Mobject.ts:735
Returns
number
Inherited from
getXAxis()
getXAxis():
Arrow3D
Defined in: mobjects/three-d/ThreeDAxes.ts:404
Get the X-axis arrow
Returns
getXLabel()
getXLabel():
Mobject
Defined in: mobjects/three-d/ThreeDAxes.ts:556
Get the x-axis label mobject (null if showLabels was false)
Returns
getXLength()
getXLength():
number
Defined in: mobjects/three-d/ThreeDAxes.ts:446
Get the visual X length (range span)
Returns
number
getXRange()
getXRange(): [
number,number,number]
Defined in: mobjects/three-d/ThreeDAxes.ts:425
Get the X range
Returns
[number, number, number]
getYAxis()
getYAxis():
Arrow3D
Defined in: mobjects/three-d/ThreeDAxes.ts:411
Get the Y-axis arrow
Returns
getYLabel()
getYLabel():
Mobject
Defined in: mobjects/three-d/ThreeDAxes.ts:563
Get the y-axis label mobject (null if showLabels was false)
Returns
getYLength()
getYLength():
number
Defined in: mobjects/three-d/ThreeDAxes.ts:453
Get the visual Y length (range span)
Returns
number
getYRange()
getYRange(): [
number,number,number]
Defined in: mobjects/three-d/ThreeDAxes.ts:432
Get the Y range
Returns
[number, number, number]
getZAxis()
getZAxis():
Arrow3D
Defined in: mobjects/three-d/ThreeDAxes.ts:418
Get the Z-axis arrow
Returns
getZLabel()
getZLabel():
Mobject
Defined in: mobjects/three-d/ThreeDAxes.ts:570
Get the z-axis label mobject (null if showLabels was false)
Returns
getZLength()
getZLength():
number
Defined in: mobjects/three-d/ThreeDAxes.ts:460
Get the visual Z length (range span)
Returns
number
getZRange()
getZRange(): [
number,number,number]
Defined in: mobjects/three-d/ThreeDAxes.ts:439
Get the Z range
Returns
[number, number, number]
hasUpdaters()
hasUpdaters():
boolean
Defined in: core/Mobject.ts:1026
Returns
boolean
Inherited from
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
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
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
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
alignedEdge?
Returns
this
Post
result world center === target (within the parent's representable frame)
Pre
!this.isEmpty() if needed (e.g., VGroup).
Inherited from
moveToAligned()
moveToAligned(
target,alignedEdge?):this
Defined in: core/Mobject.ts:723
Parameters
target
alignedEdge?
Returns
this
Inherited from
nextTo()
nextTo(
target,direction,buff):this
Defined in: core/Mobject.ts:696
Parameters
target
direction
Vector3Tuple = RIGHT
buff
number = 0.25
Returns
this
Inherited from
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
p2c()
p2c(
point):Vector3Tuple
Defined in: mobjects/three-d/ThreeDAxes.ts:397
Alias for pointToCoords (matches Python Manim's p2c shorthand)
Parameters
point
Returns
pointToCoords()
pointToCoords(
point):Vector3Tuple
Defined in: mobjects/three-d/ThreeDAxes.ts:387
Convert visual point coordinates (scene space) to graph coordinates.
Parameters
point
Returns
prepareForNonlinearTransform()
prepareForNonlinearTransform(
numPieces):this
Defined in: core/Mobject.ts:1084
Parameters
numPieces
number = 50
Returns
this
Inherited from
Group.prepareForNonlinearTransform
remove()
remove(
mobject):this
Defined in: core/Group.ts:63
Remove a mobject from this group.
Parameters
mobject
Mobject to remove
Returns
this
this for chaining
Inherited from
removeUpdater()
removeUpdater(
updater):this
Defined in: core/Mobject.ts:1016
Parameters
updater
Returns
this
Inherited from
replace()
replace(
target,stretch):this
Defined in: core/Mobject.ts:597
Parameters
target
stretch
boolean = false
Returns
this
Inherited from
restoreState()
restoreState():
boolean
Defined in: core/Mobject.ts:1101
Returns
boolean
Inherited from
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
rotateAboutOrigin()
rotateAboutOrigin(
angle,axis):this
Defined in: core/Mobject.ts:344
Parameters
angle
number
axis
Vector3Tuple = ...
Returns
this
Inherited from
saveState()
saveState():
this
Defined in: core/Mobject.ts:1096
Returns
this
Inherited from
scale()
scale(
factor,options?):this
Defined in: core/Mobject.ts:429
Parameters
factor
number | Vector3Tuple
options?
aboutEdge?
aboutPoint?
Returns
this
Inherited from
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
setFill()
setFill(
color?,opacity?):this
Defined in: core/Mobject.ts:204
Parameters
color?
string
opacity?
number
Returns
this
Inherited from
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
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
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
setStyle()
setStyle(
style):this
Defined in: core/Mobject.ts:152
Parameters
style
Partial<MobjectStyle>
Returns
this
Inherited from
setX()
setX(
x):this
Defined in: core/Mobject.ts:760
Parameters
x
number
Returns
this
Inherited from
setY()
setY(
y):this
Defined in: core/Mobject.ts:764
Parameters
y
number
Returns
this
Inherited from
setZ()
setZ(
z):this
Defined in: core/Mobject.ts:768
Parameters
z
number
Returns
this
Inherited from
shift()
shift(
delta):this
Defined in: core/Mobject.ts:234
Parameters
delta
Returns
this
Inherited from
shiftLabelsOntoScreen()
shiftLabelsOntoScreen(
camera,margin):this
Defined in: mobjects/three-d/ThreeDAxes.ts:507
Manim CE's shift_onto_screen equivalent. Call once the scene/camera
exist (e.g. after scene.add(axes) and a first render). Projects each
axis label to normalized device coordinates using the supplied camera and,
if the label sits outside the [-1, 1] viewport box, shifts it back along
the vector to its axis tip until it lies inside.
Requires runtime access to the camera, which ThreeDAxes has no handle
on at construction time — so this is an opt-in method rather than
automatic.
Parameters
camera
Camera
The camera the scene is rendering with (perspective/ortho).
margin
number = 0.05
Fraction of NDC to keep as padding inside the viewport. Default 0.05 (5% margin).
Returns
this
stretch()
stretch(
factor,dim,options?):this
Defined in: core/Mobject.ts:461
Parameters
factor
number
dim
number
options?
aboutEdge?
aboutPoint?
Returns
this
Inherited from
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
toEdge()
toEdge(
direction,buff,frameDimensions?):this
Defined in: core/Mobject.ts:796
Parameters
direction
buff
number = 0.5
frameDimensions?
[number, number]
Returns
this
Inherited from
update()
update(
dt):void
Defined in: core/Mobject.ts:1033
Parameters
dt
number
Returns
void