manim library

Classes

AbstractDisplay
The display can represent the canvas (in HTML) or a window (in native code). It deals with setting up the renderer (AbstractRenderer), and the events (Event). It's an abstract class
AbstractRenderer
Animation
AnimationGroup
AnnularSector
Annulus
Arc
ArcBetweenPoints
Array
Arrow
ArrowTip
Axes
AxisConfig
BackgroundRectangle
Button
Camera
Circle
Color
Completer<T>
A way to produce Future objects and to complete them later with a value or error.
Complex
ComplexPlane
CoordinateSystem
Cross
CubicBezier
CurvedArrow
CurvedDoubleArrow
CurvesAsSubmobjects
DashedLine
DashedVMobject
Dot
DoubleArrow
DraggableMobject
Elbow
Ellipse
EmptyDisplay
EmptyRenderer
Event
EventDispatcher
EventListener<IEvent extends Event>
EventSink<T>
A Sink that supports adding errors.
FadeIn
FadeInFrom
FadeOut
FollowMouseMobject
FunctionGraph
Future<T>
The result of an asynchronous computation.
FutureOr<T>
A type representing values that are either Future<T> or T.
Group
InteractiveMobject
KeyEvent
KeyPressedEvent
KeyReleasedEvent
Line
MathTex
Mobject
MouseButton
MouseDraggedEvent
MouseEvent
MouseMovedEvent
MousePressedEvent
MouseReleasedEvent
MultiStreamController<T>
An enhanced stream controller provided by Stream.multi.
NumberLine
NumberPlane
ParametricFunction
Polygon
Random
A generator of random bool, int, or double values.
Rectangle
RegularPolygon
RoundedRectangle
Scene
Sector
ShowCreation
ShowPartial
SingleStringMathTex
SmallDot
Square
Stream<T>
A source of asynchronous data events.
StreamConsumer<S>
Abstract interface for a "sink" accepting multiple entire streams.
StreamController<T>
A controller with the stream it controls.
StreamIterator<T>
An Iterator-like interface for the values of a Stream.
StreamSink<S>
A object that accepts stream events both synchronously and asynchronously.
StreamSubscription<T>
A subscription on events from a Stream.
StreamTransformer<S, T>
Transforms a Stream.
StreamTransformerBase<S, T>
Base class for implementing StreamTransformer.
StreamView<T>
Stream wrapper that only exposes the Stream interface.
SurroundingRectangle
SVGElementStyle
SVGMobject
SVGPathMobject
SynchronousStreamController<T>
A stream controller that delivers its events synchronously.
TangentLine
Tex
TexSymbol
Timer
A countdown timer that can be configured to fire once or repeatedly.
TipableVMobject
TipStyle
Transform
Triangle
Tuple2<T1, T2>
Represents a 2-tuple, or pair.
Tuple3<T1, T2, T3>
Represents a 3-tuple, or triple.
Tuple4<T1, T2, T3, T4>
Represents a 4-tuple, or quadruple.
Tuple5<T1, T2, T3, T4, T5>
Represents a 5-tuple, or quintuple.
Tuple6<T1, T2, T3, T4, T5, T6>
Represents a 6-tuple, or sextuple.
Tuple7<T1, T2, T3, T4, T5, T6, T7>
Represents a 7-tuple, or septuple.
Underline
UpdateFromAlphaFunc<Mob extends Mobject>
UpdateFromFunc<Mob extends Mobject>
Vector
Vector3
VectorizedPoint
VGroup
VMobject
VMobjectStyle
Zone
A zone represents an environment that remains stable across asynchronous calls.
ZoneDelegate
An adapted view of the parent zone.
ZoneSpecification
A parameter object with custom zone function handlers for Zone.fork.

Extensions

FutureExtensions on Future<T>
Convenience methods on futures.
FutureIterable on Iterable<Future<T>>
FutureRecord2 on (Future<T1>, Future<T2>)
Parallel operations on a record of futures.
FutureRecord3 on (Future<T1>, Future<T2>, Future<T3>)
Parallel operations on a record of futures.
FutureRecord4 on (Future<T1>, Future<T2>, Future<T3>, Future<T4>)
Parallel operations on a record of futures.
FutureRecord5 on (Future<T1>, Future<T2>, Future<T3>, Future<T4>, Future<T5>)
Parallel operations on a record of futures.
FutureRecord6 on (Future<T1>, Future<T2>, Future<T3>, Future<T4>, Future<T5>, Future<T6>)
Parallel operations on a record of futures.
FutureRecord7 on (Future<T1>, Future<T2>, Future<T3>, Future<T4>, Future<T5>, Future<T6>, Future<T7>)
Parallel operations on a record of futures.
FutureRecord8 on (Future<T1>, Future<T2>, Future<T3>, Future<T4>, Future<T5>, Future<T6>, Future<T7>, Future<T8>)
Parallel operations on a record of futures.
FutureRecord9 on (Future<T1>, Future<T2>, Future<T3>, Future<T4>, Future<T5>, Future<T6>, Future<T7>, Future<T8>, Future<T9>)
Parallel operations on a record of futures.

Constants

BLACK → const Color
BLUE → const Color
BLUE_A → const Color
BLUE_B → const Color
BLUE_C → const Color
BLUE_D → const Color
BLUE_E → const Color
DARK_BLUE → const Color
DARK_BROWN → const Color
DARK_GRAY → const Color
DARK_GREY → const Color
DARKER_GRAY → const Color
DARKER_GREY → const Color
DEFAULT_ANIMATION_LAG_RATIO → const double
DEFAULT_ANIMATION_RUN_TIME → const double
DEFAULT_ARROW_TIP_LENGTH → const double
DEFAULT_DASH_LENGTH → const double
DEFAULT_DOT_RADIUS → const double
DEFAULT_MOBJECT_TO_EDGE_BUFFER → const double
DEFAULT_MOBJECT_TO_MOBJECT_BUFFER → const double
DEFAULT_PIXEL_HEIGHT → const int
DEFAULT_PIXEL_WIDTH → const int
DEFAULT_SMALL_DOT_RADIUS → const double
DEFAULT_STROKE_WIDTH → const double
DEGREES → const double
digits → const List<String>
DL → const Vector3
DOWN → const Vector3
DR → const Vector3
e → const double
Base of the natural logarithms.
FRAME_HEIGHT → const double
FRAME_WIDTH → const double
FRAME_X_RADIUS → const double
FRAME_Y_RADIUS → const double
GOLD → const Color
GOLD_A → const Color
GOLD_B → const Color
GOLD_C → const Color
GOLD_D → const Color
GOLD_E → const Color
GRAY → const Color
GREEN → const Color
GREEN_A → const Color
GREEN_B → const Color
GREEN_C → const Color
GREEN_D → const Color
GREEN_E → const Color
GREEN_SCREEN → const Color
GREY → const Color
GREY_BROWN → const Color
IN → const Vector3
LARGE_BUFFER → const double
LEFT → const Vector3
LIGHT_BROWN → const Color
LIGHT_GRAY → const Color
LIGHT_GREY → const Color
LIGHT_PINK → const Color
ln10 → const double
Natural logarithm of 10.
ln2 → const double
Natural logarithm of 2.
MAROON → const Color
MAROON_A → const Color
MAROON_B → const Color
MAROON_C → const Color
MAROON_D → const Color
MAROON_E → const Color
MED_LARGE_BUFFER → const double
MED_SMALL_BUFFER → const double
ORANGE → const Color
ORIGIN → const Vector3
OUT → const Vector3
pi → const double
The PI constant.
PI → const double
PINK → const Color
PURPLE → const Color
PURPLE_A → const Color
PURPLE_B → const Color
PURPLE_C → const Color
PURPLE_D → const Color
PURPLE_E → const Color
RADIANS → const double
RED → const Color
RED_A → const Color
RED_B → const Color
RED_C → const Color
RED_D → const Color
RED_E → const Color
SMALL_BUFFER → const double
sqrt1_2 → const double
Square root of 1/2.
sqrt2 → const double
Square root of 2.
STRAIGHT_PATH_THRESHOLD → const double
TAU → const double
TEAL → const Color
TEAL_A → const Color
TEAL_B → const Color
TEAL_C → const Color
TEAL_D → const Color
TEAL_E → const Color
TEX_MOB_SCALE_FACTOR → const double
TIP_AT_END → const TipSide
TIP_AT_START → const TipSide
TRANSPARENT → const Color
UL → const Vector3
UP → const Vector3
UR → const Vector3
WHITE → const Color
YELLOW → const Color
YELLOW_A → const Color
YELLOW_B → const Color
YELLOW_C → const Color
YELLOW_D → const Color
YELLOW_E → const Color

Properties

listEqual bool Function<T>(Iterable<T> a, Iterable<T> b)
getter/setter pair

Functions

acos(num x) double
Converts x to a double and returns its arc cosine in radians.
adjacentNTuples<T>(List<T> objects, int n) List<List<T>>
adjacentPairs<T>(List<T> objects) List<List<T>>
arange({double start = 0, required double end, double step = 1}) Array
argmax(List<num> array) int
argmin(List<num> array) int
asin(num x) double
Converts x to a double and returns its arc sine in radians.
atan(num x) double
Converts x to a double and returns its arc tangent in radians.
atan2(num a, num b) double
A variant of atan.
batchByProperty<T, B>(List<T> items, B propertyFunc(T)) List<Tuple2<List<T>, B>>
bezier(List<Vector3> points) Vector3 Function(double)
choose(int n, int r, {bool useCache = true}) int
chooseCached(int n, int r) int
clip<T extends num>(T val, T lower, T upper) → T
clockwisePath() PathFunc
colorGradient(List<Color> referenceColors, int outputLength) List<Color>
compassDirections({int numSides = 4, Vector3 startVec = RIGHT}) List<Vector3>
correctOutOfRangeRadii(double rx, double ry, double x1p, double y1p) List<double>
cos(num radians) double
Converts radians to a double and returns the cosine of the value.
counterclockwisePath() PathFunc
diagToMatrix(Tuple2<int, int> lAndU, Array diag) Array
ellipticalArcToCubicBezier(Vector3 v1, double rx, double ry, double phi, double fA, double fS, Vector3 v2) List<Vector3>
enumerate<T>(List<T> list) List<Tuple2<int, T>>
exp(num x) double
Converts x to a double and returns the natural exponent, e, to the power x.
fillDiagonal(Array mat, double val) Array
fillDiagonalWithValues(Array mat, List<double> values) Array
getEllipticalArcCenterParameters(double x1, double y1, double rx, double ry, double phi, double fA, double fS, double x2, double y2) List<double>
getSmoothHandlePoints(List<Vector3> points) Tuple2<List<Vector3>, List<Vector3>>
grouped<T>(List<T> list, int n) List<List<T>>
integerInterpolate(int start, int end, double alpha) Tuple2<int, double>
interpolate<T>(dynamic a, dynamic b, double alpha) → T
interpolateColorList(List<Color> a, List<Color> b, double alpha) List<Color>
interpolateValue<T>(dynamic a, dynamic b, double alpha) → T
isClosed(List<Vector3> points, {double tolerance = 1e-6}) bool
linear(double t, {double? inflection, double? pauseRatio}) double
lineIntersection(List<Vector3> line1, List<Vector3> line2) Vector3
linspace({required double start, required double end, required int count}) Array
ln(num x) double
log(num x, {num base = e}) double
log10(num x) double
log2(num x) double
makeEven<A, B>(List<A> listA, List<B> listB) Tuple2<List<A>, List<B>>
mapValue(num value, num start1, num stop1, num start2, num stop2) double
max<T extends num>(T a, T b) → T
Returns the larger of two numbers.
min<T extends num>(T a, T b) → T
Returns the lesser of two numbers.
partialBezierPoints(List<Vector3> points, double a, double b) List<Vector3>
pathAlongArc(double angle, {Vector3 axis = OUT}) PathFunc
pow(num x, num exponent) num
Returns x to the power of exponent.
quaternionConjugate(Array quat) Array
quaternionFromAngleAxis(double angle, Vector3 axis) Array
quaternionMultiplication(Array q1, Array q2) Array
range({int start = 0, required int end, int step = 1}) List<int>
rotationAboutZ(double angle) Array
rotationMatrix(double angle, Vector3 axis) Array
runScene(Scene scene) → void
runZoned<R>(R body(), {Map<Object?, Object?>? zoneValues, ZoneSpecification? zoneSpecification, Function? onError}) → R
Runs body in its own zone.
runZonedGuarded<R>(R body(), void onError(Object error, StackTrace stack), {Map<Object?, Object?>? zoneValues, ZoneSpecification? zoneSpecification}) → R?
Runs body in its own error zone.
scheduleMicrotask(void callback()) → void
Runs a function asynchronously.
sigmoid(double x) double
sin(num radians) double
Converts radians to a double and returns the sine of the value.
smooth(double t, {double? inflection, double? pauseRatio}) double
sqrt(num x) double
Converts x to a double and returns the positive square root of the value.
straightPath(List<Vector3> a, List<Vector3> b, double alpha) List<Vector3>
stretchListToLength<T>(List<T> list, int length) List<T>
stringToNumbers(String numString) List<double>
sum<T extends num>(List<T> l) → T
tan(num radians) double
Converts radians to a double and returns the tangent of the value.
unawaited(Future<void>? future) → void
Explicitly ignores a future.
unique<T>(List<T> nonUnique) List<T>
vectorAngle(double ux, double uy, double vx, double vy) double
withoutFirst<T>(List<T> list) List<T>
withoutLast<T>(List<T> list) List<T>
withoutRedundancies<T>(List<T> list) List<T>
zToVector(Vector3 vector) Array

Typedefs

BezierTuple = Tuple4<Vector3, Vector3, Vector3, Vector3>
ControllerCallback = void Function()
Type of a stream controller's onListen, onPause and onResume callbacks.
ControllerCancelCallback = FutureOr<void> Function()
Type of stream controller onCancel callbacks.
CreatePeriodicTimerHandler = Timer Function(Zone self, ZoneDelegate parent, Zone zone, Duration period, void f(Timer timer))
The type of a custom Zone.createPeriodicTimer implementation function.
CreateTimerHandler = Timer Function(Zone self, ZoneDelegate parent, Zone zone, Duration duration, void f())
The type of a custom Zone.createTimer implementation function.
ErrorCallbackHandler = AsyncError? Function(Zone self, ZoneDelegate parent, Zone zone, Object error, StackTrace? stackTrace)
The type of a custom Zone.errorCallback implementation function.
EventCallBack<IEvent extends Event> = bool Function(IEvent)
ForkHandler = Zone Function(Zone self, ZoneDelegate parent, Zone zone, ZoneSpecification? specification, Map<Object?, Object?>? zoneValues)
The type of a custom Zone.fork implementation function.
HandleUncaughtErrorHandler = void Function(Zone self, ZoneDelegate parent, Zone zone, Object error, StackTrace stackTrace)
The type of a custom Zone.handleUncaughtError implementation function.
PathFunc = List<Vector3> Function(List<Vector3>, List<Vector3>, double)
PrintHandler = void Function(Zone self, ZoneDelegate parent, Zone zone, String line)
The type of a custom Zone.print implementation function.
RateFunc = double Function(double, {double? inflection, double? pauseRatio})
RegisterBinaryCallbackHandler = ZoneBinaryCallback<R, T1, T2> Function<R, T1, T2>(Zone self, ZoneDelegate parent, Zone zone, R f(T1 arg1, T2 arg2))
The type of a custom Zone.registerBinaryCallback implementation function.
RegisterCallbackHandler = ZoneCallback<R> Function<R>(Zone self, ZoneDelegate parent, Zone zone, R f())
The type of a custom Zone.registerCallback implementation function.
RegisterUnaryCallbackHandler = ZoneUnaryCallback<R, T> Function<R, T>(Zone self, ZoneDelegate parent, Zone zone, R f(T arg))
The type of a custom Zone.registerUnaryCallback implementation function.
RunBinaryHandler = R Function<R, T1, T2>(Zone self, ZoneDelegate parent, Zone zone, R f(T1 arg1, T2 arg2), T1 arg1, T2 arg2)
The type of a custom Zone.runBinary implementation function.
RunHandler = R Function<R>(Zone self, ZoneDelegate parent, Zone zone, R f())
The type of a custom Zone.run implementation function.
RunUnaryHandler = R Function<R, T>(Zone self, ZoneDelegate parent, Zone zone, R f(T arg), T arg)
The type of a custom Zone.runUnary implementation function.
ScheduleMicrotaskHandler = void Function(Zone self, ZoneDelegate parent, Zone zone, void f())
The type of a custom Zone.scheduleMicrotask implementation function.
SubPath = List<Vector3>
Updater = Mobject Function(Mobject, double)
ZoneBinaryCallback<R, T1, T2> = R Function(T1, T2)
ZoneCallback<R> = R Function()
ZoneUnaryCallback<R, T> = R Function(T)

Exceptions / Errors

AsyncError
An error and a stack trace.
DeferredLoadException
Thrown when a deferred library fails to load.
EndSceneEarlyException
ParallelWaitError<V, E>
Error thrown when waiting for multiple futures, when some have errors.
TimeoutException
Thrown when a scheduled timeout happens while waiting for an async result.