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:82
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:57
Inherited from
_colorFunc
protected_colorFunc:ColorFunction
Defined in: mobjects/graphing/VectorField.ts:144
Inherited from
_dirty
_dirty:
boolean=true
Defined in: core/Mobject.ts:75
Inherited from
_disableChildZLayering
protected_disableChildZLayering:boolean=false
Defined in: core/Mobject.ts:72
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:73
Inherited from
_threeObject
_threeObject:
Object3D<Object3DEventMap> =null
Defined in: core/Mobject.ts:74
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:52
Inherited from
createdAtBeginning
createdAtBeginning:
boolean=false
Defined in: core/Mobject.ts:56
Inherited from
VectorField.createdAtBeginning
fillOpacity
fillOpacity:
number=0
Defined in: core/Mobject.ts:70
Inherited from
id
readonlyid:string
Defined in: core/Mobject.ts:50
Inherited from
parent
parent:
Mobject=null
Defined in: core/Mobject.ts:51
Inherited from
position
position:
Vector3
Defined in: core/Mobject.ts:53
Inherited from
rotation
rotation:
Euler
Defined in: core/Mobject.ts:54
Inherited from
savedState
savedState:
Mobject=null
Defined in: core/Mobject.ts:78
Saved mobject copy (used by Restore animation). Set by saveState().
Inherited from
scaleVector
scaleVector:
Vector3
Defined in: core/Mobject.ts:55
Inherited from
strokeWidth
strokeWidth:
number=4
Defined in: core/Mobject.ts:69
Inherited from
targetCopy
targetCopy:
Mobject=null
Defined in: core/Mobject.ts:80
Target copy used by generateTarget() / MoveToTarget animation.
Inherited from
Accessors
color
Get Signature
get color():
string
Defined in: core/Mobject.ts:58
Returns
string
Set Signature
set color(
value):void
Defined in: core/Mobject.ts:61
Parameters
value
string
Returns
void
Inherited from
fillColor
Get Signature
get fillColor():
string
Defined in: core/Mobject.ts:171
Returns
string
Set Signature
set fillColor(
color):void
Defined in: core/Mobject.ts:175
Parameters
color
string
Returns
void
Inherited from
isDirty
Get Signature
get isDirty():
boolean
Defined in: core/Mobject.ts:448
Returns
boolean
Inherited from
length
Get Signature
get length():
number
Defined in: core/Group.ts:260
Get the number of mobjects in this group.
Returns
number
Inherited from
opacity
Get Signature
get opacity():
number
Defined in: core/Mobject.ts:101
Returns
number
Set Signature
set opacity(
value):void
Defined in: core/Mobject.ts:105
Parameters
value
number
Returns
void
Inherited from
style
Get Signature
get style():
MobjectStyle
Defined in: core/Mobject.ts:109
Returns
Inherited from
submobjects
Get Signature
get submobjects():
Mobject[]
Defined in: core/Mobject.ts:123
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:367
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:360
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:438
Returns
void
Inherited from
_markDirtyUpward()
_markDirtyUpward():
void
Defined in: core/Mobject.ts:442
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:436
Returns
void
Inherited from
VectorField._syncMaterialToThree
_syncToThree()
_syncToThree():
void
Defined in: core/Mobject.ts:416
Returns
void
Inherited from
[iterator]()
[iterator]():
Iterator<Mobject>
Defined in: core/Group.ts:276
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:474
Parameters
updater
callOnAdd
boolean = false
Returns
this
Inherited from
alignTo()
alignTo(
target,direction):this
Defined in: core/Mobject.ts:345
Parameters
target
direction
Returns
this
Inherited from
applyFunction()
applyFunction(
fn):this
Defined in: core/Mobject.ts:504
Parameters
fn
(point) => number[]
Returns
this
Inherited from
applyToFamily()
applyToFamily(
func):this
Defined in: core/Mobject.ts:462
Parameters
func
(mobject) => void
Returns
this
Inherited from
become()
become(
other):this
Defined in: core/Mobject.ts:294
Parameters
other
Returns
this
Inherited from
center()
center():
this
Defined in: core/Mobject.ts:397
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:486
Returns
this
Inherited from
copy()
copy():
Mobject
Defined in: core/Mobject.ts:276
Returns
Inherited from
dispose()
dispose():
void
Defined in: core/Mobject.ts:532
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:304
Filter mobjects in the group.
Parameters
fn
(mobject, index) => boolean
Filter predicate
Returns
New Group with filtered mobjects
Inherited from
flip()
flip(
axis):this
Defined in: core/Mobject.ts:225
Parameters
axis
Vector3Tuple = ...
Returns
this
Inherited from
forEach()
forEach(
fn):this
Defined in: core/Group.ts:285
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:516
Returns
Inherited from
get()
get(
index):Mobject
Defined in: core/Group.ts:269
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:376
Returns
Inherited from
getBoundingBox()
getBoundingBox():
object
Defined in: core/Mobject.ts:363
Returns
object
depth
depth:
number
height
height:
number
width
width:
number
Inherited from
getBounds()
getBounds():
object
Defined in: core/Mobject.ts:310
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
getEdge()
getEdge(
direction):Vector3Tuple
Defined in: core/Mobject.ts:370
Parameters
direction
Returns
Inherited from
getFamily()
getFamily():
Mobject[]
Defined in: core/Mobject.ts:468
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:379
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:382
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:452
Returns
Object3D
Inherited from
getTop()
getTop():
Vector3Tuple
Defined in: core/Mobject.ts:373
Returns
Inherited from
getUpdaters()
getUpdaters():
UpdaterFunction[]
Defined in: core/Mobject.ts:493
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:490
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:295
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:355
Parameters
target
alignedEdge?
Returns
this
Inherited from
nextTo()
nextTo(
target,direction,buff):this
Defined in: core/Mobject.ts:328
Parameters
target
direction
Vector3Tuple = RIGHT
buff
number = 0.25
Returns
this
Inherited from
prepareForNonlinearTransform()
prepareForNonlinearTransform(
numPieces):this
Defined in: core/Mobject.ts:509
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:480
Parameters
updater
Returns
this
Inherited from
replace()
replace(
target,stretch):this
Defined in: core/Mobject.ts:299
Parameters
target
stretch
boolean = false
Returns
this
Inherited from
restoreState()
restoreState():
boolean
Defined in: core/Mobject.ts:526
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:221
Parameters
angle
number
axis
Vector3Tuple = ...
Returns
this
Inherited from
saveState()
saveState():
this
Defined in: core/Mobject.ts:521
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:165
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
setOpacity()
setOpacity(
opacity):this
Defined in: core/Group.ts:200
Set the opacity of all children.
Parameters
opacity
number
Opacity value (0-1)
Returns
this
this for chaining
Inherited from
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
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:113
Parameters
style
Partial<MobjectStyle>
Returns
this
Inherited from
setX()
setX(
x):this
Defined in: core/Mobject.ts:385
Parameters
x
number
Returns
this
Inherited from
setY()
setY(
y):this
Defined in: core/Mobject.ts:389
Parameters
y
number
Returns
this
Inherited from
setZ()
setZ(
z):this
Defined in: core/Mobject.ts:393
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
toCorner()
toCorner(
direction,buff,frameDimensions?):this
Defined in: core/Mobject.ts:406
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:401
Parameters
direction
buff
number = 0.5
frameDimensions?
[number, number]
Returns
this
Inherited from
update()
update(
dt):void
Defined in: core/Mobject.ts:497
Parameters
dt
number
Returns
void