Class: VectorField
Defined in: mobjects/graphing/VectorField.ts:139
VectorField - Base class for vector field visualizations
Provides common functionality for vector fields including:
- Grid generation for sample points
- Vector function evaluation
- Color computation based on magnitude
- Magnitude scaling
Example
// Create a radial vector field
const field = new VectorField({
func: (x, y) => [x, y],
xRange: [-3, 3, 0.5],
yRange: [-2, 2, 0.5]
});
Extends
Extended by
Constructors
Constructor
new VectorField(
options):VectorField
Defined in: mobjects/graphing/VectorField.ts:150
Parameters
options
Returns
VectorField
Overrides
Properties
__savedMobjectState
__savedMobjectState:
unknown=null
Defined in: core/Mobject.ts:82
JSON-serializable saved state (used by restoreState()).
Inherited from
_color
protected_color:string='#ffffff'
Defined in: core/Mobject.ts:57
Inherited from
_colorFunc
protected_colorFunc:ColorFunction
Defined in: mobjects/graphing/VectorField.ts:144
_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
_func
protected_func:VectorFunction
Defined in: mobjects/graphing/VectorField.ts:140
_lengthScale
protected_lengthScale:number
Defined in: mobjects/graphing/VectorField.ts:143
_maxMagnitude
protected_maxMagnitude:number
Defined in: mobjects/graphing/VectorField.ts:146
_minMagnitude
protected_minMagnitude:number
Defined in: mobjects/graphing/VectorField.ts:145
_opacity
protected_opacity:number
Defined in: mobjects/graphing/VectorField.ts:148
Overrides
_strokeWidth
protected_strokeWidth:number
Defined in: mobjects/graphing/VectorField.ts:147
_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
_xRange
protected_xRange: [number,number,number]
Defined in: mobjects/graphing/VectorField.ts:141
_yRange
protected_yRange: [number,number,number]
Defined in: mobjects/graphing/VectorField.ts:142
children
children:
Mobject[] =[]
Defined in: core/Mobject.ts:52
Inherited from
createdAtBeginning
createdAtBeginning:
boolean=false
Defined in: core/Mobject.ts:56
Inherited from
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
Methods
_createCopy()
protected_createCopy():VectorField
Defined in: mobjects/graphing/VectorField.ts:321
Create a copy of this VectorField
Returns
VectorField
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
_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
_generateGridPoints()
protected_generateGridPoints(): [number,number][]
Defined in: mobjects/graphing/VectorField.ts:188
Generate grid sample points
Returns
[number, number][]
Array of [x, y] coordinates
_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
_getEdgeInDirection()
_getEdgeInDirection(
direction):Vector3Tuple
Defined in: core/Mobject.ts:360
Parameters
direction
Returns
Inherited from
_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
_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:296
Regenerate the vector field (to be overridden by subclasses)
Returns
void
_syncMaterialToThree()
protected_syncMaterialToThree():void
Defined in: core/Mobject.ts:436
Returns
void
Inherited from
_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
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
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
getRight()
getRight():
Vector3Tuple
Defined in: core/Mobject.ts:382
Returns
Inherited from
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]
getYRange()
getYRange(): [
number,number,number]
Defined in: mobjects/graphing/VectorField.ts:273
Get the Y range
Returns
[number, number, number]
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
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
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: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
setLengthScale()
setLengthScale(
scale):this
Defined in: mobjects/graphing/VectorField.ts:280
Set the length scale factor
Parameters
scale
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
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
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