mirror of
https://github.com/3b1b/manim.git
synced 2025-09-01 00:48:45 +00:00
Merge branch 'master' of github.com:3b1b/manim
This commit is contained in:
commit
de0d7c907d
13 changed files with 164 additions and 1 deletions
160
docs/source/animation.rst
Normal file
160
docs/source/animation.rst
Normal file
|
@ -0,0 +1,160 @@
|
||||||
|
Animation
|
||||||
|
=========
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
The simplest of which is ``Scene.add``. The object appears on the first frame
|
||||||
|
without any animation::
|
||||||
|
|
||||||
|
class NoAnimation(Scene):
|
||||||
|
def construct(self):
|
||||||
|
square = Square()
|
||||||
|
self.add(square))
|
||||||
|
|
||||||
|
Animation are used in conjunction with ``scene.Play``
|
||||||
|
|
||||||
|
Fade
|
||||||
|
----
|
||||||
|
|
||||||
|
FadeIn :download:`/assets/AnimationFadeIn.mp4`::
|
||||||
|
|
||||||
|
class AnimationFadeIn(Scene):
|
||||||
|
def construct(self):
|
||||||
|
square = Square()
|
||||||
|
|
||||||
|
anno = TextMobject("Fade In")
|
||||||
|
anno.shift(2 * DOWN)
|
||||||
|
self.add(anno)
|
||||||
|
self.play(FadeIn(square))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
FadeOut :download:`/assets/AnimationFadeOut.mp4`::
|
||||||
|
|
||||||
|
class AnimationFadeOut(Scene):
|
||||||
|
def construct(self):
|
||||||
|
square = Square()
|
||||||
|
|
||||||
|
anno = TextMobject("Fade Out")
|
||||||
|
anno.shift(2 * DOWN)
|
||||||
|
self.add(anno)
|
||||||
|
self.add(square)
|
||||||
|
self.play(FadeOut(square))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
FadeInFrom :download:`/assets/AnimationFadeInFrom.mp4`::
|
||||||
|
|
||||||
|
class AnimationFadeInFrom(Scene):
|
||||||
|
def construct(self):
|
||||||
|
square = Square()
|
||||||
|
for label, edge in zip(
|
||||||
|
["LEFT", "RIGHT", "UP", "DOWN"], [LEFT, RIGHT, UP, DOWN]
|
||||||
|
):
|
||||||
|
anno = TextMobject(f"Fade In from {label}")
|
||||||
|
anno.shift(2 * DOWN)
|
||||||
|
self.add(anno)
|
||||||
|
|
||||||
|
self.play(FadeInFrom(square, edge))
|
||||||
|
self.remove(anno, square)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
FadeOutAndShift :download:`assets/AnimationFadeOutAndShift.mp4`::
|
||||||
|
|
||||||
|
class AnimationFadeOutAndShift(Scene):
|
||||||
|
def construct(self):
|
||||||
|
square = Square()
|
||||||
|
for label, edge in zip(
|
||||||
|
["LEFT", "RIGHT", "UP", "DOWN"], [LEFT, RIGHT, UP, DOWN]
|
||||||
|
):
|
||||||
|
anno = TextMobject(f"Fade Out and shift {label}")
|
||||||
|
anno.shift(2 * DOWN)
|
||||||
|
self.add(anno)
|
||||||
|
|
||||||
|
self.play(FadeOutAndShift(square, edge))
|
||||||
|
self.remove(anno, square)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
FadeInFromLarge :download:`assets/AnimationFadeInFromLarge.mp4`::
|
||||||
|
|
||||||
|
class AnimationFadeInFromLarge(Scene):
|
||||||
|
def construct(self):
|
||||||
|
square = Square()
|
||||||
|
|
||||||
|
for factor in [0.1, 0.5, 0.8, 1, 2, 5]:
|
||||||
|
anno = TextMobject(f"Fade In from large scale\_factor={factor}")
|
||||||
|
anno.shift(2 * DOWN)
|
||||||
|
self.add(anno)
|
||||||
|
|
||||||
|
self.play(FadeInFromLarge(square, scale_factor=factor))
|
||||||
|
self.remove(anno, square)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
FadeInFromPoint :download:`assets/AnimationFadeInFromPoint.mp4`::
|
||||||
|
|
||||||
|
class AnimationFadeInFromPoint(Scene):
|
||||||
|
def construct(self):
|
||||||
|
square = Square()
|
||||||
|
for i in range(-6, 7, 2):
|
||||||
|
anno = TextMobject(f"Fade In from point {i}")
|
||||||
|
anno.shift(2 * DOWN)
|
||||||
|
self.add(anno)
|
||||||
|
self.play(FadeInFromPoint(square, point=i))
|
||||||
|
self.remove(anno, square)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Grow
|
||||||
|
----
|
||||||
|
|
||||||
|
GrowFromEdge :download:`assets/AnimationGrowFromEdge.mp4`::
|
||||||
|
|
||||||
|
class AnimationGrowFromEdge(Scene):
|
||||||
|
def construct(self):
|
||||||
|
|
||||||
|
for label, edge in zip(
|
||||||
|
["LEFT", "RIGHT", "UP", "DOWN"], [LEFT, RIGHT, UP, DOWN]
|
||||||
|
):
|
||||||
|
anno = TextMobject(f"Grow from {label} edge")
|
||||||
|
anno.shift(2 * DOWN)
|
||||||
|
self.add(anno)
|
||||||
|
square = Square()
|
||||||
|
self.play(GrowFromEdge(square, edge))
|
||||||
|
self.remove(anno, square)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
GrowFromCenter :download:`assets/AnimationGrowFromCenter.mp4`::
|
||||||
|
|
||||||
|
class AnimationGrowFromCenter(Scene):
|
||||||
|
def construct(self):
|
||||||
|
square = Square()
|
||||||
|
|
||||||
|
anno = TextMobject("Grow from center")
|
||||||
|
anno.shift(2 * DOWN)
|
||||||
|
self.add(anno)
|
||||||
|
|
||||||
|
self.play(GrowFromCenter(square))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Diagonal Directions
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
You can combine cardinal directions to form diagonal animations :download:`assets/AnimationFadeInFromDiagnal.mp4`::
|
||||||
|
|
||||||
|
class AnimationFadeInFromDiagnal(Scene):
|
||||||
|
def construct(self):
|
||||||
|
square = Square()
|
||||||
|
for diag in [UP + LEFT, UP + RIGHT, DOWN + LEFT, DOWN + RIGHT]:
|
||||||
|
self.play(FadeInFrom(square, diag))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
You can also use the abbreviated forms like ``UL, UR, DL, DR``.
|
||||||
|
See :ref:`ref-directions`.
|
BIN
docs/source/assets/AnimationFadeIn.mp4
Normal file
BIN
docs/source/assets/AnimationFadeIn.mp4
Normal file
Binary file not shown.
BIN
docs/source/assets/AnimationFadeInFrom.mp4
Normal file
BIN
docs/source/assets/AnimationFadeInFrom.mp4
Normal file
Binary file not shown.
BIN
docs/source/assets/AnimationFadeInFromDiagnal.mp4
Normal file
BIN
docs/source/assets/AnimationFadeInFromDiagnal.mp4
Normal file
Binary file not shown.
BIN
docs/source/assets/AnimationFadeInFromLarge.mp4
Normal file
BIN
docs/source/assets/AnimationFadeInFromLarge.mp4
Normal file
Binary file not shown.
BIN
docs/source/assets/AnimationFadeInFromPoint.mp4
Normal file
BIN
docs/source/assets/AnimationFadeInFromPoint.mp4
Normal file
Binary file not shown.
BIN
docs/source/assets/AnimationFadeInFromSmall.mp4
Normal file
BIN
docs/source/assets/AnimationFadeInFromSmall.mp4
Normal file
Binary file not shown.
BIN
docs/source/assets/AnimationFadeOut.mp4
Normal file
BIN
docs/source/assets/AnimationFadeOut.mp4
Normal file
Binary file not shown.
BIN
docs/source/assets/AnimationFadeOutAndShift.mp4
Normal file
BIN
docs/source/assets/AnimationFadeOutAndShift.mp4
Normal file
Binary file not shown.
BIN
docs/source/assets/AnimationGrowFromCenter.mp4
Normal file
BIN
docs/source/assets/AnimationGrowFromCenter.mp4
Normal file
Binary file not shown.
BIN
docs/source/assets/AnimationGrowFromEdge.mp4
Normal file
BIN
docs/source/assets/AnimationGrowFromEdge.mp4
Normal file
Binary file not shown.
|
@ -60,6 +60,8 @@ Render setting presets
|
||||||
854x480 @ 15fps. # Used when the ``-l`` or ``--low_quality`` flag is
|
854x480 @ 15fps. # Used when the ``-l`` or ``--low_quality`` flag is
|
||||||
passed.
|
passed.
|
||||||
|
|
||||||
|
.. _ref-directions:
|
||||||
|
|
||||||
Coordinates
|
Coordinates
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
|
|
|
@ -17,6 +17,7 @@ a pull request there.
|
||||||
about
|
about
|
||||||
installation/index
|
installation/index
|
||||||
getting_started/index
|
getting_started/index
|
||||||
|
animation
|
||||||
constants
|
constants
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue