Skip to main content

Class: Vector

Defined in: mobjects/geometry/Arrow.ts:636

Vector - An Arrow starting from the origin by default

Extends

Constructors

Constructor

new Vector(options): Vector

Defined in: mobjects/geometry/Arrow.ts:637

Parameters

options

Omit<ArrowOptions, "start"> & object = {}

Returns

Vector

Overrides

Arrow.constructor

Properties

__savedMobjectState

__savedMobjectState: unknown = null

Defined in: core/Mobject.ts:95

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

Inherited from

Arrow.__savedMobjectState


_color

protected _color: string = '#ffffff'

Defined in: core/Mobject.ts:70

Inherited from

Arrow._color


_dirty

_dirty: boolean = true

Defined in: core/Mobject.ts:88

Inherited from

Arrow._dirty


_disableChildZLayering

protected _disableChildZLayering: boolean = false

Defined in: core/Mobject.ts:85

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

Inherited from

Arrow._disableChildZLayering


_opacity

protected _opacity: number = 1

Defined in: core/Mobject.ts:81

Inherited from

Arrow._opacity


_style

protected _style: MobjectStyle

Defined in: core/Mobject.ts:86

Inherited from

Arrow._style


_threeObject

_threeObject: Object3D<Object3DEventMap> = null

Defined in: core/Mobject.ts:87

Inherited from

Arrow._threeObject


children

children: Mobject[] = []

Defined in: core/Mobject.ts:65

Inherited from

Arrow.children


createdAtBeginning

createdAtBeginning: boolean = false

Defined in: core/Mobject.ts:69

Inherited from

Arrow.createdAtBeginning


fillOpacity

fillOpacity: number = 0

Defined in: core/Mobject.ts:83

Inherited from

Arrow.fillOpacity


id

readonly id: string

Defined in: core/Mobject.ts:63

Inherited from

Arrow.id


parent

parent: Mobject = null

Defined in: core/Mobject.ts:64

Inherited from

Arrow.parent


position

position: Vector3

Defined in: core/Mobject.ts:66

Inherited from

Arrow.position


rotation

rotation: Euler

Defined in: core/Mobject.ts:67

Inherited from

Arrow.rotation


savedState

savedState: Mobject = null

Defined in: core/Mobject.ts:91

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

Inherited from

Arrow.savedState


scaleVector

scaleVector: Vector3

Defined in: core/Mobject.ts:68

Inherited from

Arrow.scaleVector


strokeWidth

strokeWidth: number = 4

Defined in: core/Mobject.ts:82

Inherited from

Arrow.strokeWidth


targetCopy

targetCopy: Mobject = null

Defined in: core/Mobject.ts:93

Target copy used by generateTarget() / MoveToTarget animation.

Inherited from

Arrow.targetCopy

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

Arrow.animate


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

Arrow.color


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

Arrow.fillColor


isDirty

Get Signature

get isDirty(): boolean

Defined in: core/Mobject.ts:551

Returns

boolean

Inherited from

Arrow.isDirty


length

Get Signature

get length(): number

Defined in: core/Group.ts:268

Get the number of mobjects in this group.

Returns

number

Inherited from

Arrow.length


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

Arrow.opacity


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

Arrow.strokeColor


style

Get Signature

get style(): MobjectStyle

Defined in: core/Mobject.ts:122

Returns

MobjectStyle

Inherited from

Arrow.style


submobjects

Get Signature

get submobjects(): Mobject[]

Defined in: core/Mobject.ts:136

Returns

Mobject[]

Inherited from

Arrow.submobjects

Methods

_createCopy()

protected _createCopy(): Arrow

Defined in: mobjects/geometry/Arrow.ts:376

Create a copy of this Arrow

Returns

Arrow

Inherited from

Arrow._createCopy


_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

Arrow._createThreeObject


_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

Arrow._getBoundingBox


_getEdgeInDirection()

_getEdgeInDirection(direction): Vector3Tuple

Defined in: core/Mobject.ts:442

Parameters

direction

Vector3Tuple

Returns

Vector3Tuple

Inherited from

Arrow._getEdgeInDirection


_markDirty()

_markDirty(): void

Defined in: core/Mobject.ts:541

Returns

void

Inherited from

Arrow._markDirty


_markDirtyUpward()

_markDirtyUpward(): void

Defined in: core/Mobject.ts:545

Returns

void

Inherited from

Arrow._markDirtyUpward


_syncMaterialToThree()

protected _syncMaterialToThree(): void

Defined in: core/Mobject.ts:539

Returns

void

Inherited from

Arrow._syncMaterialToThree


_syncToThree()

_syncToThree(): void

Defined in: core/Mobject.ts:519

Returns

void

Inherited from

Arrow._syncToThree


[iterator]()

[iterator](): Iterator<Mobject>

Defined in: core/Group.ts:284

Iterate over all mobjects in the group.

Returns

Iterator<Mobject>

Inherited from

Arrow.[iterator]


add()

add(mobject): this

Defined in: core/Group.ts:31

Add a mobject to this group.

Parameters

mobject

Mobject

Mobject to add

Returns

this

this for chaining

Inherited from

Arrow.add


addUpdater()

addUpdater(updater, callOnAdd): this

Defined in: core/Mobject.ts:589

Parameters

updater

UpdaterFunction

callOnAdd

boolean = false

Returns

this

Inherited from

Arrow.addUpdater


alignTo()

alignTo(target, direction): this

Defined in: core/Mobject.ts:427

Parameters

target

Mobject | Vector3Tuple

direction

Vector3Tuple

Returns

this

Inherited from

Arrow.alignTo


applyFunction()

applyFunction(fn, options?): this

Defined in: core/Mobject.ts:619

Parameters

fn

(point) => number[]

options?
aboutEdge?

Vector3Tuple

aboutPoint?

Vector3Tuple

Returns

this

Inherited from

Arrow.applyFunction


applyMatrix()

applyMatrix(matrix, options?): this

Defined in: core/Mobject.ts:627

Parameters

matrix

number[][]

options?
aboutEdge?

Vector3Tuple

aboutPoint?

Vector3Tuple

Returns

this

Inherited from

Arrow.applyMatrix


applyToFamily()

applyToFamily(func): this

Defined in: core/Mobject.ts:577

Parameters

func

(mobject) => void

Returns

this

Inherited from

Arrow.applyToFamily


become()

become(other): this

Defined in: core/Mobject.ts:376

Parameters

other

Mobject

Returns

this

Inherited from

Arrow.become


center()

center(): this

Defined in: core/Mobject.ts:479

Returns

this

Inherited from

Arrow.center


clear()

clear(): this

Defined in: core/Group.ts:73

Remove all children from this group.

Returns

this

this for chaining

Inherited from

Arrow.clear


clearUpdaters()

clearUpdaters(): this

Defined in: core/Mobject.ts:601

Returns

this

Inherited from

Arrow.clearUpdaters


copy()

copy(): Mobject

Defined in: core/Mobject.ts:358

Returns

Mobject

Inherited from

Arrow.copy


dispose()

dispose(): void

Defined in: core/Mobject.ts:658

Returns

void

Inherited from

Arrow.dispose


filter()

filter(fn): Group

Defined in: core/Group.ts:312

Filter mobjects in the group.

Parameters

fn

(mobject, index) => boolean

Filter predicate

Returns

Group

New Group with filtered mobjects

Inherited from

Arrow.filter


flip()

flip(axis, options?): this

Defined in: core/Mobject.ts:257

Parameters

axis

Vector3Tuple = ...

options?
aboutEdge?

Vector3Tuple

aboutPoint?

Vector3Tuple

Returns

this

Inherited from

Arrow.flip


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

Arrow.forEach


generateTarget()

generateTarget(): Mobject

Defined in: core/Mobject.ts:642

Returns

Mobject

Inherited from

Arrow.generateTarget


get()

get(index): Mobject

Defined in: core/Group.ts:277

Get a mobject by index.

Parameters

index

number

Index of the mobject

Returns

Mobject

The mobject at the given index, or undefined

Inherited from

Arrow.get


getAngle()

getAngle(): number

Defined in: mobjects/geometry/Arrow.ts:294

Get the angle of the arrow in the XY plane (in radians)

Returns

number

Inherited from

Arrow.getAngle


getBottom()

getBottom(): Vector3Tuple

Defined in: core/Mobject.ts:458

Returns

Vector3Tuple

Inherited from

Arrow.getBottom


getBoundingBox()

getBoundingBox(): object

Defined in: core/Mobject.ts:445

Returns

object

depth

depth: number

height

height: number

width

width: number

Inherited from

Arrow.getBoundingBox


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

Arrow.getBounds


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

Vector3Tuple

Center position as [x, y, z]

Inherited from

Arrow.getCenter


getDirection()

getDirection(): Vector3Tuple

Defined in: mobjects/geometry/Arrow.ts:279

Get the direction vector of the arrow (normalized)

Returns

Vector3Tuple

Inherited from

Arrow.getDirection


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

Arrow.getDisplayMeshes


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

Arrow.getDisplayMeshLength


getEdge()

getEdge(direction): Vector3Tuple

Defined in: core/Mobject.ts:452

Parameters

direction

Vector3Tuple

Returns

Vector3Tuple

Inherited from

Arrow.getEdge


getEnd()

getEnd(): Vector3Tuple

Defined in: mobjects/geometry/Arrow.ts:221

Get the end point (tip of the arrow)

Returns

Vector3Tuple

Inherited from

Arrow.getEnd


getFamily()

getFamily(): Mobject[]

Defined in: core/Mobject.ts:583

Returns

Mobject[]

Inherited from

Arrow.getFamily


getLeft()

getLeft(): Vector3Tuple

Defined in: core/Mobject.ts:461

Returns

Vector3Tuple

Inherited from

Arrow.getLeft


getLength()

getLength(): number

Defined in: mobjects/geometry/Arrow.ts:237

Get the length of the arrow (including tip)

Returns

number

Inherited from

Arrow.getLength


getRight()

getRight(): Vector3Tuple

Defined in: core/Mobject.ts:464

Returns

Vector3Tuple

Inherited from

Arrow.getRight


getStart()

getStart(): Vector3Tuple

Defined in: mobjects/geometry/Arrow.ts:205

Get the start point

Returns

Vector3Tuple

Inherited from

Arrow.getStart


getThreeObject()

getThreeObject(): Object3D

Defined in: core/Mobject.ts:555

Returns

Object3D

Inherited from

Arrow.getThreeObject


getTipLength()

getTipLength(): number

Defined in: mobjects/geometry/Arrow.ts:247

Get the tip length

Returns

number

Inherited from

Arrow.getTipLength


getTipWidth()

getTipWidth(): number

Defined in: mobjects/geometry/Arrow.ts:263

Get the tip width

Returns

number

Inherited from

Arrow.getTipWidth


getTop()

getTop(): Vector3Tuple

Defined in: core/Mobject.ts:455

Returns

Vector3Tuple

Inherited from

Arrow.getTop


getUpdaters()

getUpdaters(): UpdaterFunction[]

Defined in: core/Mobject.ts:608

Returns

UpdaterFunction[]

Inherited from

Arrow.getUpdaters


hasUpdaters()

hasUpdaters(): boolean

Defined in: core/Mobject.ts:605

Returns

boolean

Inherited from

Arrow.hasUpdaters


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

Arrow.map


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

Mobject | Vector3Tuple

alignedEdge?

Vector3Tuple

Optional edge direction to align (e.g., UL aligns upper-left edges)

Returns

this

this for chaining

Inherited from

Arrow.moveTo


moveToAligned()

moveToAligned(target, alignedEdge?): this

Defined in: core/Mobject.ts:437

Parameters

target

Mobject | Vector3Tuple

alignedEdge?

Vector3Tuple

Returns

this

Inherited from

Arrow.moveToAligned


nextTo()

nextTo(target, direction, buff): this

Defined in: core/Mobject.ts:410

Parameters

target

Mobject | Vector3Tuple

direction

Vector3Tuple = RIGHT

buff

number = 0.25

Returns

this

Inherited from

Arrow.nextTo


prepareForNonlinearTransform()

prepareForNonlinearTransform(numPieces): this

Defined in: core/Mobject.ts:635

Parameters

numPieces

number = 50

Returns

this

Inherited from

Arrow.prepareForNonlinearTransform


reconstructTip()

reconstructTip(): void

Defined in: mobjects/geometry/Arrow.ts:303

Rebuild the tip triangle from the shaft's and tip's current (possibly transformed) points. Uses the tip's already-transformed apex so the arrow still points at the exact transformed coordinate, while restoring a clean isosceles triangle shape.

Returns

void

Inherited from

Arrow.reconstructTip


remove()

remove(mobject): this

Defined in: core/Group.ts:56

Remove a mobject from this group.

Parameters

mobject

Mobject

Mobject to remove

Returns

this

this for chaining

Inherited from

Arrow.remove


removeUpdater()

removeUpdater(updater): this

Defined in: core/Mobject.ts:595

Parameters

updater

UpdaterFunction

Returns

this

Inherited from

Arrow.removeUpdater


replace()

replace(target, stretch): this

Defined in: core/Mobject.ts:381

Parameters

target

Mobject

stretch

boolean = false

Returns

this

Inherited from

Arrow.replace


restoreState()

restoreState(): boolean

Defined in: core/Mobject.ts:652

Returns

boolean

Inherited from

Arrow.restoreState


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

Arrow.rotate


rotateAboutOrigin()

rotateAboutOrigin(angle, axis): this

Defined in: core/Mobject.ts:253

Parameters

angle

number

axis

Vector3Tuple = ...

Returns

this

Inherited from

Arrow.rotateAboutOrigin


saveState()

saveState(): this

Defined in: core/Mobject.ts:647

Returns

this

Inherited from

Arrow.saveState


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

Arrow.scale


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

Arrow.setColor


setEnd()

setEnd(point): this

Defined in: mobjects/geometry/Arrow.ts:228

Set the end point (tip of the arrow)

Parameters

point

Vector3Tuple

Returns

this

Inherited from

Arrow.setEnd


setFill()

setFill(color?, opacity?): this

Defined in: core/Mobject.ts:178

Parameters

color?

string

opacity?

number

Returns

this

Inherited from

Arrow.setFill


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

Arrow.setFillOpacity


setStart()

setStart(point): this

Defined in: mobjects/geometry/Arrow.ts:212

Set the start point

Parameters

point

Vector3Tuple

Returns

this

Inherited from

Arrow.setStart


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

Arrow.setStrokeOpacity


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

Arrow.setStrokeWidth


setStyle()

setStyle(style): this

Defined in: core/Mobject.ts:126

Parameters

style

Partial<MobjectStyle>

Returns

this

Inherited from

Arrow.setStyle


setTipLength()

setTipLength(value): this

Defined in: mobjects/geometry/Arrow.ts:254

Set the tip length

Parameters

value

number

Returns

this

Inherited from

Arrow.setTipLength


setTipWidth()

setTipWidth(value): this

Defined in: mobjects/geometry/Arrow.ts:270

Set the tip width

Parameters

value

number

Returns

this

Inherited from

Arrow.setTipWidth


setX()

setX(x): this

Defined in: core/Mobject.ts:467

Parameters

x

number

Returns

this

Inherited from

Arrow.setX


setY()

setY(y): this

Defined in: core/Mobject.ts:471

Parameters

y

number

Returns

this

Inherited from

Arrow.setY


setZ()

setZ(z): this

Defined in: core/Mobject.ts:475

Parameters

z

number

Returns

this

Inherited from

Arrow.setZ


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

Vector3Tuple

Translation vector [x, y, z]

Returns

this

this for chaining

Inherited from

Arrow.shift


stretch()

stretch(factor, dim, options?): this

Defined in: core/Mobject.ts:310

Parameters

factor

number

dim

number

options?
aboutEdge?

Vector3Tuple

aboutPoint?

Vector3Tuple

Returns

this

Inherited from

Arrow.stretch


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

Arrow.toCorner


toEdge()

toEdge(direction, buff, frameDimensions?): this

Defined in: core/Mobject.ts:504

Parameters

direction

Vector3Tuple

buff

number = 0.5

frameDimensions?

[number, number]

Returns

this

Inherited from

Arrow.toEdge


update()

update(dt): void

Defined in: core/Mobject.ts:612

Parameters

dt

number

Returns

void

Inherited from

Arrow.update