Class: StreamLines
Defined in: mobjects/graphing/VectorField.ts:644
StreamLines - Streamline visualization for vector fields
Draws curves that follow the flow of the vector field. At every point on a streamline, the tangent is parallel to the vector field.
Example
// Create streamlines for a sink field
const streamlines = new StreamLines({
func: (x, y) => [-x, -y],
numLines: 20,
maxLineLength: 8
});
// Create streamlines with custom start points
const customLines = new StreamLines({
func: (x, y) => [y, -x],
startPoints: [[1, 0], [2, 0], [3, 0], [-1, 0], [-2, 0], [-3, 0]]
});
// Create streamlines with arrows
const arrowLines = new StreamLines({
func: (x, y) => [Math.sin(x), Math.cos(y)],
showArrows: true,
arrowSpacing: 1.5
});
Extends
Constructors
Constructor
new StreamLines(
options):StreamLines
Defined in: mobjects/graphing/VectorField.ts:676
Parameters
options
Returns
StreamLines
Overrides
Properties
__savedMobjectState
__savedMobjectState:
unknown=null
Defined in: core/Mobject.ts:95
JSON-serializable saved state (used by restoreState()).
Inherited from
VectorField.__savedMobjectState
_arrowSpacing
protected_arrowSpacing:number
Defined in: mobjects/graphing/VectorField.ts:652
_color
protected_color:string='#ffffff'
Defined in: core/Mobject.ts:70
Inherited from
_colorFunc
protected_colorFunc:ColorFunction
Defined in: mobjects/graphing/VectorField.ts:144
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
VectorField._disableChildZLayering
_func
protected_func:VectorFunction
Defined in: mobjects/graphing/VectorField.ts:140
Inherited from
_lengthScale
protected_lengthScale:number
Defined in: mobjects/graphing/VectorField.ts:143
Inherited from
_maxLineLength
protected_maxLineLength:number
Defined in: mobjects/graphing/VectorField.ts:647
_maxMagnitude
protected_maxMagnitude:number
Defined in: mobjects/graphing/VectorField.ts:146
Inherited from
_minMagnitude
protected_minMagnitude:number
Defined in: mobjects/graphing/VectorField.ts:145
Inherited from
_minSteps
protected_minSteps:number
Defined in: mobjects/graphing/VectorField.ts:649
_numLines
protected_numLines:number
Defined in: mobjects/graphing/VectorField.ts:645
_opacity
protected_opacity:number
Defined in: mobjects/graphing/VectorField.ts:148
Inherited from
_showArrows
protected_showArrows:boolean
Defined in: mobjects/graphing/VectorField.ts:651
_startPoints
protected_startPoints: [number,number][]
Defined in: mobjects/graphing/VectorField.ts:646
_stepSize
protected_stepSize:number
Defined in: mobjects/graphing/VectorField.ts:648
_strokeWidth
protected_strokeWidth:number
Defined in: mobjects/graphing/VectorField.ts:147
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
_variableWidth
protected_variableWidth:boolean
Defined in: mobjects/graphing/VectorField.ts:650
_xRange
protected_xRange: [number,number,number]
Defined in: mobjects/graphing/VectorField.ts:141
Inherited from
_yRange
protected_yRange: [number,number,number]
Defined in: mobjects/graphing/VectorField.ts:142
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
VectorField.createdAtBeginning
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
virtualTime
Get Signature
get virtualTime():
number
Defined in: mobjects/graphing/VectorField.ts:672
Total virtual time of the simulation (matches Python manim)
Returns
number
Methods
_createCopy()
protected_createCopy():StreamLines
Defined in: mobjects/graphing/VectorField.ts:1163
Create a copy of this StreamLines
Returns
StreamLines
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
VectorField._createThreeObject
_evaluateVector()
protected_evaluateVector(x,y): [number,number]
Defined in: mobjects/graphing/VectorField.ts:208
Evaluate the vector function at a point
Parameters
x
number
X coordinate
y
number
Y coordinate
Returns
[number, number]
Vector [vx, vy] with magnitude constraints applied
Inherited from
_generateGridPoints()
protected_generateGridPoints(): [number,number][]
Defined in: mobjects/graphing/VectorField.ts:188
Generate grid sample points
Returns
[number, number][]
Array of [x, y] coordinates
Inherited from
VectorField._generateGridPoints
_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
_getColor()
protected_getColor(x,y,vx,vy):string
Defined in: mobjects/graphing/VectorField.ts:234
Get the color for a vector at a point
Parameters
x
number
X coordinate
y
number
Y coordinate
vx
number
Vector X component
vy
number
Vector Y component
Returns
string
CSS color string
Inherited from
_getEdgeInDirection()
_getEdgeInDirection(
direction):Vector3Tuple
Defined in: core/Mobject.ts:442
Parameters
direction
Returns
Inherited from
VectorField._getEdgeInDirection
_magnitude()
protected_magnitude(vx,vy):number
Defined in: mobjects/graphing/VectorField.ts:242
Calculate the magnitude of a vector
Parameters
vx
number
vy
number
Returns
number
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
_regenerate()
protected_regenerate():void
Defined in: mobjects/graphing/VectorField.ts:954
Regenerate the vector field
Returns
void
Overrides
_syncMaterialToThree()
protected_syncMaterialToThree():void
Defined in: core/Mobject.ts:539
Returns
void
Inherited from
VectorField._syncMaterialToThree
_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
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
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
endAnimation()
endAnimation():
this
Defined in: mobjects/graphing/VectorField.ts:1129
Stop the continuous flowing animation. Removes the updater and restores all streamlines to their full original bezier points and opacity.
Returns
this
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
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
VectorField.getDisplayMeshLength
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
getFunction()
getFunction():
VectorFunction
Defined in: mobjects/graphing/VectorField.ts:249
Get the vector function
Returns
Inherited from
getLeft()
getLeft():
Vector3Tuple
Defined in: core/Mobject.ts:461
Returns
Inherited from
getLengthScale()
getLengthScale():
number
Defined in: mobjects/graphing/VectorField.ts:289
Get the length scale factor
Returns
number
Inherited from
getMaxLineLength()
getMaxLineLength():
number
Defined in: mobjects/graphing/VectorField.ts:1021
Get the maximum line length
Returns
number
getNumLines()
getNumLines():
number
Defined in: mobjects/graphing/VectorField.ts:989
Get the number of streamlines
Returns
number
getRight()
getRight():
Vector3Tuple
Defined in: core/Mobject.ts:464
Returns
Inherited from
getShowArrows()
getShowArrows():
boolean
Defined in: mobjects/graphing/VectorField.ts:1005
Get whether arrows are shown
Returns
boolean
getStartPoints()
getStartPoints(): [
number,number][]
Defined in: mobjects/graphing/VectorField.ts:971
Get the starting points
Returns
[number, number][]
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
getXRange()
getXRange(): [
number,number,number]
Defined in: mobjects/graphing/VectorField.ts:266
Get the X range
Returns
[number, number, number]
Inherited from
getYRange()
getYRange(): [
number,number,number]
Defined in: mobjects/graphing/VectorField.ts:273
Get the Y range
Returns
[number, number, number]
Inherited from
hasUpdaters()
hasUpdaters():
boolean
Defined in: core/Mobject.ts:605
Returns
boolean
Inherited from
interpolateFunction()
interpolateFunction(
func,alpha):this
Defined in: mobjects/graphing/VectorField.ts:307
Update the vector field for animation purposes Allows smooth updates to the vector function
Parameters
func
New vector function
alpha
number
Interpolation factor (0-1)
Returns
this
Inherited from
VectorField.interpolateFunction
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
prepareForNonlinearTransform()
prepareForNonlinearTransform(
numPieces):this
Defined in: core/Mobject.ts:635
Parameters
numPieces
number = 50
Returns
this
Inherited from
VectorField.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
setFunction()
setFunction(
func):this
Defined in: mobjects/graphing/VectorField.ts:257
Set a new vector function and regenerate the field
Parameters
func
New vector function
Returns
this
Inherited from
setLengthScale()
setLengthScale(
scale):this
Defined in: mobjects/graphing/VectorField.ts:280
Set the length scale factor
Parameters
scale
number
Returns
this
Inherited from
setMaxLineLength()
setMaxLineLength(
length):this
Defined in: mobjects/graphing/VectorField.ts:1012
Set the maximum line length
Parameters
length
number
Returns
this
setNumLines()
setNumLines(
num):this
Defined in: mobjects/graphing/VectorField.ts:978
Set the number of streamlines (only used when startPoints is null)
Parameters
num
number
Returns
this
setShowArrows()
setShowArrows(
show):this
Defined in: mobjects/graphing/VectorField.ts:996
Set whether to show arrows along streamlines
Parameters
show
boolean
Returns
this
setStartPoints()
setStartPoints(
points):this
Defined in: mobjects/graphing/VectorField.ts:962
Set custom starting points
Parameters
points
[number, number][]
Returns
this
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
startAnimation()
startAnimation(
options):this
Defined in: mobjects/graphing/VectorField.ts:1035
Start continuous flowing animation on the streamlines.
Matches Python manim's AnimatedStreamLines / ShowPassingFlash behavior:
each streamline shows only a timeWidth fraction of its path, sliding
along each frame as a bright streak that fades in at the front and out
at the back.
Parameters
options
Animation configuration
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