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:95
JSON-serializable saved state (used by restoreState()).
Inherited from
_color
protected_color:string='#ffffff'
Defined in: core/Mobject.ts:70
Inherited from
_dirty
_dirty:
boolean=true
Defined in: core/Mobject.ts:88
Inherited from
_disableChildZLayering
protected_disableChildZLayering:boolean=false
Defined in: core/Mobject.ts:85
When true, children skip the 2D z-layering offset in _syncToThree.
Inherited from
_opacity
protected_opacity:number=1
Defined in: core/Mobject.ts:81
Inherited from
_style
protected_style:MobjectStyle
Defined in: core/Mobject.ts:86
Inherited from
_threeObject
_threeObject:
Object3D<Object3DEventMap> =null
Defined in: core/Mobject.ts:87
Inherited from
children
children:
Mobject[] =[]
Defined in: core/Mobject.ts:65
Inherited from
createdAtBeginning
createdAtBeginning:
boolean=false
Defined in: core/Mobject.ts:69
Inherited from
fillOpacity
fillOpacity:
number=0
Defined in: core/Mobject.ts:83
Inherited from
id
readonlyid:string
Defined in: core/Mobject.ts:63
Inherited from
parent
parent:
Mobject=null
Defined in: core/Mobject.ts:64
Inherited from
position
position:
Vector3
Defined in: core/Mobject.ts:66
Inherited from
rotation
rotation:
Euler
Defined in: core/Mobject.ts:67
Inherited from
savedState
savedState:
Mobject=null
Defined in: core/Mobject.ts:91
Saved mobject copy (used by Restore animation). Set by saveState().
Inherited from
scaleVector
scaleVector:
Vector3
Defined in: core/Mobject.ts:68
Inherited from
strokeWidth
strokeWidth:
number=4
Defined in: core/Mobject.ts:82
Inherited from
targetCopy
targetCopy:
Mobject=null
Defined in: core/Mobject.ts:93
Target copy used by generateTarget() / MoveToTarget animation.
Inherited from
Accessors
animate
Get Signature
get animate():
any
Defined in: core/Mobject.ts:497
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
any
Inherited from
color
Get Signature
get color():
string
Defined in: core/Mobject.ts:71
Returns
string
Set Signature
set color(
value):void
Defined in: core/Mobject.ts:74
Parameters
value
string
Returns
void
Inherited from
fillColor
Get Signature
get fillColor():
string
Defined in: core/Mobject.ts:184
Returns
string
Set Signature
set fillColor(
color):void
Defined in: core/Mobject.ts:188
Parameters
color
string
Returns
void
Inherited from
isDirty
Get Signature
get isDirty():
boolean
Defined in: core/Mobject.ts:551
Returns
boolean
Inherited from
length
Get Signature
get length():
number
Defined in: core/Group.ts:268
Get the number of mobjects in this group.
Returns
number
Inherited from
opacity
Get Signature
get opacity():
number
Defined in: core/Mobject.ts:114
Returns
number
Set Signature
set opacity(
value):void
Defined in: core/Mobject.ts:118
Parameters
value
number
Returns
void
Inherited from
strokeColor
Get Signature
get strokeColor():
string
Defined in: core/Mobject.ts:195
Returns
string
Set Signature
set strokeColor(
color):void
Defined in: core/Mobject.ts:199
Parameters
color
string
Returns
void
Inherited from
style
Get Signature
get style():
MobjectStyle
Defined in: core/Mobject.ts:122
Returns
Inherited from
submobjects
Get Signature
get submobjects():
Mobject[]
Defined in: core/Mobject.ts:136
Returns
Mobject[]
Inherited from
Methods
_createCopy()
protected_createCopy():ThreeDAxes
Defined in: mobjects/three-d/ThreeDAxes.ts:632
Create a copy of this ThreeDAxes
Returns
ThreeDAxes
Overrides
_createThreeObject()
protected_createThreeObject():Object3D
Defined in: core/Group.ts:238
Create the Three.js backing object for this Group. A group is simply a THREE.Group that contains children.
Returns
Object3D
Inherited from
_getBoundingBox()
_getBoundingBox():
object
Defined in: core/Mobject.ts:449
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:442
Parameters
direction
Returns
Inherited from
_markDirty()
_markDirty():
void
Defined in: core/Mobject.ts:541
Returns
void
Inherited from
_markDirtyUpward()
_markDirtyUpward():
void
Defined in: core/Mobject.ts:545
Returns
void
Inherited from
_syncMaterialToThree()
protected_syncMaterialToThree():void
Defined in: core/Mobject.ts:539
Returns
void
Inherited from
_syncToThree()
_syncToThree():
void
Defined in: core/Mobject.ts:519
Returns
void
Inherited from
[iterator]()
[iterator]():
Iterator<Mobject>
Defined in: core/Group.ts:284
Iterate over all mobjects in the group.
Returns
Iterator<Mobject>
Inherited from
add()
add(
mobject):this
Defined in: core/Group.ts:31
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:589
Parameters
updater
callOnAdd
boolean = false
Returns
this
Inherited from
alignTo()
alignTo(
target,direction):this
Defined in: core/Mobject.ts:427
Parameters
target
direction
Returns
this
Inherited from
applyFunction()
applyFunction(
fn,options?):this
Defined in: core/Mobject.ts:619
Parameters
fn
(point) => number[]
options?
aboutEdge?
aboutPoint?
Returns
this
Inherited from
applyMatrix()
applyMatrix(
matrix,options?):this
Defined in: core/Mobject.ts:627
Parameters
matrix
number[][]
options?
aboutEdge?
aboutPoint?
Returns
this
Inherited from
applyToFamily()
applyToFamily(
func):this
Defined in: core/Mobject.ts:577
Parameters
func
(mobject) => void
Returns
this
Inherited from
become()
become(
other):this
Defined in: core/Mobject.ts:376
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:479
Returns
this
Inherited from
clear()
clear():
this
Defined in: core/Group.ts:73
Remove all children from this group.
Returns
this
this for chaining
Inherited from
clearUpdaters()
clearUpdaters():
this
Defined in: core/Mobject.ts:601
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():
Mobject
Defined in: core/Mobject.ts:358
Returns
Inherited from
dispose()
dispose():
void
Defined in: core/Mobject.ts:658
Returns
void
Inherited from
filter()
filter(
fn):Group
Defined in: core/Group.ts:312
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:257
Parameters
axis
Vector3Tuple = ...
options?
aboutEdge?
aboutPoint?
Returns
this
Inherited from
forEach()
forEach(
fn):this
Defined in: core/Group.ts:293
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:642
Returns
Inherited from
get()
get(
index):Mobject
Defined in: core/Group.ts:277
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:458
Returns
Inherited from
getBoundingBox()
getBoundingBox():
object
Defined in: core/Mobject.ts:445
Returns
object
depth
depth:
number
height
height:
number
width
width:
number
Inherited from
getBounds()
getBounds():
object
Defined in: core/Mobject.ts:392
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
Inherited from
getCenter()
getCenter():
Vector3Tuple
Defined in: core/Group.ts:86
Get the center of the group (average of all children centers). Children maintain world-space coordinates, so no group position offset is added (shift/moveTo only update children, not group position).
Returns
Center position as [x, y, z]
Inherited from
getDisplayMeshes()
getDisplayMeshes():
Mesh<BufferGeometry<NormalBufferAttributes,BufferGeometryEventMap>,Material<MaterialEventMap> |Material<MaterialEventMap>[],Object3DEventMap>[]
Defined in: core/Group.ts:253
Returns
Mesh<BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>, Material<MaterialEventMap> | Material<MaterialEventMap>[], Object3DEventMap>[]
Inherited from
getDisplayMeshLength()
getDisplayMeshLength():
number
Defined in: core/Group.ts:249
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:452
Parameters
direction
Returns
Inherited from
getFamily()
getFamily():
Mobject[]
Defined in: core/Mobject.ts:583
Returns
Mobject[]
Inherited from
getLeft()
getLeft():
Vector3Tuple
Defined in: core/Mobject.ts:461
Returns
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:464
Returns
Inherited from
getThreeObject()
getThreeObject():
Object3D
Defined in: core/Mobject.ts:555
Returns
Object3D
Inherited from
getTop()
getTop():
Vector3Tuple
Defined in: core/Mobject.ts:455
Returns
Inherited from
getUpdaters()
getUpdaters():
UpdaterFunction[]
Defined in: core/Mobject.ts:608
Returns
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:605
Returns
boolean
Inherited from
map()
map<
T>(fn):T[]
Defined in: core/Group.ts:303
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/Group.ts:127
Move the group center to the given point, or align with another Mobject.
Parameters
target
Target position [x, y, z] or Mobject to align with
alignedEdge?
Optional edge direction to align (e.g., UL aligns upper-left edges)
Returns
this
this for chaining
Inherited from
moveToAligned()
moveToAligned(
target,alignedEdge?):this
Defined in: core/Mobject.ts:437
Parameters
target
alignedEdge?
Returns
this
Inherited from
nextTo()
nextTo(
target,direction,buff):this
Defined in: core/Mobject.ts:410
Parameters
target
direction
Vector3Tuple = RIGHT
buff
number = 0.25
Returns
this
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:635
Parameters
numPieces
number = 50
Returns
this
Inherited from
Group.prepareForNonlinearTransform
remove()
remove(
mobject):this
Defined in: core/Group.ts:56
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:595
Parameters
updater
Returns
this
Inherited from
replace()
replace(
target,stretch):this
Defined in: core/Mobject.ts:381
Parameters
target
stretch
boolean = false
Returns
this
Inherited from
restoreState()
restoreState():
boolean
Defined in: core/Mobject.ts:652
Returns
boolean
Inherited from
rotate()
rotate(
angle,axisOrOptions?):this
Defined in: core/Group.ts:157
Rotate all children around an axis. Only children are rotated to avoid double-counting with Three.js hierarchy.
Parameters
angle
number
Rotation angle in radians
axisOrOptions?
Vector3Tuple | { aboutPoint?: Vector3Tuple; axis?: Vector3Tuple; }
Returns
this
this for chaining
Inherited from
rotateAboutOrigin()
rotateAboutOrigin(
angle,axis):this
Defined in: core/Mobject.ts:253
Parameters
angle
number
axis
Vector3Tuple = ...
Returns
this
Inherited from
saveState()
saveState():
this
Defined in: core/Mobject.ts:647
Returns
this
Inherited from
scale()
scale(
factor):this
Defined in: core/Group.ts:174
Scale all children. Only children are scaled to avoid double-counting with Three.js hierarchy.
Parameters
factor
Scale factor (number for uniform, tuple for non-uniform)
number | Vector3Tuple
Returns
this
this for chaining
Inherited from
setColor()
setColor(
color):this
Defined in: core/Group.ts:187
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:178
Parameters
color?
string
opacity?
number
Returns
this
Inherited from
setFillOpacity()
setFillOpacity(
opacity):this
Defined in: core/Group.ts:226
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:200
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:213
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:126
Parameters
style
Partial<MobjectStyle>
Returns
this
Inherited from
setX()
setX(
x):this
Defined in: core/Mobject.ts:467
Parameters
x
number
Returns
this
Inherited from
setY()
setY(
y):this
Defined in: core/Mobject.ts:471
Parameters
y
number
Returns
this
Inherited from
setZ()
setZ(
z):this
Defined in: core/Mobject.ts:475
Parameters
z
number
Returns
this
Inherited from
shift()
shift(
delta):this
Defined in: core/Group.ts:113
Shift all children by the given delta. Only children are shifted (they maintain world-space coordinates). The group's own position is NOT updated to avoid double-counting when getCenter() computes the average of children centers.
Parameters
delta
Translation vector [x, y, z]
Returns
this
this for chaining
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:310
Parameters
factor
number
dim
number
options?
aboutEdge?
aboutPoint?
Returns
this
Inherited from
toCorner()
toCorner(
direction,buff,frameDimensions?):this
Defined in: core/Mobject.ts:509
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:504
Parameters
direction
buff
number = 0.5
frameDimensions?
[number, number]
Returns
this
Inherited from
update()
update(
dt):void
Defined in: core/Mobject.ts:612
Parameters
dt
number
Returns
void