├── README.md
├── mobjects.py
└── animations.py
/README.md:
--------------------------------------------------------------------------------
1 | # Manim-Mobjects-and-Animations
2 |
3 | ## Overview
4 |
5 | Manim is an open-source python library for generating videos of Mathematical Visualizations.
6 |
7 | This repo contains code that showcases two of Manim's fundamental resources:
8 | 1. MObjects - the objects that you can move around and transform
9 | 2. Animations - the different things you can do to the MObjects (moving them around, transforming them, etc.)
10 |
11 | [mobjects.py](./mobjects.py) contains code that shows almost all of the mobjects. It shows them one after another with the name at the top. [animations.py](./animations.py) is the same but for almost all of the animations.
12 |
13 | You can use the code as a reference for very simple examples. The Manim Community also has documentation on their website [here (Manim Community)](https://docs.manim.community/en/stable/reference.html).
14 |
15 |
16 | ## Watch On [My YouTube Channel](https://www.youtube.com/channel/UC3xlS5T2M6we94bCsYneNXA):
17 |
18 | ### 56 Manim Mobjects in ONE Video
19 |
20 |
21 |
22 |
23 | ### 88 Manim Animations in ONE Video
24 |
25 |
26 |
27 |
28 |
29 | ## Running the Code
30 | You need to have python and manim set up on your computer. Please search for documentation for [setting up Python](https://www.youtube.com/watch?v=M323OL6K5vs) and visit the [Manim Community website to install Manim](https://docs.manim.community/en/stable/installation.html).
31 |
32 | Here are the versions I am using:
33 | ```
34 | $ python --version
35 | Python 3.10.0
36 |
37 | $ manim --version
38 | Manim Community v0.17.3
39 | ```
40 |
41 | These commands will generate each of the videos if you run them in your Terminal:
42 | ```
43 | $ manim -pql mobjects.py
44 | $ manim -pql animations.py
45 | ```
46 |
--------------------------------------------------------------------------------
/mobjects.py:
--------------------------------------------------------------------------------
1 | from manim import *
2 | import numpy as np
3 |
4 | class AllMObjects(ThreeDScene):
5 | def construct(self):
6 | t = Text("Manim Objects")
7 | t.shift(UP*2.5)
8 |
9 | mobject_list = [
10 | # Geometry
11 | Annulus(),
12 | AnnularSector(),
13 | Arc(),
14 | Circle(),
15 | Dot(),
16 | Ellipse(),
17 | Arrow(),
18 | Vector(),
19 | Square(),
20 | Star(),
21 | Triangle(),
22 | ArrowCircleTip(),
23 |
24 | # Frame
25 | FullScreenRectangle(),
26 | ScreenRectangle(),
27 |
28 | # Graph
29 | Graph(vertices=(1,2,3,4,5), edges=[(1,2), (1,3), (4,2), (3,5), (1,5)]),
30 |
31 | # Graphing
32 | Axes(),
33 | ComplexPlane(),
34 | CoordinateSystem(),
35 | NumberPlane(),
36 | FunctionGraph(lambda x: (-1.0*x)**2),
37 | NumberLine(),
38 | BarChart(values=[1,2,3,4,5]),
39 |
40 | # Logo
41 | ManimBanner(),
42 |
43 | # Matrix
44 | DecimalMatrix([[1.0,2.0],[3.0,4.0]]),
45 | IntegerMatrix([[1,2],[3,4]]),
46 | Matrix([[1,2],[3,4]]),
47 | MobjectMatrix([[Circle(),Square()],[Star(),Triangle()]]),
48 |
49 | # Table
50 | DecimalTable([[1,2,3,4], [5,6,7,8]], row_labels=[Text("Row 1"), Text("Row 2")]),
51 | MathTable([["+", 0, 5, 10],[0, 0, 5, 10],[2, 2, 7, 12],[4, 4, 9, 14]],include_outer_lines=True),
52 | MobjectTable( [ [Circle(), Square()] , [Triangle(), Star()] ] ),
53 |
54 | # Text
55 | Code(file_name="dummy.py", language="Python"),
56 | DecimalNumber(5.5),
57 | Integer(5),
58 | BulletedList("Apple", "Pear", "Grape"),
59 | MathTex(r"\frac{a}{b} = x^{2}"),
60 | SingleStringMathTex(r"\frac{a}{b} = x^{2}"),
61 | Tex("Hello World"),
62 | Title("Here Is a Ttitle"),
63 | MarkupText('Red text is fire!"'),
64 | Paragraph('There once was a man', 'that lived in a van', 'with only one right hand'),
65 | Text("Here is Text"),
66 |
67 | # Types
68 | Point(color=RED),
69 | PointCloudDot(),
70 | ]
71 |
72 | mobject_list_3d = [
73 | ThreeDAxes(),
74 | Dodecahedron(),
75 | Icosahedron(),
76 | Octahedron(),
77 | Tetrahedron(edge_length=2),
78 | Arrow3D(),
79 | Cone(),
80 | Cube(),
81 | Cylinder(),
82 | Dot3D(),
83 | Line3D(start=np.array([-3,-3,-3]), end=np.array([3,3,3])),
84 | Prism(),
85 | Sphere(),
86 | Torus(),
87 | ]
88 |
89 | # Show all 2D MObjects
90 | self.add(t)
91 | self.wait(0.2)
92 | for mobj in mobject_list:
93 | try:
94 | self.play(Transform(t,Text(mobj.name).shift(UP*2.5)), FadeIn(mobj), run_time=0.5)
95 | self.wait(0.5)
96 | self.remove(mobj)
97 | except:
98 | continue
99 |
100 | # Show all 3D MObjects
101 | self.play(Transform(t,Text("Looking at 3D Mobjects...").shift(UP*2.5)), run_time=0.5)
102 | self.wait(1)
103 |
104 | self.begin_3dillusion_camera_rotation(rate=4)
105 | self.wait(2)
106 |
107 | for mobj in mobject_list_3d:
108 | try:
109 | self.play(Transform(t,Text(mobj.name).shift(UP*2.5)), FadeIn(mobj), run_time=0.5)
110 | self.wait(1)
111 | self.remove(mobj)
112 | except:
113 | continue
114 | self.play(FadeOut(t))
115 | self.wait()
116 |
--------------------------------------------------------------------------------
/animations.py:
--------------------------------------------------------------------------------
1 | from manim import *
2 | import numpy as np
3 |
4 | class AllAnimations(Scene):
5 | def construct(self):
6 | text = Text("Animations").shift(UP*2.5)
7 | self.play(Write(text))
8 | self.wait(1)
9 |
10 | self.play(Transform(text,Text("Create").shift(UP*2.5)), run_time=0.5)
11 | start = Star()
12 | self.play(Create(start))
13 | self.play(Transform(text,Text("Uncreate").shift(UP*2.5)), run_time=0.5)
14 | self.play(Uncreate(start))
15 |
16 | self.play(Transform(text,Text("AnimatedBoundary").shift(UP*2.5)), run_time=0.5)
17 | circle = Circle()
18 | animated_boundary = AnimatedBoundary(circle, cycle_rate=3, colors=[RED, GREEN, BLUE])
19 | self.add(circle, animated_boundary)
20 | self.wait(2)
21 | self.remove(circle, animated_boundary)
22 |
23 | self.play(Transform(text,Text("TracedPath").shift(UP*2.5)), run_time=0.5)
24 | dot = Dot(color=RED)
25 | trace = TracedPath(dot.get_center)
26 | self.add(dot, trace)
27 | self.wait(0.5)
28 | self.play(dot.animate.shift(UP), run_time=0.5)
29 | self.play(dot.animate.shift(LEFT), run_time=0.5)
30 | self.play(dot.animate.shift(DOWN+RIGHT), run_time=0.5)
31 | self.remove(dot, trace)
32 |
33 | self.play(Transform(text,Text("AddTextLetterByLetter").shift(UP*2.5)), run_time=0.5)
34 | some_text = Text("Here is a text")
35 | self.play(AddTextLetterByLetter(some_text))
36 | self.play(Transform(text,Text("RemoveTextLetterByLetter").shift(UP*2.5)), run_time=0.5)
37 | self.play(RemoveTextLetterByLetter(some_text))
38 |
39 | self.play(Transform(text,Text("Write").shift(UP*2.5)), run_time=0.5)
40 | some_text = Text("Here is more text")
41 | self.play(Write(some_text))
42 | self.play(Transform(text,Text("Unwrite").shift(UP*2.5)), run_time=0.5)
43 | self.play(Unwrite(some_text))
44 | self.remove(some_text)
45 |
46 | self.play(Transform(text,Text("DrawBorderThenFill").shift(UP*2.5)), run_time=0.5)
47 | square = Square(color=BLUE, fill_opacity=1).set_fill(YELLOW)
48 | self.play(DrawBorderThenFill(square))
49 | self.remove(square)
50 |
51 | self.play(Transform(text,Text("ShowIncreasingSubsets").shift(UP*2.5)), run_time=0.5)
52 | circles = VGroup(
53 | Circle().shift(UP*0.5),
54 | Circle().shift((DOWN+LEFT)*0.5),
55 | Circle().shift((DOWN+RIGHT)*0.5)
56 | )
57 | self.play(ShowIncreasingSubsets(circles))
58 | self.wait()
59 | self.remove(circles)
60 |
61 | self.play(Transform(text,Text("ShowSubmobjectsOneByOne").shift(UP*2.5)), run_time=0.5)
62 | circles2 = VGroup(
63 | Circle().shift(UP*0.5),
64 | Circle().shift((DOWN+LEFT)*0.5),
65 | Circle().shift((DOWN+RIGHT)*0.5)
66 | )
67 | self.play(ShowSubmobjectsOneByOne(circles2))
68 | self.play(Uncreate(circles2))
69 |
70 | self.play(Transform(text,Text("FadeIn").shift(UP*2.5)), run_time=0.5)
71 | square = Square()
72 | self.play(FadeIn(square))
73 | self.play(Transform(text,Text("FadeOut").shift(UP*2.5)), run_time=0.5)
74 | self.play(FadeOut(square))
75 | self.remove(square)
76 |
77 | self.play(Transform(text,Text("GrowArrow").shift(UP*2.5)), run_time=0.5)
78 | arrow = Arrow()
79 | self.play(GrowArrow(arrow))
80 | self.remove(arrow)
81 |
82 | self.play(Transform(text,Text("GrowFromCenter").shift(UP*2.5)), run_time=0.5)
83 | triangle = Triangle()
84 | self.play(GrowFromCenter(triangle))
85 | self.remove(triangle)
86 |
87 | self.play(Transform(text,Text("GrowFromEdge - DOWN").shift(UP*2.5)), run_time=0.5)
88 | squares = [Square() for _ in range(4)]
89 | self.play(GrowFromEdge(squares[0], DOWN))
90 | self.play(Transform(text,Text("GrowFromEdge - RIGHT").shift(UP*2.5)), run_time=0.5)
91 | self.play(GrowFromEdge(squares[1], RIGHT))
92 | self.play(Transform(text,Text("GrowFromEdge - UP").shift(UP*2.5)), run_time=0.5)
93 | self.play(GrowFromEdge(squares[2], UP))
94 | self.play(Transform(text,Text("GrowFromEdge - LEFT").shift(UP*2.5)), run_time=0.5)
95 | self.play(GrowFromEdge(squares[3], LEFT))
96 | self.remove(*squares)
97 |
98 | self.play(Transform(text,Text("GrowFromPoint").shift(UP*2.5)), run_time=0.5)
99 | dot = Dot().shift(UP+RIGHT*2)
100 | star = Star()
101 | self.add(dot)
102 | self.wait(0.5)
103 | self.play(GrowFromPoint(star, dot))
104 | self.remove(dot, star)
105 |
106 | self.play(Transform(text,Text("SpinInFromNothing").shift(UP*2.5)), run_time=0.5)
107 | triangle = Triangle()
108 | self.play(SpinInFromNothing(triangle))
109 | self.remove(triangle)
110 |
111 | self.play(Transform(text,Text("ApplyWave").shift(UP*2.5)), run_time=0.5)
112 | some_text = Text("Mathematical Animations")
113 | self.play(ApplyWave(some_text))
114 | self.play(ApplyWave(some_text, direction=RIGHT))
115 | self.remove(some_text)
116 |
117 | self.play(Transform(text,Text("Circumscribe").shift(UP*2.5)), run_time=0.5)
118 | some_text = Text("Look Here")
119 | self.add(some_text)
120 | self.play(Circumscribe(some_text))
121 | self.play(Circumscribe(some_text, Circle))
122 | self.remove(some_text)
123 |
124 | self.play(Transform(text,Text("Flash").shift(UP*2.5)), run_time=0.5)
125 | some_text = Text("Ta Da").set_color(YELLOW)
126 | self.add(some_text)
127 | self.play(Flash(some_text))
128 | self.remove(some_text)
129 |
130 | self.play(Transform(text,Text("FocusOn").shift(UP*2.5)), run_time=0.5)
131 | some_text = Text("Here!")
132 | self.add(some_text)
133 | self.play(FocusOn(some_text))
134 | self.remove(some_text)
135 |
136 | self.play(Transform(text,Text("Indicate").shift(UP*2.5)), run_time=0.5)
137 | some_text = Text("This is important")
138 | self.play(Indicate(some_text))
139 | self.remove(some_text)
140 |
141 | self.play(Transform(text,Text("Wiggle").shift(UP*2.5)), run_time=0.5)
142 | some_text = Text("THIS")
143 | self.play(Wiggle(some_text))
144 | self.remove(some_text)
145 |
146 | self.play(Transform(text,Text("ShowPassingFlash").shift(UP*2.5)), run_time=0.5)
147 | square = Square()
148 | self.play(ShowPassingFlash(square))
149 | self.remove(square)
150 |
151 | self.play(Transform(text,Text("ShowPassingFlashWithThinningStrokeWidth").shift(UP*2.5)), run_time=0.5)
152 | square = Square()
153 | self.play(ShowPassingFlashWithThinningStrokeWidth(square))
154 | self.remove(square)
155 |
156 | self.play(Transform(text,Text("MoveAlongPath").shift(UP*2.5)), run_time=0.5)
157 | l1 = Line(LEFT+DOWN, RIGHT+UP)
158 | self.add(l1)
159 | d1 = Dot().shift(LEFT+DOWN)
160 | self.play(Create(d1), run_time=0.5)
161 | self.play(MoveAlongPath(d1, l1), rate_func=linear)
162 | self.remove(l1,d1)
163 |
164 | self.play(Transform(text,Text("Rotate").shift(UP*2.5)), run_time=0.5)
165 | star = Star()
166 | self.play(Rotate(star))
167 | self.wait(0.5)
168 | self.remove(star)
169 |
170 | self.play(Transform(text,Text("Rotating").shift(UP*2.5)), run_time=0.5)
171 | square = Square()
172 | self.play(Rotating(square))
173 | self.wait(0.5)
174 | self.remove(square)
175 |
176 | self.play(Transform(text,Text("Broadcast").shift(UP*2.5)), run_time=0.5)
177 | triangle = Triangle()
178 | self.play(Broadcast(triangle))
179 | self.remove(triangle)
180 |
181 | self.play(Transform(text,Text("ChangeSpeed").shift(UP*2.5)), run_time=0.5)
182 | d = Dot().shift(LEFT)
183 | self.play(ChangeSpeed(d.animate.shift(RIGHT*2), speedinfo={0.3: 1, 0.4: 0.1, 0.6: 0.1, 1: 1}, rate_func=linear))
184 | self.remove(d)
185 |
186 | self.play(Transform(text,Text("Transform").shift(UP*2.5)), run_time=0.5)
187 | square = Square()
188 | star = Star()
189 | self.play(Transform(square,star))
190 | self.remove(square,star)
191 |
192 | self.play(Transform(text,Text("ClockwiseTransform").shift(UP*2.5)), run_time=0.5)
193 | square = Square()
194 | star = Star()
195 | self.play(ClockwiseTransform(square,star))
196 | self.remove(square,star)
197 |
198 | self.play(Transform(text,Text("CounterclockwiseTransform").shift(UP*2.5)), run_time=0.5)
199 | square = Square()
200 | star = Star()
201 | self.play(CounterclockwiseTransform(square,star))
202 | self.remove(square,star)
203 |
204 | self.play(Transform(text,Text("CyclicReplace").shift(UP*2.5)), run_time=0.5)
205 | square = Square()
206 | star = Star()
207 | circle = Circle()
208 | triangle = Triangle()
209 | vg = VGroup(square,star,circle,triangle)
210 | vg.arrange(RIGHT)
211 | self.play(CyclicReplace(*vg))
212 | self.wait()
213 | self.remove(square,star,circle,triangle)
214 |
215 | self.play(Transform(text,Text("FadeToColor").shift(UP*2.5)), run_time=0.5)
216 | square = Square(fill_opacity=1).set_fill(RED)
217 | self.play(FadeToColor(square,color=YELLOW))
218 | self.remove(square)
219 |
220 | self.play(Transform(text,Text("FadeTransform").shift(UP*2.5)), run_time=0.5)
221 | square = Square(fill_opacity=1).set_fill(BLUE)
222 | star = Star(fill_opacity=1).set_fill(YELLOW)
223 | self.play(FadeTransform(square,star))
224 | self.remove(square,star)
225 |
226 | self.play(Transform(text,Text("MoveToTarget").shift(UP*2.5)), run_time=0.5)
227 | circle = Circle().shift(LEFT)
228 | circle.generate_target()
229 | circle.move_to(RIGHT)
230 | self.play(MoveToTarget(circle))
231 | self.remove(circle)
232 |
233 | self.play(Transform(text,Text("ReplacementTransform").shift(UP*2.5)), run_time=0.5)
234 | circle = Circle().shift(LEFT)
235 | square = Square().shift(RIGHT)
236 | self.play(ReplacementTransform(circle,square))
237 | self.remove(circle,square)
238 |
239 | self.play(Transform(text,Text("Restore").shift(UP*2.5)), run_time=0.5)
240 | circle = Circle()
241 | square = Square(fill_opacity=1).set_fill(RED).shift(DOWN+RIGHT)
242 | self.play(Create(circle), run_time=0.5)
243 | circle.save_state()
244 | self.wait(0.5)
245 | self.play(Transform(circle,square), run_time=0.3)
246 | self.play(circle.animate.shift(RIGHT), run_time=0.3)
247 | self.play(circle.animate.rotate(0.5), run_time=0.4)
248 | self.wait(0.5)
249 | self.play(Restore(circle))
250 | self.wait(0.2)
251 | self.remove(circle,square)
252 |
253 | self.play(Transform(text,Text("ScaleInPlace").shift(UP*2.5)), run_time=0.5)
254 | square = Square()
255 | self.play(ScaleInPlace(square, scale_factor=2))
256 | self.remove(square)
257 |
258 | self.play(Transform(text,Text("ShrinkToCenter").shift(UP*2.5)), run_time=0.5)
259 | square = Square()
260 | self.play(ShrinkToCenter(square))
261 | self.remove(square)
262 |
263 | self.play(Transform(text,Text("TransformMatchingShapes").shift(UP*2.5)), run_time=0.5)
264 | source_text = Text("tom marvolo riddle")
265 | dest_text = Text("lord voldemort")
266 | self.play(Write(source_text))
267 | self.wait(0.5)
268 | self.play(TransformMatchingShapes(source_text, dest_text, path_arc=PI/2))
269 | self.wait(0.5)
270 | self.remove(source_text,dest_text)
271 |
272 | self.play(Transform(text,Text("TransformMatchingTex").shift(UP*2.5)), run_time=0.5)
273 | eq1 = MathTex("{{a}}^2", "+", "{{b}}^2", "=", "{{c}}^2")
274 | eq2 = MathTex("{{a}}^2", "+", "-{{c}}^2", "=", "-{{b}}^2")
275 | self.add(eq1)
276 | self.wait(0.5)
277 | self.play(TransformMatchingTex(eq1, eq2, path_arc=PI/2))
278 | self.wait(0.5)
279 | self.remove(eq1,eq2)
280 |
281 | self.play(Transform(text,Text("animate.shift").shift(UP*2.5)), run_time=0.5)
282 | circle = Circle()
283 | self.play(circle.animate.shift(UP), run_time=0.5)
284 | self.play(circle.animate.shift(DOWN), run_time=0.5)
285 | self.play(circle.animate.shift(LEFT), run_time=0.5)
286 | self.play(circle.animate.shift(RIGHT), run_time=0.5)
287 | self.remove(circle)
288 |
289 | self.play(Transform(text,Text("animate.set_fill").shift(UP*2.5)), run_time=0.5)
290 | square = Square(fill_opacity=1)
291 | self.play(square.animate.set_fill(RED))
292 | self.remove(square)
293 |
294 | self.play(Transform(text,Text("animate.rotate").shift(UP*2.5)), run_time=0.5)
295 | triangle = Triangle(fill_opacity=1)
296 | self.play(triangle.animate.rotate(PI))
297 | self.remove(triangle)
298 |
299 | self.play(Transform(text,Text("animate.scale").shift(UP*2.5)), run_time=0.5)
300 | square = Square()
301 | self.play(square.animate.scale(scale_factor=1.5))
302 | self.remove(square)
303 |
304 | self.play(Transform(text,Text("animate.rotate_about_origin").shift(UP*2.5)), run_time=0.5)
305 | star = Star().shift(RIGHT*2)
306 | self.play(star.animate.rotate_about_origin(PI))
307 | self.remove(star)
308 |
309 | self.play(Transform(text,Text("animate.rotate").shift(UP*2.5)), run_time=0.5)
310 | triangle = Triangle()
311 | self.play(triangle.animate.rotate(PI))
312 | self.remove(triangle)
313 |
314 | self.play(Transform(text,Text("animate.flip").shift(UP*2.5)), run_time=0.5)
315 | triangle = Triangle()
316 | self.play(triangle.animate.flip())
317 | self.remove(triangle)
318 |
319 | self.play(Transform(text,Text("animate.stretch").shift(UP*2.5)), run_time=0.5)
320 | circle = Circle()
321 | self.play(circle.animate.stretch(2,1))
322 | self.remove(circle)
323 |
324 | self.play(Transform(text,Text("animate.wag").shift(UP*2.5)), run_time=0.5)
325 | square = Square()
326 | self.play(square.animate.wag())
327 | self.remove(square)
328 |
329 | self.play(Transform(text,Text("animate.pose_at_angle").shift(UP*2.5)), run_time=0.5)
330 | square = Square()
331 | self.play(square.animate.pose_at_angle())
332 | self.remove(square)
333 |
334 | self.play(Transform(text,Text("animate.center").shift(UP*2.5)), run_time=0.5)
335 | square = Square().shift(LEFT*2)
336 | self.play(square.animate.center())
337 | self.remove(square)
338 |
339 | self.play(Transform(text,Text("animate.align_on_border").shift(UP*2.5)), run_time=0.5)
340 | square = Square().shift(LEFT*2)
341 | self.play(square.animate.align_on_border(direction=np.array([0,1,0])))
342 | self.remove(square)
343 |
344 | self.play(Transform(text,Text("animate.to_corner").shift(UP*2.5)), run_time=0.5)
345 | square = Square().shift(LEFT*2)
346 | self.play(square.animate.to_corner())
347 | self.remove(square)
348 |
349 | self.play(Transform(text,Text("animate.to_edge").shift(UP*2.5)), run_time=0.5)
350 | square = Square().shift(LEFT*2)
351 | self.play(square.animate.to_edge())
352 | self.remove(square)
353 |
354 | self.play(Transform(text,Text("animate.next_to").shift(UP*2.5)), run_time=0.5)
355 | dot = Dot().shift((RIGHT+UP)*2)
356 | square = Square().shift(LEFT*2)
357 | self.add(dot)
358 | self.play(square.animate.next_to(dot))
359 | self.remove(square,dot)
360 |
361 | self.play(Transform(text,Text("animate.scale_to_fit_width").shift(UP*2.5)), run_time=0.5)
362 | square = Square()
363 | self.play(square.animate.scale_to_fit_width(5))
364 | self.remove(square)
365 |
366 | self.play(Transform(text,Text("animate.stretch_to_fit_width").shift(UP*2.5)), run_time=0.5)
367 | square = Square()
368 | self.play(square.animate.stretch_to_fit_width(5))
369 | self.remove(square)
370 |
371 | self.play(Transform(text,Text("animate.scale_to_fit_height").shift(UP*2.5)), run_time=0.5)
372 | square = Square()
373 | self.play(square.animate.scale_to_fit_height(3))
374 | self.remove(square)
375 |
376 | self.play(Transform(text,Text("animate.stretch_to_fit_height").shift(UP*2.5)), run_time=0.5)
377 | square = Square()
378 | self.play(square.animate.stretch_to_fit_height(3))
379 | self.remove(square)
380 |
381 | self.play(Transform(text,Text("animate.set_coord").shift(UP*2.5)), run_time=0.5)
382 | square = Square()
383 | self.play(square.animate.set_coord(-1,0))
384 | self.remove(square)
385 |
386 | self.play(Transform(text,Text("animate.set_x").shift(UP*2.5)), run_time=0.5)
387 | square = Square()
388 | self.play(square.animate.set_x(-1))
389 | self.remove(square)
390 |
391 | self.play(Transform(text,Text("animate.set_y").shift(UP*2.5)), run_time=0.5)
392 | square = Square()
393 | self.play(square.animate.set_y(-1))
394 | self.remove(square)
395 |
396 | self.play(Transform(text,Text("animate.space_out_submobjects").shift(UP*2.5)), run_time=0.5)
397 | circle = Circle()
398 | star = Star()
399 | circle.add(star)
400 | self.play(circle.animate.space_out_submobjects(factor=2))
401 | self.remove(circle,star)
402 |
403 | self.play(Transform(text,Text("animate.move_to").shift(UP*2.5)), run_time=0.5)
404 | circle = Circle()
405 | self.play(circle.animate.move_to(RIGHT+UP))
406 | self.remove(circle)
407 |
408 | self.play(Transform(text,Text("animate.replace").shift(UP*2.5)), run_time=0.5)
409 | circle = Circle().shift(LEFT)
410 | star = Star().shift(RIGHT)
411 | self.add(circle, star)
412 | self.play(circle.animate.replace(star))
413 | self.remove(circle,star)
414 |
415 | self.play(Transform(text,Text("animate.surround").shift(UP*2.5)), run_time=0.5)
416 | circle = Circle().shift(LEFT)
417 | star = Star().shift(RIGHT)
418 | self.add(circle,star)
419 | self.play(circle.animate.surround(star))
420 | self.remove(circle,star)
421 |
422 | self.play(Transform(text,Text("animate.add_background_rectangle").shift(UP*2.5)), run_time=0.5)
423 | square = Square()
424 | self.add(square)
425 | self.play(square.animate.add_background_rectangle())
426 | self.remove(square)
427 |
428 | self.play(Transform(text,Text("animate.set_color").shift(UP*2.5)), run_time=0.5)
429 | square = Square(fill_opacity=1)
430 | self.add(square)
431 | self.play(square.animate.set_color(BLUE))
432 | self.remove(square)
433 |
434 | self.play(Transform(text,Text("animate.set_color_by_gradient").shift(UP*2.5)), run_time=0.5)
435 | square = Square(fill_opacity=1)
436 | self.add(square)
437 | self.play(square.animate.set_color_by_gradient(RED,BLUE,YELLOW))
438 | self.remove(square)
439 |
440 | self.play(Transform(text,Text("animate.fade_to").shift(UP*2.5)), run_time=0.5)
441 | square = Square(fill_opacity=1).set_fill(RED)
442 | self.add(square)
443 | self.play(square.animate.fade_to(GREEN, 0.5))
444 | self.remove(square)
445 |
446 | self.play(Transform(text,Text("animate.fade").shift(UP*2.5)), run_time=0.5)
447 | square = Square(fill_opacity=1).set_fill(RED)
448 | self.add(square)
449 | self.play(square.animate.fade())
450 | self.remove(square)
451 |
452 | self.play(Transform(text,Text("animate.match_color").shift(UP*2.5)), run_time=0.5)
453 | circle = Circle(fill_opacity=1).set_fill(RED).shift(LEFT*2)
454 | square = Square(fill_opacity=1).shift(RIGHT*2)
455 | self.add(circle)
456 | self.play(Create(square))
457 | self.play(square.animate.match_color(circle))
458 | self.remove(square,circle)
459 |
460 | self.play(Transform(text,Text("animate.match_dim_size").shift(UP*2.5)), run_time=0.5)
461 | circle = Circle().scale(2)
462 | square = Square()
463 | self.add(circle,square)
464 | self.play(square.animate.match_dim_size(circle, 0))
465 | self.remove(square,circle)
466 |
467 | self.play(Transform(text,Text("animate.match_width").shift(UP*2.5)), run_time=0.5)
468 | circle = Circle().scale(2)
469 | square = Square()
470 | self.add(circle,square)
471 | self.play(square.animate.match_width(circle))
472 | self.remove(square,circle)
473 |
474 | self.play(Transform(text,Text("animate.match_height").shift(UP*2.5)), run_time=0.5)
475 | circle = Circle().scale(2)
476 | square = Square()
477 | self.add(circle,square)
478 | self.play(square.animate.match_height(circle))
479 | self.remove(square,circle)
480 |
481 | self.play(Transform(text,Text("animate.match_x").shift(UP*2.5)), run_time=0.5)
482 | dot = Dot().shift((LEFT+UP)*2)
483 | star = Star()
484 | self.add(dot,star)
485 | self.play(star.animate.match_x(dot))
486 | self.remove(star,dot)
487 |
488 | self.play(Transform(text,Text("animate.match_y").shift(UP*2.5)), run_time=0.5)
489 | dot = Dot().shift((LEFT+UP)*2)
490 | star = Star()
491 | self.add(dot,star)
492 | self.play(star.animate.match_y(dot))
493 | self.remove(star,dot)
494 |
495 | self.play(Transform(text,Text("animate.arrange").shift(UP*2.5)), run_time=0.5)
496 | t1 = Text("3").shift(LEFT)
497 | t2 = Text("1")
498 | t3 = Text("2").shift(RIGHT)
499 | vg = VGroup(t2,t3,t1)
500 | self.add(t2,t3,t1)
501 | self.wait(0.5)
502 | self.play(vg.animate.arrange(buff=1.0))
503 | self.remove(t1,t2,t3)
504 |
505 | self.play(Transform(text,Text("animate.arrange_in_grid").shift(UP*2.5)), run_time=0.5)
506 | boxes=VGroup(*[Square().scale(0.5) for s in range(0,6)])
507 | boxes.arrange(buff=1.0)
508 | self.add(*boxes)
509 | self.wait(0.5)
510 | self.play(boxes.animate.arrange_in_grid(rows=2, buff=0.5))
511 | self.remove(*boxes)
512 |
513 | self.play(Transform(text,Text("animate.become").shift(UP*2.5)), run_time=0.5)
514 | circ = Circle(fill_color=RED, fill_opacity=0.8).shift(RIGHT*1.5)
515 | square = Square(fill_color=BLUE, fill_opacity=0.2).shift(LEFT*1.5)
516 | self.add(circ,square)
517 | self.wait(0.5)
518 | self.play(circ.animate.become(square))
519 | self.remove(circ,square)
520 |
521 | self.play(Transform(text,Text("animate.match_points").shift(UP*2.5)), run_time=0.5)
522 | circ = Circle(fill_color=RED, fill_opacity=0.8).shift(RIGHT*1.5)
523 | square = Square(fill_color=BLUE, fill_opacity=0.2).shift(LEFT*1.5)
524 | self.add(circ,square)
525 | self.wait(0.5)
526 | self.play(circ.animate.match_points(square))
527 | self.wait(0.5)
528 | self.play(FadeOut(circ),FadeOut(square))
529 |
530 | self.wait(0.5)
531 | self.play(FadeOut(text))
532 | self.wait()
533 |
534 |
535 |
536 |
537 |
538 |
539 |
540 |
541 |
542 |
543 |
--------------------------------------------------------------------------------