Class: PhaseFlow
Defined in: animation/movement/Homotopy.ts:459
Animation that flows a mobject along a vector field. The mobject follows the flow lines defined by the vector field function.
Uses the RK4 ODE solver from utils/ode for accurate numerical integration.
Example
// Circular flow
const flow = new PhaseFlow(dots, {
vectorField: ([x, y, z]) => [-y, x, 0],
virtualTime: 2,
duration: 3,
});
Extends
Constructors
Constructor
new PhaseFlow(
mobject,options):PhaseFlow
Defined in: animation/movement/Homotopy.ts:481
Parameters
mobject
options
Returns
PhaseFlow
Overrides
Properties
_hasBegun
protected_hasBegun:boolean=false
Defined in: animation/Animation.ts:49
Track if begin() has been called
Inherited from
_isFinished
protected_isFinished:boolean=false
Defined in: animation/Animation.ts:46
Whether the animation has finished
Inherited from
_startTime
protected_startTime:number=null
Defined in: animation/Animation.ts:43
Time when the animation started (set by Timeline)
Inherited from
duration
readonlyduration:number
Defined in: animation/Animation.ts:37
Duration of the animation in seconds
Inherited from
mobject
readonlymobject:Mobject
Defined in: animation/Animation.ts:34
The mobject being animated
Inherited from
rateFunc
readonlyrateFunc:RateFunction
Defined in: animation/Animation.ts:40
Rate function controlling the animation's pacing
Inherited from
remover
remover:
boolean=false
Defined in: animation/Animation.ts:55
If true, the scene will remove this mobject after the animation finishes. Used by FadeOut (like Python manim's remover=True).
Inherited from
vectorField
readonlyvectorField:VectorFieldFunction
Defined in: animation/movement/Homotopy.ts:461
The vector field function
virtualTime
readonlyvirtualTime:number
Defined in: animation/movement/Homotopy.ts:464
Virtual time to flow through
Accessors
startTime
Get Signature
get startTime():
number
Defined in: animation/Animation.ts:220
Get the start time of this animation (set by Timeline)
Returns
number
Set Signature
set startTime(
time):void
Defined in: animation/Animation.ts:227
Set the start time of this animation (used by Timeline)
Parameters
time
number
Returns
void
Inherited from
Methods
begin()
begin():
void
Defined in: animation/movement/Homotopy.ts:491
Store the original points at animation start
Returns
void
Overrides
cleanUpFromScene()
cleanUpFromScene(
scene):void
Defined in: animation/Animation.ts:141
Hook called by Scene after the animation finishes, before the next play().
Default: removes mobject if remover is set (FadeOut, Write({remover:true})).
Override for animations that need to mutate scene membership — e.g.
ReplacementTransform swaps source for target.
Parameters
scene
AnimationScene
Returns
void
Inherited from
finish()
finish():
void
Defined in: animation/movement/Homotopy.ts:559
Ensure the final state is exact
Returns
void
Overrides
interpolate()
interpolate(
alpha):void
Defined in: animation/movement/Homotopy.ts:515
Apply the phase flow at the given progress value.
Each point is flowed from its original position for alpha * virtualTime using RK4 integration. The vector field is sampled in WORLD space: local points are lifted through the world matrix, flowed, then pushed back through the inverse. World === local when untransformed.
Parameters
alpha
number
Returns
void
Overrides
isFinished()
isFinished():
boolean
Defined in: animation/Animation.ts:181
Check if the animation has finished
Returns
boolean
Inherited from
reset()
reset():
void
Defined in: animation/Animation.ts:190
Reset the animation to its initial state. Restores the mobject to its pre-animation visual state so that re-seeking (especially backward) produces correct results.
Returns
void
Inherited from
update()
update(
_dt,currentTime):void
Defined in: animation/Animation.ts:158
Update the animation for the current frame.
Parameters
_dt
number
Time delta since last frame (unused, but available for subclasses)
currentTime
number
Current time in the timeline
Returns
void