Skip to main content

Class: ComplexValueTracker

Defined in: mobjects/value-tracker/ValueTracker.ts:249

ComplexValueTracker - Tracks a complex number that can be animated.

Similar to ValueTracker but for complex numbers. The value is stored as {re, im} representing the real and imaginary parts.

Example

// Create a tracker at 1 + 2i
const tracker = new ComplexValueTracker({ re: 1, im: 2 });

// Create a dot that visualizes the complex number
const dot = new Dot();
dot.addUpdater((d) => {
const z = tracker.getValue();
d.moveTo([z.re, z.im, 0]);
});

// Animate to -1 + 0i
timeline.add(tracker.animateTo({ re: -1, im: 0 }, { duration: 2 }));

Extends

Constructors

Constructor

new ComplexValueTracker(value?): ComplexValueTracker

Defined in: mobjects/value-tracker/ValueTracker.ts:257

Create a new ComplexValueTracker.

Parameters

value?

Complex

Initial complex value (default: { re: 0, im: 0 })

Returns

ComplexValueTracker

Overrides

Mobject.constructor

Constructor

new ComplexValueTracker(options?): ComplexValueTracker

Defined in: mobjects/value-tracker/ValueTracker.ts:258

Parameters

options?

ComplexValueTrackerOptions

Returns

ComplexValueTracker

Overrides

Mobject.constructor

Properties

__savedMobjectState

__savedMobjectState: unknown = null

Defined in: core/Mobject.ts:82

JSON-serializable saved state (used by restoreState()).

Inherited from

Mobject.__savedMobjectState


_color

protected _color: string = '#ffffff'

Defined in: core/Mobject.ts:57

Inherited from

Mobject._color


_dirty

_dirty: boolean = true

Defined in: core/Mobject.ts:75

Inherited from

Mobject._dirty


_disableChildZLayering

protected _disableChildZLayering: boolean = false

Defined in: core/Mobject.ts:72

When true, children skip the 2D z-layering offset in _syncToThree.

Inherited from

Mobject._disableChildZLayering


_opacity

protected _opacity: number = 1

Defined in: core/Mobject.ts:68

Inherited from

Mobject._opacity


_style

protected _style: MobjectStyle

Defined in: core/Mobject.ts:73

Inherited from

Mobject._style


_threeObject

_threeObject: Object3D<Object3DEventMap> = null

Defined in: core/Mobject.ts:74

Inherited from

Mobject._threeObject


children

children: Mobject[] = []

Defined in: core/Mobject.ts:52

Inherited from

Mobject.children


createdAtBeginning

createdAtBeginning: boolean = false

Defined in: core/Mobject.ts:56

Inherited from

Mobject.createdAtBeginning


fillOpacity

fillOpacity: number = 0

Defined in: core/Mobject.ts:70

Inherited from

Mobject.fillOpacity


id

readonly id: string

Defined in: core/Mobject.ts:50

Inherited from

Mobject.id


parent

parent: Mobject = null

Defined in: core/Mobject.ts:51

Inherited from

Mobject.parent


position

position: Vector3

Defined in: core/Mobject.ts:53

Inherited from

Mobject.position


rotation

rotation: Euler

Defined in: core/Mobject.ts:54

Inherited from

Mobject.rotation


savedState

savedState: Mobject = null

Defined in: core/Mobject.ts:78

Saved mobject copy (used by Restore animation). Set by saveState().

Inherited from

Mobject.savedState


scaleVector

scaleVector: Vector3

Defined in: core/Mobject.ts:55

Inherited from

Mobject.scaleVector


strokeWidth

strokeWidth: number = 4

Defined in: core/Mobject.ts:69

Inherited from

Mobject.strokeWidth


targetCopy

targetCopy: Mobject = null

Defined in: core/Mobject.ts:80

Target copy used by generateTarget() / MoveToTarget animation.

Inherited from

Mobject.targetCopy

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

Mobject.color


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

Mobject.fillColor


isDirty

Get Signature

get isDirty(): boolean

Defined in: core/Mobject.ts:448

Returns

boolean

Inherited from

Mobject.isDirty


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

Mobject.opacity


style

Get Signature

get style(): MobjectStyle

Defined in: core/Mobject.ts:109

Returns

MobjectStyle

Inherited from

Mobject.style


submobjects

Get Signature

get submobjects(): Mobject[]

Defined in: core/Mobject.ts:123

Returns

Mobject[]

Inherited from

Mobject.submobjects

Methods

_createCopy()

protected _createCopy(): ComplexValueTracker

Defined in: mobjects/value-tracker/ValueTracker.ts:391

Create a copy of this ComplexValueTracker.

Returns

ComplexValueTracker

A new ComplexValueTracker with the same value

Overrides

Mobject._createCopy


_createThreeObject()

protected _createThreeObject(): Object3D

Defined in: mobjects/value-tracker/ValueTracker.ts:399

Create an empty Three.js object (ComplexValueTracker is invisible).

Returns

Object3D

An empty THREE.Group

Overrides

Mobject._createThreeObject


_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

Mobject._getBoundingBox


_getEdgeInDirection()

_getEdgeInDirection(direction): Vector3Tuple

Defined in: core/Mobject.ts:360

Parameters

direction

Vector3Tuple

Returns

Vector3Tuple

Inherited from

Mobject._getEdgeInDirection


_markDirty()

_markDirty(): void

Defined in: core/Mobject.ts:438

Returns

void

Inherited from

Mobject._markDirty


_markDirtyUpward()

_markDirtyUpward(): void

Defined in: core/Mobject.ts:442

Returns

void

Inherited from

Mobject._markDirtyUpward


_syncMaterialToThree()

protected _syncMaterialToThree(): void

Defined in: core/Mobject.ts:436

Returns

void

Inherited from

Mobject._syncMaterialToThree


_syncToThree()

_syncToThree(): void

Defined in: core/Mobject.ts:416

Returns

void

Inherited from

Mobject._syncToThree


add()

add(...mobjects): this

Defined in: core/Mobject.ts:247

Parameters

mobjects

...Mobject[]

Returns

this

Inherited from

Mobject.add


addUpdater()

addUpdater(updater, callOnAdd): this

Defined in: core/Mobject.ts:474

Parameters

updater

UpdaterFunction

callOnAdd

boolean = false

Returns

this

Inherited from

Mobject.addUpdater


alignTo()

alignTo(target, direction): this

Defined in: core/Mobject.ts:345

Parameters

target

Mobject | Vector3Tuple

direction

Vector3Tuple

Returns

this

Inherited from

Mobject.alignTo


animate()

animate(targetValue, options?): Animation

Defined in: mobjects/value-tracker/ValueTracker.ts:375

Alias for animateTo - matches Manim's API.

Parameters

targetValue

Complex

The value to animate to

options?

AnimationOptions

Animation options

Returns

Animation

An animation


animateTo()

animateTo(targetValue, options?): Animation

Defined in: mobjects/value-tracker/ValueTracker.ts:365

Create an animation that smoothly changes the complex value.

Parameters

targetValue

Complex

The value to animate to

options?

AnimationOptions

Animation options (duration, rateFunc, etc.)

Returns

Animation

An animation that can be added to a timeline


applyFunction()

applyFunction(fn): this

Defined in: core/Mobject.ts:504

Parameters

fn

(point) => number[]

Returns

this

Inherited from

Mobject.applyFunction


applyToFamily()

applyToFamily(func): this

Defined in: core/Mobject.ts:462

Parameters

func

(mobject) => void

Returns

this

Inherited from

Mobject.applyToFamily


become()

become(other): this

Defined in: core/Mobject.ts:294

Parameters

other

Mobject

Returns

this

Inherited from

Mobject.become


center()

center(): this

Defined in: core/Mobject.ts:397

Returns

this

Inherited from

Mobject.center


clearUpdaters()

clearUpdaters(): this

Defined in: core/Mobject.ts:486

Returns

this

Inherited from

Mobject.clearUpdaters


copy()

copy(): Mobject

Defined in: core/Mobject.ts:276

Returns

Mobject

Inherited from

Mobject.copy


dispose()

dispose(): void

Defined in: core/Mobject.ts:532

Returns

void

Inherited from

Mobject.dispose


flip()

flip(axis): this

Defined in: core/Mobject.ts:225

Parameters

axis

Vector3Tuple = ...

Returns

this

Inherited from

Mobject.flip


generateTarget()

generateTarget(): Mobject

Defined in: core/Mobject.ts:516

Returns

Mobject

Inherited from

Mobject.generateTarget


getArgument()

getArgument(): number

Defined in: mobjects/value-tracker/ValueTracker.ts:317

Get the argument (phase angle) of the complex number.

Returns

number

The angle in radians


getBottom()

getBottom(): Vector3Tuple

Defined in: core/Mobject.ts:376

Returns

Vector3Tuple

Inherited from

Mobject.getBottom


getBoundingBox()

getBoundingBox(): object

Defined in: core/Mobject.ts:363

Returns

object

depth

depth: number

height

height: number

width

width: number

Inherited from

Mobject.getBoundingBox


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

Mobject.getBounds


getCenter()

getCenter(): Vector3Tuple

Defined in: mobjects/value-tracker/ValueTracker.ts:383

Get the center position (returns the complex number as a 2D point).

Returns

Vector3Tuple

[re, im, 0]

Overrides

Mobject.getCenter


getComplex()

getComplex(): Complex

Defined in: mobjects/value-tracker/ValueTracker.ts:285

Alias for getValue - returns the complex number.

Returns

Complex

The current value as { re, im }


getEdge()

getEdge(direction): Vector3Tuple

Defined in: core/Mobject.ts:370

Parameters

direction

Vector3Tuple

Returns

Vector3Tuple

Inherited from

Mobject.getEdge


getFamily()

getFamily(): Mobject[]

Defined in: core/Mobject.ts:468

Returns

Mobject[]

Inherited from

Mobject.getFamily


getImaginary()

getImaginary(): number

Defined in: mobjects/value-tracker/ValueTracker.ts:301

Get the imaginary part of the value.

Returns

number

The imaginary part


getLeft()

getLeft(): Vector3Tuple

Defined in: core/Mobject.ts:379

Returns

Vector3Tuple

Inherited from

Mobject.getLeft


getMagnitude()

getMagnitude(): number

Defined in: mobjects/value-tracker/ValueTracker.ts:309

Get the magnitude (absolute value) of the complex number.

Returns

number

|z| = sqrt(re^2 + im^2)


getReal()

getReal(): number

Defined in: mobjects/value-tracker/ValueTracker.ts:293

Get the real part of the value.

Returns

number

The real part


getRight()

getRight(): Vector3Tuple

Defined in: core/Mobject.ts:382

Returns

Vector3Tuple

Inherited from

Mobject.getRight


getThreeObject()

getThreeObject(): Object3D

Defined in: core/Mobject.ts:452

Returns

Object3D

Inherited from

Mobject.getThreeObject


getTop()

getTop(): Vector3Tuple

Defined in: core/Mobject.ts:373

Returns

Vector3Tuple

Inherited from

Mobject.getTop


getUpdaters()

getUpdaters(): UpdaterFunction[]

Defined in: core/Mobject.ts:493

Returns

UpdaterFunction[]

Inherited from

Mobject.getUpdaters


getValue()

getValue(): Complex

Defined in: mobjects/value-tracker/ValueTracker.ts:277

Get the current complex value.

Returns

Complex

The current value as { re, im }


hasUpdaters()

hasUpdaters(): boolean

Defined in: core/Mobject.ts:490

Returns

boolean

Inherited from

Mobject.hasUpdaters


incrementValue()

incrementValue(amount): this

Defined in: mobjects/value-tracker/ValueTracker.ts:352

Increment the value by a given complex amount.

Parameters

amount

Complex

The amount to add

Returns

this

this for chaining


moveTo()

moveTo(target, alignedEdge?): this

Defined in: core/Mobject.ts:192

Parameters

target

Mobject | Vector3Tuple

alignedEdge?

Vector3Tuple

Returns

this

Inherited from

Mobject.moveTo


moveToAligned()

moveToAligned(target, alignedEdge?): this

Defined in: core/Mobject.ts:355

Parameters

target

Mobject | Vector3Tuple

alignedEdge?

Vector3Tuple

Returns

this

Inherited from

Mobject.moveToAligned


nextTo()

nextTo(target, direction, buff): this

Defined in: core/Mobject.ts:328

Parameters

target

Mobject | Vector3Tuple

direction

Vector3Tuple = RIGHT

buff

number = 0.25

Returns

this

Inherited from

Mobject.nextTo


prepareForNonlinearTransform()

prepareForNonlinearTransform(numPieces): this

Defined in: core/Mobject.ts:509

Parameters

numPieces

number = 50

Returns

this

Inherited from

Mobject.prepareForNonlinearTransform


remove()

remove(...mobjects): this

Defined in: core/Mobject.ts:260

Parameters

mobjects

...Mobject[]

Returns

this

Inherited from

Mobject.remove


removeUpdater()

removeUpdater(updater): this

Defined in: core/Mobject.ts:480

Parameters

updater

UpdaterFunction

Returns

this

Inherited from

Mobject.removeUpdater


replace()

replace(target, stretch): this

Defined in: core/Mobject.ts:299

Parameters

target

Mobject

stretch

boolean = false

Returns

this

Inherited from

Mobject.replace


restoreState()

restoreState(): boolean

Defined in: core/Mobject.ts:526

Returns

boolean

Inherited from

Mobject.restoreState


rotate()

rotate(angle, axisOrOptions?): this

Defined in: core/Mobject.ts:213

Rotate the mobject around an axis. Delegates to rotateMobject for the heavy lifting.

Parameters

angle

number

axisOrOptions?

Vector3Tuple | { aboutPoint?: Vector3Tuple; axis?: Vector3Tuple; }

Returns

this

Inherited from

Mobject.rotate


rotateAboutOrigin()

rotateAboutOrigin(angle, axis): this

Defined in: core/Mobject.ts:221

Parameters

angle

number

axis

Vector3Tuple = ...

Returns

this

Inherited from

Mobject.rotateAboutOrigin


saveState()

saveState(): this

Defined in: core/Mobject.ts:521

Returns

this

Inherited from

Mobject.saveState


scale()

scale(factor): this

Defined in: core/Mobject.ts:233

Parameters

factor

number | Vector3Tuple

Returns

this

Inherited from

Mobject.scale


setColor()

setColor(color): this

Defined in: core/Mobject.ts:127

Parameters

color

string

Returns

this

Inherited from

Mobject.setColor


setFill()

setFill(color?, opacity?): this

Defined in: core/Mobject.ts:165

Parameters

color?

string

opacity?

number

Returns

this

Inherited from

Mobject.setFill


setFillOpacity()

setFillOpacity(opacity): this

Defined in: core/Mobject.ts:155

Parameters

opacity

number

Returns

this

Inherited from

Mobject.setFillOpacity


setFromPolar()

setFromPolar(r, theta): this

Defined in: mobjects/value-tracker/ValueTracker.ts:340

Set the value using polar coordinates.

Parameters

r

number

Magnitude

theta

number

Angle in radians

Returns

this

this for chaining


setOpacity()

setOpacity(opacity): this

Defined in: core/Mobject.ts:135

Parameters

opacity

number

Returns

this

Inherited from

Mobject.setOpacity


setStrokeWidth()

setStrokeWidth(width): this

Defined in: core/Mobject.ts:145

Parameters

width

number

Returns

this

Inherited from

Mobject.setStrokeWidth


setStyle()

setStyle(style): this

Defined in: core/Mobject.ts:113

Parameters

style

Partial<MobjectStyle>

Returns

this

Inherited from

Mobject.setStyle


setValue()

setValue(value): this

Defined in: mobjects/value-tracker/ValueTracker.ts:326

Set the value directly (without animation).

Parameters

value

Complex

The new complex value

Returns

this

this for chaining


setX()

setX(x): this

Defined in: core/Mobject.ts:385

Parameters

x

number

Returns

this

Inherited from

Mobject.setX


setY()

setY(y): this

Defined in: core/Mobject.ts:389

Parameters

y

number

Returns

this

Inherited from

Mobject.setY


setZ()

setZ(z): this

Defined in: core/Mobject.ts:393

Parameters

z

number

Returns

this

Inherited from

Mobject.setZ


shift()

shift(delta): this

Defined in: core/Mobject.ts:184

Parameters

delta

Vector3Tuple

Returns

this

Inherited from

Mobject.shift


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

Mobject.toCorner


toEdge()

toEdge(direction, buff, frameDimensions?): this

Defined in: core/Mobject.ts:401

Parameters

direction

Vector3Tuple

buff

number = 0.5

frameDimensions?

[number, number]

Returns

this

Inherited from

Mobject.toEdge


update()

update(dt): void

Defined in: core/Mobject.ts:497

Parameters

dt

number

Returns

void

Inherited from

Mobject.update